路由傳送子網域的流量 - Amazon Route 53

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

路由傳送子網域的流量

若要將流量路由至子網路的資源 (例如 acme.example.com 或 zenith.examplec.com),您有兩種選擇:

在網域的託管區域中建立記錄

一般而言,若要路由子網域的流量,需要在與網域名稱相同的託管區域中建立記錄。例如,若要將 acme.example.com 網際網路流量路由至您資料中心的 Web 伺服器,請在 example.com 託管區域中建立名為 acme.example.com 的記錄。如需詳細資訊,請參閱主題 處理記錄 及其子主題。

建立子網域的託管區域,並在新的託管區域中建立記錄

您也可以為子網域建立託管區域。使用個別託管區域將網際網路流量路由至子網域,有時稱為「將子網域的責任委派給託管區域」、「將子網域委派給其他的名稱伺服器」或類似的術語組合。以下概述運作方式:

  1. 您建立託管區域與您想要路由傳送流量的子網域名稱相同,例如 acme.example.com。

  2. 您可以在新的託管區域中建立記錄,以定義要如何路由子網域 (acme.example.com) 及其子網域 (例如 backend.acme.example.com) 的流量。

  3. 您會取得建立新託管區域時 Route 53 指派給新託管區域之名稱伺服器的名稱。

  4. 您可以為網域在託管區域中建立新的 NS 記錄 (example.com),並指定您在步驟 3 中取得的四個名稱伺服器。

使用個別託管區域來路由子網域的流量時,您可以使用 IAM 許可來限制存取子網域的託管區域。如果您有多個由不同群組管理的子網域,為每個子網域建立託管區域可大幅減少必須存取網域託管區域中記錄的人員數量。

為子網域使用個別託管區域,也可讓您為網域和子網域使用不同的 DNS 服務。如需更多詳細資訊,請參閱 使用 Amazon Route 53 作為子域的DNS服務,而無需遷移父域

對於來自每個 DNS 解析程式的第一個 DNS 查詢,此組態具有微小的效能影響。解析程式必須從根網域的託管區域取得資訊,然後從子網域的託管區域取得資訊。在子網域的第一次 DNS 查詢之後,解析程式會快取資訊,並且直到 TTL 過期、其他用戶端請求該解析程式的子網域前,不需要再次取得該資訊。如需詳細資訊,請參閱 您在建立或編輯 Amazon Route 53 記錄指定的值 一節中的 TTL (秒)

建立另一個託管區域來路由子網域的流量

路由子網域流量的其中一種方法,是為子網域建立託管區域,然後在新託管區域中為子網域建立記錄。(較常見的選項是在網域託管區域中建立子網域的記錄)。

注意

雖然我們在此說明於 Route 53 上建立及委派給子網域託管區域的程序,但您也可以在其他名稱伺服器上建立 DNS 區域,以及類似地建立將責任委派給這些名稱伺服器的名稱伺服器 (NS) 記錄。

下列為此程序的概觀:

  1. 為子網域建立 託管區域。如需更多詳細資訊,請參閱 為子網域建立新託管區域

  2. 將記錄新增至子網域的託管區域。如果網域託管區域包含屬於子網域託管區域的任何記錄,請在子網域的託管區域中複製這些記錄。如需詳細資訊,請參閱 在子網域的託管區域中建立記錄

  3. 在網域託管區域中為子網域建立 NS 記錄,將子網域的責任委派給新託管區域中的名稱伺服器。如果網域託管區域包含屬於子網域託管區域的任何記錄,請從網域託管區域中刪除這些記錄。(您已在步驟 2 建立子網域託管區域的複本。) 如需更多詳細資訊,請參閱 更新網域的託管區域

為子網域建立新託管區域

若要使用 Route 53 主控台為子網域建立託管區域,請執行下列程序。

為子網域建立託管區域 (主控台)
  1. 登入 AWS Management Console 並開啟位於 https://console.aws.amazon.com/route53/ 的 Route 53 主控台。

  2. 若您是初次使用 Route 53,請選擇 Get Started (開始使用)

    如果您已經在使用 Route 53,請在導覽窗格中選擇 Hosted zones (託管區域)

  3. 選擇 Create Hosted Zone (建立託管區域)

  4. 在右窗格中,輸入子網域的名稱,例如 acme.example.com。您也可以選擇輸入註解。

    如需如何指定 a-z、0-9 與 - (連字號) 以外的字元,以及如何指定國際化網域名稱的資訊,請參閱 DNS 網域名稱格式

  5. 針對 Type (類型),接受 Public Hosted Zone (公有託管區域) 的預設值。

  6. 在右窗格底部,選擇 Create hosted zone (建立託管區域)

在子網域的託管區域中建立記錄

若要定義 Route 53 該如何路由子網域 (acme.example.com) 及其子網域 (例如 backend.acme.example.com) 的流量,您可以在子網域的託管區域中建立記錄。

