AWS

AWSのEC2とRDS(mysql)を他アカウントへ移行してみるテスト

方針

ちょっとだけサーバを止める
移行前=>VPC1 / AP1 / DB1
移行後=>VPC2 / AP2 / DB2
って名前にする
ロードバランサなどについては特に記述しない

移行手順

  • VPC2を作る
  • VPC2とVPC1をピア接続する
  • AP2を作る
  • AP2からDB1へ接続する
  • DNSサーバをAP1からAP2へ向き先を変える
  • 浸透を待ち、AP1止める
  • DB2を作る
  • DB1からDB2へDBを移行(ダンプとかで)
  • データ移行が終わった段階で、AP2を止める
  • AP2の向き先をDB2へ変更
  • DB2を親にする
  • AP2を起動する
  • (゚∀゚)

作成

vpc2を作る

以降元とprivate-ipが被らないようにする

ピア接続

こちらを参考に作成しました
https://dev.classmethod.jp/cloud/aws/vpc-peering-different-awsaccount/

  • vpc2からvpc1へピア接続を作る
  • vpc1のアカウントIDとvpc-idを設定する
  • vpc1アカウントのvpc=>ピア接続で、リクエストを承認する
  • vpc1とvpc2双方のルートテーブルへ、お互いのip範囲でターゲットなピア接続を追加

EC2の移行

こちらを参考に作成しました
http://keisukeohta.hatenablog.com/entry/2016/03/01/210556

  • AP1のインスタンスからイメージを作る
  • AMIのイメージパーミッションの設定で移行先アカウントIDを追加する
  • 移行先アカウントのAMI=>プライベートイメージに共有されているので、それを使ってEC2を作成
  • ap2からdb1へピア接続出来ることを確認する => db1がパブリック接続許可の場合、パブリックIDで接続しに行ってしまうので、ローカルIDで接続する

以上

これで「AP2からDB1へ接続する」から先が作業可能となります