Amazon EBS Snapshotのリージョン間コピー機能リリース!
ついに来たリージョン間コピー!バッチリ災害対策!
Amazon EC2で使う仮想ハードディスクであるAmazon EBS(Elastic Block Store)のスナップショットが、リージョン間でコピーできるようになりました!今までリージョン間で何かしらデータをコピーするためには自前で用意するしか無かったのですが、遂に遂に登場です!これで災害対策を非常に簡単に実現できます。
画面からリージョン間コピー
早速AWS管理コンソールから使ってみましょう!EBSのメニューからSnapshot一覧を選択します。
上部メニューに「コピー」というボタンが!!早速押します。
ドロップダウンリストからコピーしたいリージョンを選択!
コピー開始!今回はシンガポールリージョンに8GBのスナップショットをコピーしました。
待つこと10分弱...完了!
コンソールからリージョン間コピー
次はコンソールからリージョン間コピーをやってみたいと思います。最新のコンソールコマンドを使う必要がありますので、ダウンロードしましょう。バージョン1.6.6.0が確認できればOKです。
$ wget http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip $ unzip ec2-api-tools.zip $ cd ec2-api-tools-1.6.6.0/ $ pwd /home/ec2-user/ec2-api-tools-1.6.6.0/bin $ EC2_HOME=/home/ec2-user/ec2-api-tools-1.6.6.0 $ ./ec2-version 1.6.6.0 2012-12-01
次にコマンド実行です。スナップショットのコピーコマンドを試してみます。
$ ./ec2-copy-snapshot --help SYNOPSIS ec2cpsnap ([ec2-copy-snapshot]) ec2cpsnap [GENERAL OPTIONS] -r SOURCE_REGION -s SOURCE_SNAPSHOT_ID [-d DESCRIPTION] GENERAL NOTES Any command option/parameter may be passed a value of '-' to indicate that values for that option should be read from stdin. DESCRIPTION Copies a snapshot to this region from another region. GENERAL OPTIONS -O, --aws-access-key KEY AWS Access Key ID. Defaults to the value of the AWS_ACCESS_KEY environment variable (if set). -W, --aws-secret-key KEY AWS Secret Access Key. Defaults to the value of the AWS_SECRET_KEY environment variable (if set). -T, --security-token TOKEN AWS delegation token. Defaults to the value of the AWS_DELEGATION_TOKEN environment variable (if set). -K, --private-key KEY [DEPRECATED] Specify KEY as the private key to use. Defaults to the value of the EC2_PRIVATE_KEY environment variable (if set). Overrides the default. -C, --cert CERT [DEPRECATED] Specify CERT as the X509 certificate to use. Defaults to the value of the EC2_CERT environment variable (if set). Overrides the default. -U, --url URL Specify URL as the web service URL to use. Defaults to the value of 'https://ec2.amazonaws.com' (us-east-1) or to that of the EC2_URL environment variable (if set). Overrides the default. --region REGION Specify REGION as the web service region to use. This option will override the URL specified by the "-U URL" option and EC2_URL environment variable. This option defaults to the region specified by the EC2_URL environment variable or us-east-1 if this environment variable is not set. -v, --verbose Verbose output. -?, --help Display this help. -H, --headers Display column headers. --debug Display additional debugging information. --show-empty-fields Indicate empty fields. --hide-tags Do not display tags for tagged resources. --connection-timeout TIMEOUT Specify a connection timeout TIMEOUT (in seconds). --request-timeout TIMEOUT Specify a request timeout TIMEOUT (in seconds). SPECIFIC OPTIONS -d, --description An optional description of the snapshot. -r, --source-region SOURCE_REGION The region from which to copy the snapshot. -s, --source-snapshot-id SOURCE_SNAPSHOT_ID The snapshot to copy.
アクセスキーとシークレットキーとリージョンを指定してコピーします。
$ export AWS_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXX $ export AWS_SECRET_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
まずはスナップショット一覧の表示
$ ./ec2-describe-snapshots --region ap-northeast-1 SNAPSHOT snap-071d4XXX vol-6ed84XXX completed 2012-08-17T10:24:51+0000 100% 555623463934 5 7-Aug 2012 SNAPSHOT snap-8cb1aXXX vol-07574XXX completed 2012-11-13T15:34:01+0000 100% 234293814336 8 e574d24_2012-11-13
次にスナップショットコピーです!記述のポイントは、東京からシンガポールにコピーするときは、リージョン指定をシンガポールにして、ソース指定を東京とします。
$ ./ec2-copy-snapshot --region ap-southeast-1 -r ap-northeast-1 -s snap-071d4XXX
スナップショット作成中か確認します。現在5%の進捗のようです。
$ ./ec2-describe-snapshots --region ap-southeast-1 SNAPSHOT snap-54c36XXX vol-8ff7eXXX pending 2012-12-18T10:10:49+0000 5% 123293814234 5 [Copied snap-071d4229 from ap-northeast-1]
超簡単にリージョン間のスナップショットコピーができました!!!
まとめ
コマンド一発でリージョン間コピーが出来ますので、全自動で全世界にバックアップを取ることが出来ます!すごい!すごい!すごい!早速、運用中のプロジェクトに適応しますよ!!!