Domain-Name-System

配置兩條 A 記錄以指向兩個不同的 AWS 賬戶

  • March 20, 2018

我使用 DotEasy 作為我的域的註冊商(我們稱之為myapp.example.com),但我在 AWS EC2 上託管應用程序的後端。我希望這個應用程序後端(它是一個網路服務)有一個生產 URLapi.myapp.example.com和一個非生產/開發 URL api.dev.myapp.example.com

此外,根據 AWS 最佳實踐,我為 dev 和 prod 設置了單獨的 AWS 賬戶,因此它們彼此完全隔離。

我也很樂意將 DotEas 作為我的 DNS,但如果可能的話,我希望 AWS Route 53 成為 DNS。最終,我也將作為註冊商遷移到 AWS。

我想知道我需要從 DotEasy 或 AWS(EC2 甚至可能在 Route53 中)內部做什麼,以便:

  • api.dev.myapp.example.com指向我的 AWS“開發”賬戶中的 EC2 實例;和
  • api.myapp.example.com指向我的 AWS“prod”賬戶中的 EC2 實例;和
  • 如果可能的話,讓 Route 53 成為 DNS

**任何想法高級流程是什麼樣的?**我猜它這樣的:

  1. 進入 AWS 開發賬戶 >> Route 53 並為api.uat.myapp.example.com域名創建 NS/SOA 記錄
  2. 進入 DotEasy 並添加 DNS A 記錄api.uat.myapp.example.com,這是我對創建子域需要做什麼的理解
  3. 在 DotEasy 中api.uat.myapp.example.com,使用上面步驟 1 中生成的 NS/SOA 記錄配置記錄的 DNS
  4. 在 AWS 開發賬戶的 Route 53 中添加一個流量策略,將請求映射到我的開發 EC2 實例
  5. 進入 AWS prod 帳戶 >> Route 53 並創建 NS/SOA 記錄api.myapp.example.com
  6. 進入 DotEasy 並添加一個 DNS A 記錄api.myapp.example.com
  7. 在 DotEasy 中api.myapp.example.com,使用上面第 5 步生成的 NS/SOA 記錄配置記錄的 DNS
  8. 在 AWS 產品賬戶的 Route 53 中添加一個流量策略,將請求映射到我的產品 EC2 實例

聽起來應該可以工作,除了我不確定是否可以(從一般網路的角度來看,甚至不是專門使用 DotEasy)配置兩個不同的 A 記錄(都共享myapp.example.com域)和兩組不同的 NS/SOA 記錄!

這在現實生活中是如何做到的?

您應該能夠向您的註冊商添加任何 A 記錄,用於您域中的任何內容。只要配置正確,誰託管 DNS 並不重要。我假設 DotEasy 仍然配置為您的名稱伺服器(SOA 和 NS 記錄)。

您應該能夠進入 DotEasy DNS 管理器並將新的 A 記錄添加api.dev.myapp.example.com到該框的 IP,並將 A 記錄添加api.myapp.example.com到該框的相應 IP。

一旦這填充了全球的 DNS 伺服器,您就應該能夠將這兩個域解析為其適當的 IP。

我不完全確定 Amazon 的 Route 53 是如何工作的,但假設它只是一個 DNS 伺服器,您需要在 Route 53 中配置 SOA 和 NS 記錄,並配置 DotEasy 以使 NS 記錄指向 Amazon Route 53 伺服器。通過這樣做,您就是在告訴全世界,Amazon 的 Route 53 是您的域的授權起點 (SOA),example.com而 NS 伺服器是該域的域基礎設施的最終決定權。如果您這樣做,則必須在 Route 53 中傳輸(創建)所有DNS 條目。通過移動記錄,DotEasy 將只是域名的註冊商,而不是 DNS 主機。您仍然需要支付他們每年更新域名的費用。

引用自:https://serverfault.com/questions/903615