EBSタイプのインスタンスを他リージョンへ移行する手順

この記事は1年以上前に書かれたものです。
内容が古い可能性がありますのでご注意ください。
みなさんこんにちは!インフラエンジニアの柳瀬です。 毎日暑いので、データセンターに行くのも嫌になってしまいますね。
あ、すいません。データセンターに行くのは暑くなくても嫌でした。インフラエンジニア失格ですね(笑) さて、『全てのサーバーをクラウドに移行する事が出来たら、データセンターに行く事もなくなる!』と夢見ておりますが、シンガポールにあるAWSのデータセンターがオープンして3カ月程度たちました。 先日、US WestにあるEBSタイプインスタンスをAsia Pacificに移行したという事もあり、今回のエントリーではEBSタイプのインスタンスを他のリージョンへ移行する手順について書きたいと思います。 必要な前提条件は以下の通りです

  • 移行するインスタンスにはec2-api-toolsがインストールされている事
  • 移行するインスタンスにはec2-ami-toolsがインストールされている事
  • 移行するインスタンスにはec2-metadataがインストールされている事
  • 今回はUS WestからAsia Pacificへの移動する
移行手順の概要は以下の通りです
  • EBSタイプのインスタンス上でイメージファイルを作成してAsia PacificのS3バケットにアップロード
  • Asia Pacificデータセンターで起動出来るインスタンスストアタイプのAMIを作成して起動
  • インスタンスストアタイプのインスタンスからEBSタイプのAMIを作成
※ec2-api-toolsとec2-ami-toolsのインストールは割愛してあります

準備

ec2-metadataのインストール fstabの状態を確認

イメージファイルを作成しAsia PacificのS3へアップ

ec2-bundle-volを実行してインスタンスのイメージファイルを作成 Asia-PacificのS3バケットを作成後、S3へイメージファイルをアップロード

S3のイメージファイルからinstance-storeタイプのAMIを作成し、起動

S3へアップロードしたイメージファイルからAMIを登録する 作成したAMIからインスタンスを起動します(AWS Management Consoleからでも実行出来ます)

起動したインスタンスからイメージを作成してEBSに展開、設定変更

起動したインスタンスへログイン後、ec2-bundle-volを実行してインスタンスのイメージファイルを作成 バンドルボリュームを一つのファイルにまとめる EC2インスタンスのゾーンを取得する。 ブートイメージ格納用のEBSボリュームを作成する(EBSボリュームIDをメモ) 作成したEBSボリュームをアタッチする イメージをEBSボリュームに戻す EBSボリュームをマウントする fstabを編集し、ローカルストレージの設定を削除する EBSボリュームをアンマウントする

スナップショットを取得してAMIを作成

EBSボリュームのスナップショットを取得する(スナップショットのIDをメモ) カーネルIDを取得(カーネルIDをメモ) RAMディスクIDを取得(RAMディスクIDをメモ) スナップショットからAMIを登録する

EBSタイプのインスタンスを起動、各種設定

EC2インスタンスを起動する インスタンス起動後にローカルストレージのマウントとfstabの編集

おわり

もう少し簡単なやり方があるかもしれません。
環境によってはfstabの設定などで手順が変わる場合があるかもしれませんが、ひとまず移行出来たので一安心です。

参考にさせて頂いたサイト

今回のエントリではこちらのサイトを参考にさせて頂きました。
ありがとうございましたー! http://cloudbb.jp/research1/ConvertEBS-bootedAMI.htm

AWS運用自動化サービス「Cloud Automator」無料トライアルはこちらから

COMMENT ON FACEBOOK