Route 53 - APEX レコードのクロスアカウント委任

Route 53 - APEX レコードのクロスアカウント委任

複数の環境を備えた AWS サーバーレススタックを実装しています。ベストプラクティスに従おうと、さまざまな目的で複数のアカウントを作成しました。

ありますドメイン名アカウントには、このプロジェクトに関連するすべてのホストゾーンが含まれているはずです。 のホストゾーンがありますexample.org

複数の環境とそれぞれに対応するアカウントがあります。ここでは開発そして製品

ホスト構成は次のようになります。

発達

  • app.dev.example.org (開発アカウントの CloudFront ディストリビューション)
  • login.dev.example.org (開発アカウントの Cognito ホスト UI の CloudFront ディストリビューション)
  • api.dev.example.org (開発アカウントの API ゲートウェイ)
  • cdn.dev.example.org (開発アカウントの CloudFront ディストリビューション)

生産

  • example.org (本番アカウントの CloudFront ディストリビューション)
  • login.example.org (本番アカウントの Cognito ホスト UI の CloudFront ディストリビューション)
  • api.example.org (本番アカウントの API ゲートウェイ)
  • cdn.example.org (本番アカウントの CloudFront ディストリビューション)

開発非常に簡単です。dev.example.orgホストゾーンのNSサーバーを使用してサブドメインのNSレコードを設定するdev.example.org開発アカウントを作成すれば完了です。

製品は、 の APEX レコードを使用したいので、扱いにくいですexample.org。さらにlogin.example.orgapi.example.orgと にはcdn.example.org共通のサブドメインがありません。

可能な解決策を探した結果、次のオプションが見つかりました。

  1. example.org代わりに本番アカウント用のホストゾーンを作成します。サブドメインを他のアカウントに委任します(例:開発) そこから。
  2. (よくわからない)再利用可能な委任セットを作成します。この方法では、2つのホストゾーンを作成できます(私の理解が正しければ)。ドメイン名アカウントと1つ製品アカウント。同じネームサーバーを共有することになります。ただし、これがアカウント間で機能するかどうかはわかりませんし、まだテストしていません。
  3. (よくわからない):ホストゾーンの設定製品login.example.orgapi.example.orgおよびのそれぞれについてcdn.example.org。これにより、アカウント内からサブドメイン APEX レコードを設定できるようになりますprod。これは、 の APEX レコードに対する解決策ではありませんexample.org。また、これは 3 つの追加のホストゾーンです (回避策を実現するためだけのものです)。

ここで何か基本的なことを見逃していないか、または同様の状況で代替/より良い解決策を持っている人がいないかを確認したかったのです。そのユースケースはそれほど珍しいものではないはずですよね?

答え1

1 を選択してください - これが最も簡単です。

または 4 - クロスアカウント アクセスを使用して、「prod」アカウントから「dns」アカウントのゾーンにレコードを挿入します。

また、ALIAS レコードは他のアカウントのリソースを指すことができ、同じアカウントである必要はないことに注意してください。

お役に立てれば幸いです :)

関連情報