我正在尝试编写一个命令行工具来管理我的 EC2 实例。
在我将运行该工具的环境中,只有实例的公有 IP 可用,因此我需要一种方法来按 IP 获取 EC2 实例 ID,以便我可以调用 reboot
等方法。
我已经检查了文档。有一种名为 filter
的方法看起来很有前途,但我找不到显示如何使用它按公共 IP 进行过滤的文档。
我该怎么做?
下面是一个使用 boto3 SDK 的示例。
import boto3
client = boto3.client('ec2')
response = client.describe_instances(
Filters=[
{
'Name': 'ip-address',
'Values': [
'54.x.x.x',
]
},
]
)
response ['Reservations'][0]['Instances'][0]['InstanceId']
//'i-0aaxxxxxxxxxxx'
参考-https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html#EC2.Client.describe_instances