【问题标题】:Cross region copy of ec2 snapshotec2快照的跨区域拷贝
【发布时间】:2013-11-20 17:02:30
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    所以事实证明你确实需要在末端区域创建一个客户端对象。

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

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

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

    【讨论】:

    • 如果其他人最终看到我认为没有任何方法可以使用Aws::EC2::Snapshot#copy 跨区域复制快照资源实例。不过,区域内复制可以像这样工作:snapshot.copy(source_region: snapshot.client.region)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-15
    • 2016-05-07
    • 2010-09-16
    • 2011-12-19
    • 2017-06-03
    • 1970-01-01
    相关资源
    最近更新 更多