[英]How to get AWS OpsWorks instance id within an instance?
以下是獲取我當前實例的 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
例如 output:
54e0799e-bf86-426f-b08c-06530ca6b914
也許有更簡單的方法。 我只知道上面一個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.