【发布时间】:2014-01-05 01:10:16
【问题描述】:
关于如何使用 boto 轻松地将快照复制到另一个区域的任何想法?
您可以通过管理控制台轻松完成 - 右键单击快照,然后“复制”,然后选择您喜欢的区域。
我希望有类似boto的东西,但找不到。
谢谢
【问题讨论】:
标签: python amazon-web-services boto snapshot
关于如何使用 boto 轻松地将快照复制到另一个区域的任何想法?
您可以通过管理控制台轻松完成 - 右键单击快照,然后“复制”,然后选择您喜欢的区域。
我希望有类似boto的东西,但找不到。
谢谢
【问题讨论】:
标签: python amazon-web-services boto snapshot
您可以使用 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')
【讨论】:
遇到 boto3 的错误,因为目标区域参数被跳过并将快照复制到同一区域本身。
EC2 Copy Snapshot Ignoring Destination Region Parameter
为此,可以在目标区域中创建 lambda 函数,但将代码中的 region 参数设置为您拥有快照的源区域。
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(Ireland) 创建的,SourceSnapshotId 是来自 eu-central-1(Frankfurt) 的 snap Id
【讨论】: