如何找到“此” Lightsail实例的名称。 “ this”是正在执行aws命令的实例。我的下面的脚本不起作用,因为我认为Lightsail只是另一个EC2实例。
#!/bin/bash
InstanceId=`curl -s http://169.254.169.254/latest/meta-data/instance-id`
echo $InstanceId
Region=`aws configure get region`
echo $Region
InstanceName=$(aws ec2 describe-tags --region $Region --filters "Name=resource-id,Values=$InstanceId" "Name=key,Values=Name" --output text | cut -f5)
echo $InstanceName
答案 0 :(得分:1)
Lightsail实例的名称可以通过以下方式获取:
aws lightsail get-instances --query instances[].name
就我而言,这是我通过Lightsail管理控制台启动实例时的自动分配名称。我找不到启动过程中更改名称的方法。
有趣的是,我找不到使用AWS CLI列出与Lightsail实例关联的标签的方法。例如,我无法检索手动添加到实例的Name
标签,该标签显示在Lightsail控制台中。
更新:
经过评论讨论后,我开始工作了:
aws lightsail get-instances --query "instances[?contains(supportCode,'`curl -s http://169.254.169.254/latest/meta-data/instance-id`')].name" --output text