如何解决如何在实例中获取AWS OpsWorks实例ID?
以下是获取当前实例的OpsWorks实例ID的方法:
ec2_instance_id=$(ec2-metadata -i)
aws opsworks describe-stacks ---> returns all the stacks
iterate over all stack_ids from above:
aws opsworks describe-instances --stack-id <stack-id>
iterate over all instances from above:
if ec2_instance_id == instance's ec2 id:
return instance's opsworks id
但是,除了这个以外,还有什么方法可以从实例中找到我们的OpsWorks ID?这些信息是否存储在实例本身的任何位置?
每次登录实例时,其摘要显示如下:
This instance is managed with AWS OpsWorks.
###### OpsWorks Summary ######
Operating System: Amazon Linux AMI release 2018.03
OpsWorks Instance: XXXXXX
OpsWorks Instance ID: XXXXXX
OpsWorks Layers: XXXXXX
OpsWorks Stack: XXXXXX
EC2 Region: XXXXXX
EC2 Availability Zone: XXXXX
EC2 Instance ID: XXXXXX
Public IP: XXXXXXX
Private IP: XXXXXX
VPC ID: XXXXX
Subnet ID: XXXXX
实例中是否可以找到此信息的任何文件?
解决方法
在Amazon Linux 2上,该ID位于/etc/aws/opsworks/instance-agent.yml
因此您可以得到它:
ops_instance_id=$(sudo grep identity /etc/aws/opsworks/instance-agent.yml | cut -d ' ' -f2)
echo $ops_instance_id
示例输出:
54e0799e-bf86-426f-b08c-06530ca6b914
也许有更简单的方法。我只知道上面的一个。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。