当ブログで使用している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を別アカウントに移管する方法