1月 16th, 2010EC2のUS-EASTで作ったAMIをUS-WESTで使えるようにする
EC2にはリージョン(region)とゾーン(zone)という概念があります。
リージョンは物理的なデータセンターの場所で現在世界に3箇所あります。
- ヨーロッパ
- アメリカ西海岸
- アメリカ東海岸
ゾーンはリージョンの中でさらに細かく別れた仮想的な地域です。
例えば、ヨーロッパだと下記のようなゾーンがあります。
- eu-west-1a
- eu-west-1b
ゾーンに関しては普通にEC2を使う場合は特に意識することはないけど、リージョンはそれぞれが別世界です。
用意されてるAMIや料金体系も違うしセキュリティーグループもそれぞれ独立しています。なので、東海岸で作成したAMIというのもそのままでは西海岸では使えません。
西海岸で使えるようにする為にEC2ではコマンドが用意されているのでそれを使います。
下記をEC2上で実行します。
ec2-migrate-bundle -k pk-******************.pem -c cert-******************.pem -a (アクセスキー) -s (シークレットキー) --bucket (今のイメージファイルが置いてるS3のディレクトリ) --manifest image.manifest.xml --location us-west-1 --region us-west-1 --destination-bucket (西海岸用のイメージファイルを置くS3のディレクトリ)
-k
Private Key File
-c
X.509 certificate file
-a
アクセスキー
例 R54S74PGDB0436KD7G2
-s
シークレット
例 gQbGdc/GzNTJDm54dvab/URn9D8Beriq2/LJ/MIGO1
–bucket
今のイメージファイルが置いてるS3のディレクトリ(image.manifest.xmlがあるディレクトリ)
例 /hogehoge-backup/20100114/
–destination-bucket
西海岸用のイメージファイルを置くS3のディレクトリ
例 /hogehoge-west-backup/20100114/
destination-bucketは予めディレクトリを用意しておく必要はありません。
深い階層を指定してもディレクトリを再帰的に生成してくれます。
ElasticIPがリージョンをまたいで使えないので、IPが変わるのを覚悟の上移行してください。
西海岸のゾーンを使うと40%くらいレイテンシーが改善されました。