1. ホーム
  2. Blog
  3. Amazon EC2のイメージ(AMI)をus-eastからus-westにコピーする方法

Amazon EC2のイメージ(AMI)をus-eastからus-westにコピーする方法

大井 宏友

大井 宏友

技術

大井です。Amazon Web Serviceがアメリカ西海岸にデータセンターを作りました。AWSを日本から使う場合のネックとなっていたのがネットワーク速度でしたので、少しでも近い場所にサーバをおきたいと思い、今まで東海岸リージョン(us-east-1)で使っていたEC2のイメージ(AMI)をus-west-1でも使えるようにしました。

終わってみればなんてことはないのですが、方法が分かるまでかなり苦労しましたので、自分の備忘録をかねて紹介したいと思います。

ec2-migrate-bundleをつかう。

プライベートAMIは使うリージョンと同じ場所にあるS3に保存する必要があるようですので、既存のus-east-1にあるAMIデータをus-west-1にコピーして、それをAMI登録する、という手順です。

1. US-WESTのS3にコピー

既存のEC2インスタンス(us-east-1)にログインして、以下のコマンドを実行。

% ec2-migrate-bundle -k (your private key file) -c (your cert) -a (your access key) -s (your secret access key) --bucket (your source bucket) --manifest (your manifest filename) --location us-west-1 --region us-west-1 --destination-bucket (destination bucket you want to make)

ココでポイントですが、EC2インスタンスから初めてイメージを保存するときとは異なり、us-west側のS3上にあらかじめbucketを作っておく必要はありません。むしろ既にあると怒られます。

" --destination-bucket"にus-westのS3に作成したいbucket名を指定すれば、自動的にbucketを作成し、そこにus-eastのイメージデータをコピーしてくれます。

これが成功すると、us-west-1上のmanifestファイルのフルパスが表示されます。

2. AMIを登録する

ElasticFoxでも出来ると思いますが、今回はローカルのMacBookからコマンドを実行しました。

% ec2-register --region us-west-1 --name (your ami name) (your new manifest fullpath on us-west-1)

"--region us-west-1"を忘れずに。

これで完成です。S3のツールやAPIをいっさい触らずに出来ますので、分かってみると非常に簡単でした。

参考になれば幸いです。

トップへ戻る