SDK編~ruby SDKでスナップショットコピー~

こんにちは! JQです。

前回は『 EC2編~lsyncdでリアルタイムにファイル同期②~ 』ということで、lsyncdを利用して別サーバ間で自動同期処理をしてみました。

今回は『SDK編~ruby SDKでスナップショットコピー~』と題して、ruby SDKを利用して別リージョンにスナップショットをコピーしてみたいと思います。

**

スナップショットコピー**

****

1.スナップショットコピー

スクリプトを利用してスナップショットをコピーしてみます。

今回は[ap-northeast-1]から[ap-southeast-1]にコピーしてみます。

※移す先をendpoint等で選択しておく必要があります。

1#!/usr/bin/env ruby23require 'rubygems'4require 'aws-sdk'56snapshotid = "snap-xxxxxxx"78ec2 = AWS:: EC2.new(9:region => 'ap-southeast-1',10:ec2_endpoint => 'ec2.ap-southeast-1.amazonaws.com',11:access_key_id => 'xxxxxxxxxxxx',12:secret_access_key => 'xxxxxxxxxxxxxxx'13)
1ec2.client.copy_snapshot(2:source_region => "ap-northeast-1",3:source_snapshot_id => snapshotid,4:description => "Backup_CreateTime:#{Time.now}"5)

2.確認

実際に試してみます。

1# ruby snapshotcopy.rb

[ap-southeast-1]にあるスナップショットを「description」で絞り込んで表示してみます。

1#!/usr/bin/env ruby
1require 'rubygems'2require 'aws-sdk'
1ec2 = AWS:: EC2.new(2:region => 'ap-southeast-1',3:ec2_endpoint => 'ec2.ap-southeast-1.amazonaws.com',4:access_key_id => 'xxxxxxxxxxxx',5:secret_access_key => 'xxxxxxxxxxxxxxx'6)
1ec2.snapshots.with_owner("self").filter("description","Backup_*").each do |s|2puts s.id,s.description,s.status3end
1# ruby snapshotcopy.rb2snap-xxxxxxx3Backup_CreateTime:2013-12-26 19:49:55 +09004pending

無事作成されています!

いかがでしたでしょうか?

次回もお楽しみに!

この記事を書いた人

aws-recipe-user