python - 如何在 Python boto 中判断我的 AWS 账户 "owns"是否为给定 IP 地址

标签 python amazon-web-services amazon-ec2 boto

所以我有一个公共(public) IP 地址列表,我想看看它们是否是与我们的帐户关联的公共(public) IP。我知道我可以简单地将每个 IP 粘贴到 AWS EC2 控制台的搜索框中。不过,我想通过 Python 程序自动执行此过程。

我被告知您可以在控制台中执行的任何操作都可以通过 CLI/程序执行,但是我使用哪个函数来简单地返回或不返回结果,具体取决于它是否是与我们的帐户关联的公共(public) IP ?

我知道我可能需要进行两项搜索,一项是实例搜索(涵盖非 EIP 公共(public) IP),另一项是 EIP(涵盖我们仍然拥有的已解除关联的 EIP)。

但是如何呢?

最佳答案

使用boto,您需要做的第一件事就是调用connect_to_region以便连接到您感兴趣的 AWS 区域。(如果您在多个区域中有实例,那么您需要逐个迭代每个区域)。

连接到某个区域后,您需要调用 get_only_instances它将返回实例对象的列表。浏览这些对象的列表,并查看实例公共(public) IP 的 ip_address 字段(或私有(private) IP 的 private_ip_address 字段)。

然后您需要调用 get_all_addresses获取弹性 IP 列表。在本例中,您需要再次循环遍历 EIP 对象列表并查看 public_ip 字段。如果您想确定 EIP 与哪个实例关联(如果有),则使用 instance_id 字段即可。

关于python - 如何在 Python boto 中判断我的 AWS 账户 "owns"是否为给定 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26493207/

相关文章:

amazon-web-services - 创建 EC2 实例时出错

java - Scala Chart (JFreeChart) 无法在 AWS 服务器上运行

python - 无法从 python 子进程 : permission denied 执行 shell 脚本

python - 对 csv 文件中的重复值列 A 进行排序

javascript - 如何通过 javascript 在不公开 API key 的情况下将数据存储在 Amazon DB(没有服务器)中?

amazon-web-services - 无法增加EC2中的docker卷大小

amazon-web-services - 如何使用来自变量的凭证运行 AWS 开发工具包?

python - 多行 python 正则表达式

python - 如何使一个对象既是 Python2 又是 Python3 的迭代器?

python-2.7 - 如何使用 Boto3 加密我现有的 RDS 实例?