![](/img/trans.png)
[英]How to pass values to a Flask app in EC2 instance using Public DNS or IP address?
[英]Public ip address of ec2 instance is None while the instance is initializing
在我的 ec2 實例創建並使用以下代碼運行后,我試圖獲取它的公共 IP 地址:
instance = ec2_resource.create_instances(ImageId='ami-a0cfeed8',
MinCount=1, MaxCount=1, InstanceType='t2.micro', SecurityGroups= .
['some_security_group'], KeyName='some_key')
instance[0].wait_until_running()
print(instance[0].public_ip_address)
但即使公共 ip 在 aws 控制台中可見,上述代碼打印的值也是None
。 如果我在實例的所有狀態檢查完成后嘗試打印該值,那么它打印得很好。
要采用@Michael - sqlbot 的答案並將其全部放在一個地方,以下是此代碼的工作方式:
import boto3
# create the session and resource objects
boto3_session = boto3.Session(profile_name=some_profile_you_configured)
ec2_resource = boto3_session('ec2')
# create the instance
instance = ec2_resource.create_instances(ImageId='ami-a0cfeed8',
MinCount=1, MaxCount=1, InstanceType='t2.micro', SecurityGroups= .
['some_security_group'], KeyName='some_key')
# use the boto3 waiter
instance[0].wait_until_running()
# reload the instance object
instance[0].reload()
public_ip = instance[0].public_ip_address
print(public_ip)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.