AWS:EC2インスタンスを今のリージョンから東京リージョンに移行した手順メモ。
単純に東京以外のリージョンにあるS3内のAMIイメージ使おうとすると
「HTTP 301 (Moved Permanently) response for URL
http://hogehoge.s3.amazonaws.com:80/centos-5.5-i386.manifest.xml:
check your manifest path is correct and in the correct region.」
などリージョンが違うぞ!って怒られたり、じゃあ、このファイルを単純に東京リージョンのS3に
コピペすると
「kernelID〜うんたらかんたら」で東京リージョン用のAMIじゃねえぞ!
って怒られ起動出来なかったので、悪戦苦闘のメモです。
以下の手順はシンガポールリージョン内のインスタンスを東京に移行した手順です。
EC2インスタンスがRoot Device Type: instance-storeだった場合のみ有効だと思います。
それぞれのコマンドの使い方は省略します・・・。
# cd /mnt
※実際のコマンドはワンライナーです。 # ec2-bundle-vol -c (x509証明書) -k (x509秘密鍵) -u (12桁の口座番号ですね。) -d /mnt -p (作りたいインスタンスイメージ名。centos-5.5-origとか。)
今のリージョンにS3バケットを作成する。(例としてap-southeast-1内にhogehogeで作成)
そして以下のコマンドでAMIイメージをアップする。
※実際のコマンドはワンライナーです。 # ec2-upload-bundle -b hogehoge -a (S3用アクセスキー) -s (S3用プライベートキー) -m centos-5.5-orig.manifest.xml --location ap-southeast-1
これでリージョン内のAMIイメージアップは完了。
次にこのAMIを利用して東京に移行します。
AWSコンソール等で東京リージョンにS3バケットを作成する。名前は既にある名前だとNGなので、適当にhogehogetokyoとか。そして以下のコマンドを実行。
※実際のコマンドはワンライナーです。 # ec2-migrate-bundle -k (x509秘密鍵) -c (x509証明書) -a (S3用アクセスキー) -s (S3用プライベートキー) --bucket (今EC2インスタンスが起動しているリージョンのS3バケット) --manifest centos-5.5-orig.manifest.xml --region ap-northeast-1 --destination-bucket hogehogetokyo
これで、東京リージョン内のS3にAMIイメージがアップロードされているはずので、
EC2タブ→左側mニューのAMI→Register New AMIでS3のhogehogetokyo/centos-5.5-orig.manifest.xmlを選択すると起動できるはずです!!