ブログサイト一式を別のAWSアカウントに移行(ドメイン移管含む)

この記事は約6分で読めます。

当ブログで使用しているAWSのリソース(EC2,RDS)を別のAWSアカウントに引っ越しました。
手順は次の通りです。

スポンサーリンク

前提条件

スポンサーリンク

ドメイン移管申請

移管元アカウントでドメイン移管申請をする

移管元アカウントでログインし「AWSサポートセンター」を選択します。

「Create case」をクリックします。

Caseフォームに以下の項目を入力し「送信」をクリックします。

  • 内容

「アカウントおよび請求サポート」を選択

  • サービス

「請求に関して」を選択

  • カテゴリ

「ドメイン名登録の問題」を選択

  • 件名

「別アカウントへドメイン移管」を入力

  • 説明
    • 移管するドメイン名
    • 移管するドメインが現在登録されている AWSアカウントのアカウントID
    • ドメインの移管先となる AWSアカウントのアカウントID

を記入

  • 連絡方法

「Web」を選択

私の場合ですがCase作成後、
・半日ほどで受付連絡
・2日半ほどで移管完了連絡
がそれぞれメールで来ました。

依頼内容に問題がなければ割と早く対応頂けると思います。

スポンサーリンク

引越し先でVPCを作成

もちろんVPCは必要になりますので作成します。
AWS CloudFormationでVPC設定を自動化するを元に、自動作成すると楽です。

VPC作成後

  • セキュリティグループの作成
  • IAMロール/ユーザーの作成
  • DBサブネットグループの作成

など、事前に設定できるものをやっておいた方がスムーズに作業できると思います。

スポンサーリンク

EC2の引越し

引越し元EC2のAMIを作成

EC2コンソールを開き、[インスタンス]->[アクション]->[イメージ]->[イメージの作成]でAMIを作成します。

AMIを引越し先アカウントに共有

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

引越し先のAWSアカウントID(12桁の数字)を入力、[アクセス許可の追加]をクリックし保存します

引越し先アカウントでEC2を作成

[AMI]メニューを開き、[プライベートイメージ]でフィルタリングすると共有されたAMIが表示されます。

共有されたAMIを選択し、[アクション]->[作成]をクリックします

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

  • EC2起動に必要なパラメータを設定してEC2を起動します。
  • セキュリティグループを設定します。

AWS Marketplace製品のWordpressを使っている場合

当ブログはAMIMOTO AMIを使っているので、インスタンス作成時ライセンス買いなさいと怒られました
エラーメッセージ記載のURLよりライセンスを購入し、再度共有されたAMIからEC2を作成・起動すればOKです

スポンサーリンク

RDSの引越し

引越し元で最新のRDSスナップショットの取得

最新の状態を共有したいので、手動スナップショットを作成します。
RDSコンソールを開き、[スナップショット]メニューを選択->[スナップショットの取得]をクリックします。

RDSスナップショットを引越し先アカウントへ共有

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

引越し先のAWSアカウントID(12桁の数字)を入力、[追加]をクリックし保存します。

引越し先アカウントでRDSスナップショットを復元

[スナップショット]メニューで[共有ファイル]でフィルタリングをすると、先ほど作成した引越し元のスナップショットが表示されます。

共有されたスナップショットを選択し、[スナップショットのアクション]->[スナップショットの復元]をクリックします。

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

  • DBインスタンスに必要なパラメータを設定して起動します。
  • セキュリティグループを設定します。
スポンサーリンク

ホストゾーンを移管

引越し先アカウントでホストゾーンを作成

引越し先アカウントにホストゾーンを作成します。
Route53コンソールを開き、[Hosted Zones]->[Create Hosted Zone]でホストゾーンを作成します。

ここで作成されたNSレコードは後述の【ドメインネームサーバーの更新】で使用しますので、メモ帳等に控えておいて下さい

ホストゾーンにリソースレコードセットを作成

作成したホストゾーンをクリックし、[Create Record Set]でリソースレコードセットを作成します。

  • Aレコードの作成
  • 引越し元のTXTレコード、MXレコードの反映

などを行います。

ドメインネームサーバを更新

移管してきたドメインには移管元ホストレコードのネームサーバが登録されたままです。
そのため、ドメインのネームサーバを新規作成したホストゾーンのネームサーバに更新する必要があります
[Registered domains]を開き移管したドメインをクリックします。

続いて[Name servers]内の[Add or edit name servers]をクリックします。

編集画面が表示されます。
先ほどの手順【引越し先アカウントでホストゾーンを作成】で作成したNSレコードに修正し、[Update]をクリックします。

引越し元アカウントでホストゾーンを削除

最後に引越し元アカウントのホストゾーンを削除します。
NSレコード、SOAレコード以外のレコードを削除し、最後にホストゾーンの削除を実行します。

スポンサーリンク

引越し元アカウントでCloudFrontやWAFを削除

引越し元でCloudFrontやWAFを使っている場合は削除しましょう。
※CloudFrontはDisableになるまでかなり時間が掛かります。

スポンサーリンク

他諸々作業

  • RDSのエンドポイントが変わっているので、wp-config.phpで新しいRDSのエンドポイントを設定します。
  • プラグイン:Nephila clavata(絡新婦)にて画像はS3に格納→配信しておりましたが、EC2にも同一データは保持されているので引越し先でS3バケットを新たに作成の上、設定しても大丈夫です。同一のバケット名を使いたいのであれば、引越し元のバケットを削除しても問題ありません。
  • 他に必要なリソース(CloudFront、WAF、Lambda等)があれば作成します。
  • 引越し元アカウントを解約または封印する場合は、課金されるリソースの停止または削除を行いましょう。
スポンサーリンク

まとめ

  • ドメイン移管は初めてのことだったので勉強になりました。
  • AWSの便利さと凄さを改めて実感しました。
参考情報

ヤマムギ :EC2のAMIとRDSのスナップショットを他のAWSアカウントに共有してブログサイトをAWSアカウント間で引っ越す
ExRecord;AWS Route53を別アカウントに移管する方法