ヤマムギ

growing hard days.

*

EC2のAMIとRDSのスナップショットを他のAWSアカウントに共有してブログサイトをAWSアカウント間で引っ越す

   

当ブログで使用しているEC2とRDSを環境の整理のため、他のAWSアカウントへ引っ越ししようと思います。

引越し先でVPCを作成する

VPCは、パブリックサブネットとプライベートサブネットを2つづつ(とりあえず1つづつしか使いませんが)で作成しています。

EC2のAMIを引越し先のアカウントに共有する

EC2インスタンスを選択して[アクション] – [イメージ] – [イメージの作成]でAMIを作成します

作成されたAMIを選択して、[アクション] – [イメージパーミッションの変更]をクリックします。

引越し先のAWSアカウントID(12桁の数字)を入力して保存します。

引越し先のAWSアカウントでAMIを[プライベートイメージ]でフィルタリングすると共有されたAMIがあるので、選択して、[アクション] – [作成]をクリックします。

※ 共有元がAMIを作成したリージョンを選択する必要があります。

EC2起動に必要なパラメータを設定してEC2を起動します。

※ IAMロールやセキュリティグループなど事前に作っておけるものは作っておいたほうがスムーズです。

RDSのスナップショットを引越し先のアカウントに共有する

※ DBサブネットグループ、セキュリティグループは作成しておきます。

自動作成で作成しているスナップショットでもいいですが、最新の状態で共有したい場合は手動でスナップショットを作成します。

作成したスナップショットを選択して[スナップショットのアクション] – [スナップショットの共有]を選択します。

引越し先のAWSアカウントID(12桁の数字)を入力して保存します。

引越し先のAWSアカウントでRDSのスナップショットを[共有ファイル]でフィルターすると共有されたスナップショットがあるので、選択して[スナップショットのアクション] – [スナップショットの復元]をクリックします。

※共有元がスナップショットを作成したリージョンを選択する必要があります。

DBインスタンスに必要なパラメータを設定して起動します。

セキュリティグループを設定します。

最後に

  • 他に必要なリソース(Lambdaなど)があれば作成します。
  • EC2とRDSを接続するために必要な設定をします(WordPressならwp-config.phpなど)。
  • Macのhostsを設定してローカルからアクセスしてテストします。
  • CloudFrontからEC2をオリジンにしているので、オリジンのDNSを最後に変更します。
  • 4サイトをこの環境で稼働しているので一番アクセスの少ないサイトからDNSを変更して確認します。

AWSアカウント同士であればEC2もRDSもバックアップファイルを共有するだけでアカウント間での移動が簡単に行えます。
もうイメージファイルをコピーしてどこかにアップロードしてダウンロードしてもらったり、大量なデータベースのダンプファイルを出力して、それをインポートしてもらったりと時間がかかる作業を行わなくてもいいのも大きなメリットかと思います。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「AWS教科書 AWS認定デベロッパーアソシエイト テキスト&問題集 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS , ,

  関連記事

Amazon Data Lifecycle Manager(DLM)が東京リージョンで使えるようになったのでLambdaでAMI自動取得から乗り換えた

EBSのスナップショットを自動で作成してくれるAmazon Data Lifec …

「Fin-JAWS 第14回 Fin人類育成計画」で話させていただきました!

「Fin-JAWS 第14回 Fin人類育成計画」で話させていただきました。 久 …

AWS Service CatalogポートフォリオをOrganizations組織で共有する

AWS Service Catalogチュートリアルで作成したポートフォリオのO …

EC2 Linux ユーザーデータ実行ユーザーとカレントディレクトリの確認

きっと、rootなんだろうなあと認識してたのですが、自分の目で確認したことはなか …

EC2ユーザーデータからメタデータを取得してRocket.Chatで80ポートを使用する

Rocket.Chatのデフォルトポート番号は3000です。 80を使うようにす …

Going Serverless with AWS(AWS Summit Tokyo 2017)を聞いてきました

AWS Summit Tokyo 2017でセッション「Going Server …

CloudFrontからのバーチャルホストなサイトのテストってどうしてます?

このブログの構成です。 AWSで構築しています。 4つのサイトを1つのEC2で配 …

リザーブドインスタンスはじめました

このブログも2014年9月にはじめたので、もうすぐ3年。 1件~17件とばらつき …

DynamoDBテーブル項目をS3にエクスポート

DynamoDBテーブルを一時テーブルとして使っていて、毎回使い捨てしてます。 …

S3に置いたMP3ファイルをTwilioから電話再生する(AWS Lambda Python)

Google Calendar Twilio ReminderのTwilioを使 …