ec2快照的跨区域副本

时间:2013-11-20 17:02:30

标签: ruby amazon-web-services amazon-ec2

我正在尝试编写一个脚本来快照我的ec2卷,并且每周一次将这些快照的副本从我当前的区域移动到另一个区域。我有第一部分,但我找不到任何关于移动快照或跨区域复制快照的文档。我正在使用aws-sdk gem。有没有人做过类似的事情?我在CLI工具中看到了ec2-copy-snapshot命令,我看到copy_snapshot方法让我困惑的部分是它看起来需要创建一个ec2客户端?客户应该连接到目的地区域吗?客户端的使用尚不清楚。

1 个答案:

答案 0 :(得分:2)

因此,事实证明您确实需要在末端区域中创建客户端对象。

client = AWS.ec2.client.with_options({:region => @end_region})

获得客户后,您可以使用copy_snapshot

启动副本
client.copy_snapshot({:source_region => @start_region, :source_snapshot_id => snap_in_start_region.id, :description => snap_in_start_region.description})

我遇到的一个问题是启动一组快照,然后切换到结束区域以监控进度,然后再启动另一个组。如果您要查找这样的特定快照。

AWS.ec2.snapshots['snap-XXXXXXXXX']

但是您被配置为一个不正确的区域,它会告诉您,一旦您尝试与快照交互,快照就不存在,而不是在您最初请求快照时。

最后我只是使用客户端来启动副本,没有监控工作得很好!