Python 如何制作';在启动时分配公共ip;子网中的选项True-Boto3
我在专有网络中创建了一个子网。在子网内启动的实例没有获得自动ip,因为如果Python 如何制作';在启动时分配公共ip;子网中的选项True-Boto3,python,amazon-web-services,boto3,Python,Amazon Web Services,Boto3,我在专有网络中创建了一个子网。在子网内启动的实例没有获得自动ip,因为如果为False,则子网的在启动时分配\u public\u ip\u属性 我确实尝试将属性更改为True,并完成了我的工作,但它似乎是写保护的,无法更改 使用网络接口或任何其他方式是否有其他方法来实现这一点 以下是我尝试更改属性时遇到的错误: Traceback (most recent call last): File "launch.py", line 20, in <module> subnet
为False
,则子网的在启动时分配\u public\u ip\u
属性
我确实尝试将属性更改为True
,并完成了我的工作,但它似乎是写保护的,无法更改
使用网络接口或任何其他方式是否有其他方法来实现这一点
以下是我尝试更改属性时遇到的错误:
Traceback (most recent call last):
File "launch.py", line 20, in <module>
subnet.map_public_ip_on_launch = True
AttributeError: can't set attribute
回溯(最近一次呼叫最后一次):
文件“launch.py”,第20行,在
subnet.map\u public\u ip\u on\u launch=True
AttributeError:无法设置属性
子网。启动时映射公共ip
为您提供启动时映射公共ip属性的当前值,您无法通过该属性动态修改其值
您应该改为使用EC2.client.modify\u subnet\u属性(**kwargs)
尝试以下操作:
subnet.meta.client.modify_subnet_attribute(SubnetId=subnet.id, MapPublicIpOnLaunch={"Value": True})
Boto3中存在一个悬而未决的问题,使此子网subnet.map\u public\u ip\u on\u launch=True
请参见即使在今天(使用boto3),Ipv4和Ipv6的自动分配IP也不能在一个命令中设置
我一步一步地设置值:
# auto assign IPs (Ipv4, Ipv6)
ec2_client.modify_subnet_attribute(
SubnetId=subnet.id,
MapPublicIpOnLaunch={'Value': True},
)
ec2_client.modify_subnet_attribute(
SubnetId=subnet.id,
AssignIpv6AddressOnCreation={'Value': True},
)