這是可能的。 但是當你斷開你的彈性IP地址時,根據你的子網設置你可能會失去互聯網連接。如果您的子網配置爲自動分配公共IP,您將在解除關聯和關聯之間獲得公共IP(非彈性IP)。但是,如果您的公有子網未配置爲自動獲取公共IP,則您的實例將失去互聯網連接(除非有到達互聯網的路由),並且腳本的其餘部分不會執行。以下是Boto3腳本給你一個想法但未達標。調整它以適應您的需求。
import boto3
import requests
client = boto3.client('ec2')
inst_id = requests.get('http://169.254.169.254/latest/meta-data/instance-id').text
print inst_id
public_ip = requests.get('http://169.254.169.254/latest/meta-data/public-ipv4').text
print 'Current IP:', public_ip
print 'Disassociating:', public_ip
client.disassociate_address(PublicIp=public_ip)
public_ip = client.allocate_address(Domain='vpc')['PublicIp']
print 'New IP:', public_ip
print 'Associating:', public_ip
client.associate_address(InstanceId=inst_id, PublicIp=public_ip)