ec2快照的跨区域副本



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

因此,您确实需要在最终区域创建一个客户端对象。

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']

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

最后,我只是用客户端启动拷贝,没有监控,效果很好!

最新更新