2013-11-20 60 views
0

我正在嘗試編寫一個腳本來快照我的ec2卷,並且每週將這些快照的副本從當前區域移動到其他區域。我有第一部分,但我找不到有關移動快照或跨區域複製快照的任何文檔。我正在使用aws-sdk gem。有沒有人做過類似的事情?我在CLI工具中看到了ec2-copy-snapshot命令,我看到copy_snapshot方法讓我困惑的部分是它看起來需要創建一個ec2客戶端?客戶端應該連接到目標地區嗎?客戶的使用尚不清楚。ec2快照的跨區域副本

回答

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

但你被配置爲一個不正確的區域,它會告訴你,一旦你嘗試使用快照進行交互,而不是當你最初請求快照快照不存在。

最後我只是用客戶端來啓動副本,沒有任何監控工作很好!

+0

Incase其他人最終看起來我不認爲有任何方法可以使用'Aws :: EC2 :: Snapshot#copy'來跨區域複製快照資源實例。區域內副本可以像這樣工作:'snapshot.copy(source_region:snapshot.client.region)' –