首页 > 解决方案 > 如何通过使用 boto 传递卷 ID 来查找 ec2 实例 ID

问题描述

我想将卷 id 作为参数传递,然后在 python 中返回实例 id

标签: pythonamazon-web-servicesamazon-ec2boto3

解决方案


你需要打电话describe_instances()

您可以自己在 Python 中过滤结果,也可以通过Filters.block-device-mapping.volume-id

import boto3

ec2_client = boto3.client('ec2', region_name='ap-southeast-2')

response = ec2_client.describe_instances(Filters=[{'Name':'block-device-mapping.volume-id','Values':['vol-deadbeef']}])

instance_id = response['Reservations'][0]['Instances'][0]['InstanceId']

print(instance_id)

一个卷一次只能附加到一个实例,因此此代码假定只返回一个实例。


推荐阅读