如何通过公共IP查找EC2实例?

时间:2018-12-26 02:54:54

标签: amazon-ec2

我正在尝试编写命令行工具来管理我的EC2实例。

在我将要运行该工具的环境中,只有实例的公共IP可用,因此我需要一种通过IP获取EC2实例ID的方法,以便可以调用诸如reboot之类的方法。

我已经检查了文档。有一种叫做filter的方法看起来很有希望,但是我找不到找到说明如何使用它来按公共IP进行过滤的文档。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

以下是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