請注意下列在子網域託管區域中建立記錄的相關資訊:

  • 請勿在子網域託管區域中建立其他名稱伺服器 (NS) 或起始授權 (SOA) 記錄,也請勿刪除現有的 NS 和 SOA 記錄。

  • 在子網域託管區域中建立子網域的所有記錄。例如,如果您擁有 example.com 和 acme.example.com 網域的託管區域,請在 acme.example.com 託管區域中,為 acme.example.com 子網域建立所有記錄。包括諸如 backend.acme.example.com 和 beta.backend.acme.example.com 等記錄。

  • 如果網域 (example.com) 託管區域已包含屬於子網域 (acme.example.com) 託管區域的記錄,請在子網域的託管區域中複製這些記錄。在程序最後一個步驟中,您稍後會從網域託管區域刪除重複的記錄。

    重要

    如果您在網域託管區域和子網域託管區域中都擁有子網域的某些記錄,DNS 的行為將會不一致。行為取決於 DNS 解析程式已快取哪些名稱伺服器、網域託管區域 (example.com) 的名稱伺服器或子網域託管區域 (acme.example.com) 的名稱伺服器。在某些情況下,如已存在記錄,Route 53 會傳回 NXDOMAIN (不存在的網域),但不會在 DNS 解析程式提交查詢至的託管區域中。

如需更多詳細資訊,請參閱 處理記錄

更新網域的託管區域

建立託管區域時,Route 53 會自動將四個名稱伺服器指派給區域。託管區域的 NS 記錄會找出回應網域或子網域 DNS 查詢的名稱伺服器。若要開始使用子網域託管區域的記錄來路由網際網路流量,請在建立網域 (example.com) 託管區域中建立新的 NS 記錄,並為其指定子網域 (acme.example.com) 名稱。針對 NS 記錄的值,請指定子網域託管區域中名稱伺服器的名稱。

當 Route 53 從子網域 acme.example.com 或其子網域之一收到 DNS 解析程式的 DNS 查詢,會發生下列情況:

  1. Route 53 會在網域 (example.com) 託管區域中找出子網域 (acme.example.com) 的 NS 記錄。

  2. Route 53 會從網域 (example.com) 託管區域的 acme.example.com NS 記錄取得名稱伺服器,並將這些名稱伺服器傳回 DNS 解析程式。

  3. 解析程式會將 acme.example.com 的查詢,重新提交給 acme.example.com 託管區域的名稱伺服器。

  4. Route 53 會使用 acme.example.com 託管區域的記錄來回應查詢。

若要設定 Route 53 子網域使用託管區域來路由子網域流量,並從網域託管區域刪除任何重複的記錄,請執行下列程序:

設定 Route 53 使用子網域託管區域 (主控台)
  1. 在 Route 53 主控台中,取得子網域託管區域的名稱伺服器:

    1. 在導覽窗格中,選擇 Hosted zones (託管區域)

    2. Hosted Zones (託管區域) 頁面上,選擇子網域的託管區域的名稱。

    3. 在右窗格中,複製 Hosted zones details (託管區域詳細資訊) 部分中 Name Servers (名稱伺服器) 下所列的四個伺服器名稱。

  2. 選擇網域 (example.com) 託管區域的名稱,而不是子網域託管區域的名稱。

  3. 選擇 Create record (建立記錄)

  4. 選擇 Simple routing (簡易路由),然後選擇 Next (下一步)

  5. 選擇 Define simple record (定義簡易記錄)

  6. 指定下列值:

    名稱

    輸入子網域的名稱。

    值/將流量路由到

    選擇IP 地址或其他值,視紀錄類型而定,然後貼上您在步驟 1 中複製的名稱伺服器的名稱。

    記錄類型

    選擇 NS — 託管區域的名稱伺服器

    TTL (秒)

    將 NS 記錄變更為更常用的值,例如 172800 秒。

  7. 選擇 Define simple record (定義簡易記錄),然後選擇 Create records (建立記錄)

  8. 如果網域託管區域包含您在子網域託管區域中重新建立的任何記錄,請從網域託管區域中刪除這些記錄。如需更多詳細資訊,請參閱 刪除記錄

    完成後,子網域的所有記錄應該會位於子網域託管區域中。

路由其他子網域層級的流量

將流量路由至子網域的子網域 (例如 backend.acme.example.com),方法與將流量路由至子網域 (例如 acme.example.com) 相同。您可以在網域託管區域中建立記錄,或是在為較低層級的子網域建立託管區域,然後在該新託管區域中建立記錄。

如果您選擇為較低層級的子網域建立個別託管區域,請為託管區域中較低層級的子網域 (距離網域名稱較近一級) 建立 NS 記錄。這有助於確保流量正確路由至您的資源。例如,假設您希望路由下列子網域的流量:

  • subdomain1.example.com

  • subdomain2.subdomain1.example.com

若要使用另一個託管區域來路由 subdomain2.subdomain1.example.com 的流量,請執行下列操作:

  1. 建立名為 subdomain2.subdomain1.example.com 的託管區域。

  2. 在 subdomain2.subdomain1.example.com 託管區域中建立記錄。如需更多詳細資訊,請參閱 在子網域的託管區域中建立記錄

  3. 複製 subdomain2.subdomain1.example.com 託管區域名稱伺服器的名稱。

  4. 在 subdomain1.example.com 託管區域中,建立名為 subdomain2.subdomain1.example.com 的 NS 記錄,並貼在 subdomain2.subdomain1.example.com 託管區域的名稱伺服器名稱中。

    此外,刪除 subdomain1.example.com 中任何重複的記錄。如需更多詳細資訊,請參閱 更新網域的託管區域

    建立此 NS 記錄後,Route 53 會開始使用 subdomain2.subdomain1.example.com 託管區域來路由 subdomain2.subdomain1.example.com 子網域的流量。