boto - 将快照复制到另一个区域

时间:2013-12-17 10:14:14

标签: python amazon-web-services boto snapshot

有关如何使用boto轻松将快照复制到其他区域的任何想法?

您可以通过管理控制台轻松完成 - 右键单击​​快照,然后“复制”,然后选择您喜欢的区域。

我希望与boto有类似的东西,却找不到任何东西。

由于

2 个答案:

答案 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')

请参阅:boto.ec2.connection.EC2Connection.copy_snapshot

答案 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