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.orgcdn.example.org沒有公共子域。

在尋找可能的解決方案時,我提出了以下選項:

  1. example.org相反,為生產帳戶建立託管區域。將子網域委託給其他帳戶(即開發者) 從那裡。
  2. (不確定):建立可重複使用的委託集。這樣就可以建立兩個託管區域(如果我理解正確的話),其中一個位於域名系統帳戶和其中之一產品帳戶。他們會共享相同的名稱伺服器。我無法確定這是否可以跨帳戶工作,但尚未測試。
  3. (不確定):設定託管區域產品對於每個login.example.org,api.example.orgcdn.example.org.這將允許從prod帳戶內設定子網域 APEX 記錄。這不是 的 APEX 記錄的解決方案example.org。此外,它還有 3 個額外的託管區域(僅用於完成解決方法)。

我想看看我是否錯過了這裡的任何基本內容和/或是否有人有類似的情況和替代/更好的解決方案。這個用例應該不會太奇特吧?

答案1

選擇 1 - 這是最簡單的。

或 4 - 使用跨帳戶存取將記錄從「prod」帳戶插入到「dns」帳戶的區域。

另請注意,別名記錄可以指向其他帳戶中的資源,但它們不必位於同一個帳戶中。

希望有幫助:)

相關內容