有关如何使用boto轻松将快照复制到其他区域的任何想法?
您可以通过管理控制台轻松完成 - 右键单击快照,然后“复制”,然后选择您喜欢的区域。
我希望与boto有类似的东西,却找不到任何东西。
由于
答案 0 :(得分:8)
您可以使用EC2模块中的copy_snapshot()
方法复制区域内或区域之间的快照。例如,如果您在us-east-1
中有现有快照,并且想要将其复制到us-west-2
,则可以执行以下操作:
import boto.ec2
conn = boto.ec2.connect_to_region('us-west-2')
conn.copy_snapshot(source_region='us-east-1', source_snap_id='snap-12345678',
description='My new copy')
答案 1 :(得分:0)
面对boto3的错误,因为目标区域参数被跳过,它会将快照复制到同一区域本身。
EC2 Copy Snapshot Ignoring Destination Region Parameter
为此,可以在目标区域中创建lambda函数,但是将代码中的region参数设置为您拥有snasphots的源区域。
region = 'eu-central-1'
ec = boto3.client('ec2',region_name=region)
def lambda_handler(event, context):
response=ec.copy_snapshot(SourceSnapshotId='snap-082*********4aac2',
SourceRegion=region,
DestinationRegion='eu-west-1',
Description='copied from Frankfurt')
print (response)
这里,lambda函数在eu-west-1(爱尔兰)创建,SourceSnapshotId是eu-central-1(法兰克福)的快照ID