本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
執行個體資料包 (aws_opsworks_instance)
重要
該 AWS OpsWorks Stacks 服務於 2024 年 5 月 26 日終止使用壽命,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載移轉至其他解決方案。如果您對移轉有任何疑問,請透過 AWS Re: post
代表執行個體的設定。
下列範例示範如何使用 Chef 搜尋搜尋單一資料包項目及多個資料包項目,將執行個體的主機名稱和 ID 寫入 Chef 日誌:
instance = search("aws_opsworks_instance").first Chef::Log.info("********** The instance's hostname is '#{instance['hostname']}' **********") Chef::Log.info("********** The instance's ID is '#{instance['instance_id']}' **********") search("aws_opsworks_instance").each do |instance| Chef::Log.info("********** The instance's hostname is '#{instance['hostname']}' **********") Chef::Log.info("********** The instance's ID is '#{instance['instance_id']}' **********") end
下列範例顯示使用 Chef 搜尋來搜尋多個資料袋項目的不同方式,以尋找包含指定 Amazon EC2 執行個體 ID 的資料袋項目。範例接著會使用資料包項目的內容將對應執行個體的公有 IP 地址寫入 Chef 日誌:
instance = search("aws_opsworks_instance", "ec2_instance_id:i-12345678").first Chef::Log.info("********** For instance '#{instance['ec2_instance_id']}', the instance's public IP address is '#{instance['public_ip']}' **********") search("aws_opsworks_instance").each do |instance| if instance['ec2_instance_id'] == 'i-12345678' Chef::Log.info("********** For instance '#{instance['ec2_instance_id']}', the instance's public IP address is '#{instance['public_ip']}' **********") end end
以下範例示範如何使用 Chef 搜尋以 self:true
尋找包含與執行配方之執行個體相關資訊的資料包項目。然後,範例會使用資料包項目的內容,將訊息寫入 Chef 記錄檔,其中包含對應執行個體的 AWS OpsWorks 堆疊產生 ID 和執行個體的公用 IP 位址:
instance = search("aws_opsworks_instance", "self:true").first Chef::Log.info("********** For instance '#{instance['instance_id']}', the instance's public IP address is '#{instance['public_ip']}' **********")
- ami_id
-
執行個體的 AMI (Amazon Machine Image) ID (字串)。
- 架構
-
執行個體的架構,一律設為
"x86_64"
(字串)。 - auto_scaling_type
-
執行個體的擴展類型:
null
、timer
或load
(字串)。 - availability_zone
-
執行個體的可用區域 (AZ),例如
"us-west-2a"
(字串)。 - created_at
-
執行個體的建立時間,使用 UTC
"
格式 (字串)。例如,yyyy
-mm
-ddd
Thh
:mm
:ss
+hh
:mm
""2013-10-01T08:35:22+00:00"
對應到 2013 年 10 月 10 日 8:35:22,無時區位移。如需詳細資訊,請參閱 ISO 8601。 - ebs_optimized
-
執行個體是否為 EBS 最佳化 (布林值)。
- ec2_instance_id
-
EC2 執行個體 ID (字串)。
- elastic_ip
-
彈性 IP 地址,若執行個體沒有彈性 IP 地址,則設為
"null"
(字串)。 - hostname
-
主機名稱,例如
"demo1"
(字串)。 - instance_id
-
執行個體 ID,也就是 AWS OpsWorks 堆疊產生的 GUID,可唯一識別執行個體 (字串)。
- instance_type
-
執行個體類型,例如
"c1.medium"
(字串)。 - layer_ids
-
執行個體 layer 的清單,以其唯一 ID 識別。例如:
307ut64c-c7e4-40cc-52f0-67d5k1f9992c
。 - os
-
執行個體的作業系統 (字串)。有效值包含:
-
"Amazon Linux 2"
-
"Amazon Linux 2018.03"
-
"Amazon Linux 2017.09"
-
"Amazon Linux 2017.03"
-
"Amazon Linux 2016.09"
-
"Custom"
-
"Microsoft Windows Server 2022 Base"
-
"Microsoft Windows Server 2022 with SQL Server Express"
-
"Microsoft Windows Server 2022 with SQL Server Standard"
-
"Microsoft Windows Server 2022 with SQL Server Web"
-
"Microsoft Windows Server 2019 Base"
-
"Microsoft Windows Server 2019 with SQL Server Express"
-
"Microsoft Windows Server 2019 with SQL Server Standard"
-
"Microsoft Windows Server 2019 with SQL Server Web"
-
"CentOS 7"
-
"Red Hat Enterprise Linux 7"
-
"Ubuntu 20.04 LTS"
-
"Ubuntu 18.04 LTS"
-
"Ubuntu 16.04 LTS"
-
"Ubuntu 14.04 LTS"
-
- private_dns
-
私有 DNS 名稱 (字串)。
- private_ip
-
私有 IP 地址 (字串)。
- public_dns
-
公有 DNS 名稱 (字串)。
- public_ip
-
公有 IP 地址 (字串)。
- root_device_type
-
根設備類型 (字串)。有效值包含:
-
"ebs
-
"instance-store"
-
- root_device_volume_id
-
根設備的磁碟區 ID (字串)。
- self
-
若此資料包項目包含執行配方之執行個體的相關資訊,則為
true
。否則為false
(布林值)。此值僅適用於配方,而不能透過 AWS OpsWorks 堆疊 API 使用。 - ssh_host_dsa_key_fingerprint
-
位元組的短序列,用來識別較長的 DSA 公有金鑰 (字串)。
- ssh_host_dsa_key_private
-
由 DSA 為執行個體 SSH 身分驗證產生的私有金鑰 (字串)。
- ssh_host_dsa_key_public
-
由 DSA 為執行個體 SSH 身分驗證產生的公有金鑰 (字串)。
- ssh_host_rsa_key_fingerprint
-
位元組的短序列,用來識別較長的 RSA 公有金鑰 (字串)。
- ssh_host_rsa_key_private
-
由 RSA 為執行個體 SSH 身分驗證產生的私有金鑰 (字串)。
- ssh_host_rsa_key_public
-
由 RSA 為執行個體 SSH 身分驗證產生的公有金鑰 (字串)。
- status
-
執行個體的狀態 (字串)。有效值包含:
-
"requested"
-
"booting"
-
"running_setup"
-
"online"
-
"setup_failed"
-
"start_failed"
-
"terminating"
-
"terminated"
-
"stopped"
-
"connection_lost"
-
- subnet_id
-
執行個體的子網路 ID (字串)。
- virtualization_type
-
執行個體的虛擬化類型 (字串)。