如何使用boto库更改Amazon EC2实例的IP地址

时间:2015-06-22 03:16:39

标签: python amazon-web-services boto

如何使用boto库为现有的AWS EC2实例分配新的IP地址(或弹性IP)。

1 个答案:

答案 0 :(得分:1)

确保已使用~/.boto正确设置并连接到aws,并在python中准备好boto模块。如果没有,请先完成此操作:Getting Started with Boto

例如,您需要为实例54.12.23.34

分配新的EIP 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_idprivate_ip_address,那么您可以使用boto库将EIP分配给Amazon EC2实例

associate_address用法:

  

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)