こんにちは! 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 ruby1require '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.status3end1# ruby snapshotcopy.rb2snap-xxxxxxx3Backup_CreateTime:2013-12-26 19:49:55 +09004pending無事作成されています!
いかがでしたでしょうか?
次回もお楽しみに!