【问题标题】:Python Boto EC2 find instance given its IP addressPython Boto EC2 在给定 IP 地址的情况下查找实例
【发布时间】:2016-11-05 04:08:48
【问题描述】:

在 Python 中使用 boto,如何找到给定 IP 地址的 boto.ec2 实例对象?

【问题讨论】:

    标签: python amazon-ec2 boto


    【解决方案1】:

    通过boto documentation 挖掘,我找到了get_only_instances 方法,您可以使用它来获取所有实例。您可以将过滤器字典传递给它,以按 IP 地址过滤(我在 Filter.N 标题下的 EC2 API Reference 中找到了它。

    例如,要获取 IP 为 1.1.1.1 的实例,您可以:

    filters = {"ip-address": "1.1.1.1"}
    result_list = conn.get_only_instances(filters=filters)
    

    那么result_list[0] 应该是具有该 IP 地址的实例的实例对象。

    【讨论】:

    • filters = {"private_ip_address": "10.122.44.2"} 如果您在 vpc 中
    • 这对我帮助很大。刚刚添加了only_running_filter = {"instance-state-name": "running"} 过滤器来简化我们在两类服务器之间的转换。
    【解决方案2】:

    boto3

    ec2 = boto3.client('ec2')
    
    filters = [{
        'Name': 'ip-address', 
        'Values': ['1.1.1.1'],
    }]
    result_list = ec2.describe_instances(Filters=filters)
    

    【讨论】:

    • 除了代码之外,您想不出什么可说的,想不出任何要链接的文档,或者任何东西
    猜你喜欢
    • 2019-11-09
    • 2022-07-29
    • 2020-07-02
    • 1970-01-01
    • 1970-01-01
    • 2018-02-15
    • 2021-04-19
    • 1970-01-01
    • 2021-01-20
    相关资源
    最近更新 更多