如何获取 Lightsail 实例的实例名称
How do I get the instance name of a Lightsail instance
如何找到 "this" 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
可以通过以下方式获取 Lightsail 实例的名称:
aws lightsail get-instances --query instances[].name
就我而言,这是我通过 Lightsail 管理控制台启动实例时自动分配的名称。我看不到在启动期间更改名称的方法。
有趣的是,我找不到使用 AWS CLI 列出与 Lightsail 实例关联的标签的方法。例如,我无法检索到我手动添加到实例并显示在 Lightsail 控制台中的 Name
标签。
更新:
在评论中讨论后,我得到了这个工作:
aws lightsail get-instances --query "instances[?contains(supportCode,'`curl -s http://169.254.169.254/latest/meta-data/instance-id`')].name" --output text
如何找到 "this" 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
可以通过以下方式获取 Lightsail 实例的名称:
aws lightsail get-instances --query instances[].name
就我而言,这是我通过 Lightsail 管理控制台启动实例时自动分配的名称。我看不到在启动期间更改名称的方法。
有趣的是,我找不到使用 AWS CLI 列出与 Lightsail 实例关联的标签的方法。例如,我无法检索到我手动添加到实例并显示在 Lightsail 控制台中的 Name
标签。
更新:
在评论中讨论后,我得到了这个工作:
aws lightsail get-instances --query "instances[?contains(supportCode,'`curl -s http://169.254.169.254/latest/meta-data/instance-id`')].name" --output text