ヤマムギ

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


最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

 - AWS , ,

ad

ad

  関連記事

Cloud9 Python3でpipも3にする

このブログは、2019/10/20に書いた、 Cloud9のAMIがCloud9 …

AWS Expert Online at JAWS-UG首都圏エリアに参加して「Amazon EC2 スポットインスタンス再入門」を聞いてきた

AWS Expert Onlineという勉強会がありまして、AWS ソリューショ …

Amazon SES(Simple Email Service)でメール受信時のアクションでLambdaを実行して渡されるデータを見てみる

Amazon SESで受信したメールをS3に保存して、S3のトリガーでLambd …

ACM(AWS Certificate Manager)の承認メールを受け取るためにAmazon SESを設定する

何のためでもいいのですが、ドメインは持っているけど、そのドメイン宛にメールを送ら …

Amazon EC2のAMIイメージを自動取得して保持日数が過ぎたら削除

画像の保存をEC2に戻した事もあってEC2のバックアップの自動取得を勉強がてらや …

Amazon Elasticsearch ServiceにMySQLのデータを投入してkibanaで可視化してみる

MySQLのデータの可視化にAmazon Elasticsearch Servi …

kintoneに登録されたアカウントの電話番号にGoogleカレンダーの予定をAmazon Pollyが読み上げてTwilioから電話でお知らせする(AWS Lambda Python)

目次 Google Calendar Twilio Reminderkinton …

AWS複数アカウントのリソースをLambda(Python)から一括操作したくて

AWSの複数アカウント(30ちょい)のリソースをまとめて自動処理したくて。 とり …

AWSアカウント内のCloudWatchアラームを削除する

目次 やりたいことPythonソースコード やりたいこと 特定アカウント特定リー …

IAMユーザーのマネジメントコンソールログインパスワードを変更してDynamoDBに記録するLambda(Python)

目次 やりたいことSecretsManagerでのランダムパスワードの生成IAM …