如何从 AWS CLI 获取附加到实例的卷 ID

Nan*_*ani 7 amazon-ebs amazon-web-services

我想将卷 id 附加到实例,就像我们如何从元数据中获取实例 id

InstanceID=`curl http://169.254.169.254/latest/meta-data/instance-id
Run Code Online (Sandbox Code Playgroud)

Joh*_*ley 10

无法从元数据中获取卷 ID。虚拟设备可在block-device-mapping/

您将需要使用 AWS CLI(或脚本、程序等)来获取分配给实例的卷 ID。

使用 CLI:

aws ec2 describe-volumes
Run Code Online (Sandbox Code Playgroud)

输出将包括卷附加到的实例 ID。

知道实例 ID 后,您可以仅过滤附加到该实例的那些卷:

aws ec2 describe-volumes --filters Name=attachment.instance-id,Values=i-555550604eaf99999
Run Code Online (Sandbox Code Playgroud)

该文档将提供更多详细信息和示例。

描述卷

  • CLI 具有用于过滤标签和许多项目的命令。AWS 为大多数常见服务提供了良好的文档。CLI 拥有大量文档,并且 Internet 上还有大量示例。 (2认同)

Pav*_* K. 7

就我而言,我需要在只有 shell 访问权限的实例上检索卷 ID。我需要将卷 ID 传达给设置虚拟机的客户。

在这种情况下,如果您没有 aws 配置文件,并且只需要获取卷 ID,则可以使用ebsnvme-idLinux 发行版上预安装的 aws 工具 ( https://docs.aws.amazon.com/AWSEC2/latest /UserGuide/nvme-ebs-volumes.html

所以例如:

$ sudo /sbin/ebsnvme-id /dev/nvme1n1
Volume ID: vol-c26087a73f2293647
sdb
Run Code Online (Sandbox Code Playgroud)