![Route 53 - APEX レコードのクロスアカウント委任](https://rvso.com/image/756225/Route%2053%20-%20APEX%20%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E3%82%AF%E3%83%AD%E3%82%B9%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E5%A7%94%E4%BB%BB.png)
複数の環境を備えた 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.org
、api.example.org
と にはcdn.example.org
共通のサブドメインがありません。
可能な解決策を探した結果、次のオプションが見つかりました。
example.org
代わりに本番アカウント用のホストゾーンを作成します。サブドメインを他のアカウントに委任します(例:開発) そこから。- (よくわからない)再利用可能な委任セットを作成します。この方法では、2つのホストゾーンを作成できます(私の理解が正しければ)。ドメイン名アカウントと1つ製品アカウント。同じネームサーバーを共有することになります。ただし、これがアカウント間で機能するかどうかはわかりませんし、まだテストしていません。
- (よくわからない):ホストゾーンの設定製品
login.example.org
、api.example.org
およびのそれぞれについてcdn.example.org
。これにより、アカウント内からサブドメイン APEX レコードを設定できるようになりますprod
。これは、 の APEX レコードに対する解決策ではありませんexample.org
。また、これは 3 つの追加のホストゾーンです (回避策を実現するためだけのものです)。
ここで何か基本的なことを見逃していないか、または同様の状況で代替/より良い解決策を持っている人がいないかを確認したかったのです。そのユースケースはそれほど珍しいものではないはずですよね?
答え1
1 を選択してください - これが最も簡単です。
または 4 - クロスアカウント アクセスを使用して、「prod」アカウントから「dns」アカウントのゾーンにレコードを挿入します。
また、ALIAS レコードは他のアカウントのリソースを指すことができ、同じアカウントである必要はないことに注意してください。
お役に立てれば幸いです :)