python - 使用 boto3 获取新创建的亚马逊 ec2 实例的公共(public) IPv4

我正在使用 boto3 创建一个 ec2 实例,我想打印该新实例的 IP 地址。

ec2 = boto3.resource('ec2')

# create the instance 
new_instance = ec2.create_instances(
    ImageId='###', 
    MinCount = 1, 
    MaxCount = 1, 
    InstanceType = 't2.nano',
    KeyName = "key",
    SecurityGroupIds = ["###"]
)

... wait until running ...
ip = new_instance[0].ipv4 # something like this

有没有办法在运行后做这样的事情?

最佳答案

ec2.create_instances返回 ec2.Instance objects 的列表. ec2.Instance 对象有一个名为 private_ip_address 的属性。您可以使用它来获取私有(private) IP 地址。

旁注(基于代码示例中的注释)您还可以使用 wait_until_running服务员让您的代码暂停,直到实例运行。

# create the instance 
new_instance = ec2.create_instances(...)

# use a waiter on the instance to wait until running
new_instance[0].wait_until_running()

ip = new_instance[0].private_ip_address
public_ip = new_instance[0].public_ip_address

关于python - 使用 boto3 获取新创建的亚马逊 ec2 实例的公共(public) IPv4 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64664813/

相关文章:

python - 为什么我的 Django 表单不是 "valid"?无法获取更新数据库的 POST

java - 给定算法的时间复杂度是多少?

curl - Google Cloud Storage - 使用 CURL 请求下载文件

c# - 1053 Windows 服务错误使用 .NET Core 3.1 Worker 服务

r - 如何在 R Shiny 应用程序中对齐 downloadButton 和 ActionBut

awk - 通过按行对其他列求和来在特定位置创建新列

python - 如何将文件夹从 AzureML 笔记本文件夹下载到本地或 Blob 存储?

android - 如何在 ionic +react + capacitor 项目中设置最低 and

reactjs - 如何模拟 JavaScript window.open 和 window.clo

jsf - 用作 JSF 值的 Java 记录