如何通过公有 IP 查找 EC2 实例



我正在尝试编写一个命令行工具来管理我的 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

最新更新