[Route 53] 別のAWSアカウントでサブドメインを使えるように権限移譲する
Route53で権限移譲の作業をする機会があり、下記を参考に完了できました。
Route 53でサブドメインを別のHosted Zoneに権限委譲する | DevelopersIO
ただ、上記事の執筆時と比べてAWSのUIに変化がありましたので、改めてキャプチャを共有しつつ手順を共有したいと思います。
想定する作業
- AWSアカウントA(本番環境 委譲元)
- 管理ドメイン:example.com
- AWSアカウントB(ステージング環境 委譲先)
- 管理ドメイン:stg.example.com
本番環境用のAWSアカウントAで持っている example.com
があります。
今、ステージング環境用としてAWSアカウントBを作成しました。このアカウントBで stg.example.com
ドメインを使える状態にしたいです。そのために、AからBに権限移譲する必要があります。
手順
[アカウントB] ホストゾーンを作成する
まずはアカウントBでホストゾーンを作成します。
- stg.example.com
- パブリックホストゾーン
として作成します。
[アカウントB] NS情報を控える
ホストゾーンを作成すると、初期はレコードが2件あると思います。
- タイプ: NS
の値を控えておきます。
[アカウントA] NSレコードを作成する
ここでアカウントAのRoute53に移動します。
下記のようにレコードを作成します。
- レコード名: stg.example.com (入力するのは
stg
のみ) - レコードタイプ: NS
- 値: [アカウントB] NS情報を控える で控えた値を貼り付ける
として作成します。
以上で権限移譲設定は完了になります。
(Optional) CloudFrontにルーティングする
ここからは権限移譲の話ではないですが、自分の今回の作業ではCloudFrontにルーティングする必要があったため、備忘録的に共有します。
[アカウントB] Aレコードを作成する
- レコード名:
stg.example.com
(入力欄は空欄にする) - レコードタイプ: A
- トラフィックのルーティング先
- エイリアスをONにする (これをしないとCloudFrontが選択できない)
- 「CloudFrontディストリビューション〜」を選択
- 具体的なCloudFrontリソースを選択
としてレコードを作成します。
作成後、念のためレコードが追加されていることを確認します。
Route53側の作業は以上です。
その他作業
その他、
- バージニア北部リージョンのACMで証明書発行
- CloudFrontの設定
- Alternate Domain Namesに
stg.example.com
を設定 - ACMで作成した証明書を紐付ける
- Alternate Domain Namesに
の作業が必要になります。