本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
实例数据包 (aws_opsworks_instance)
重要
该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止,新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问,请通过 re AWS : Post 或通过 Pre
表示实例的设置。
以下示例演示了如何使用 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 Stacks 生成的 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 系统映像) 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
-
实例层的列表,由其唯一 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 Stacks 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
-
实例的虚拟化类型 (字符串)。