如何使用boto库为现有的AWS EC2实例分配新的IP地址(或弹性IP)。
答案 0 :(得分:1)
确保已使用~/.boto
正确设置并连接到aws,并在python中准备好boto模块。如果没有,请先完成此操作:Getting Started with Boto
例如,您需要为实例54.12.23.34
i-12345678
确保已分配(存在)EIP,您可以获得其allocation_id
。
$ python
>>> import boto.ec2
>>> conn = boto.ec2.connect_to_region("us-west-2")
>>> conn.get_all_addresses()
>>> allocation=conn.get_all_addresses(filters={'public_ip': '54.12.23.34'})[0].allocation_id
u'eipalloc-b43b3qds'
然后调用associate_address并提供instance_id
或private_ip_address
,那么您可以使用boto库将EIP分配给Amazon EC2实例
associate_address(instance_id = None,public_ip = None,allocation_id = None,network_interface_id = None,private_ip_address = None,allow_reassociation = False,dry_run = False)
所以你将得到命令:
>>> conn.associate_address(instance_id='i-12345678', allocation_id=allocation)