View a markdown version of this page

路由傳送子網域的流量 - 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://)。NS 記錄名稱必須是子網域名稱 (acme.example.com),而且您會指定您在步驟 3 中取得的四個名稱伺服器做為記錄值。

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

若要實作此委派程序,您需要下列 IAM 許可。如需 Route 53 IAM 政策的詳細資訊,請參閱Amazon Route 53 中的身分和存取管理

父帳戶 (擁有 example.com)

使用者或角色需要許可才能修改父網域託管區域中的記錄:

子帳戶 (建立 acme.example.com)

使用者或角色需要許可才能建立和管理子網域託管區域:

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

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

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

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

注意

此程序說明如何將子網域委派給 Route 53。您也可以建立指向這些服務名稱伺服器的 NS 記錄,將子網域委派給其他 DNS 服務。

下列為此程序的概觀:

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

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

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

為子網域建立新託管區域

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

為子網域建立託管區域 (主控台)
  1. 登入 AWS 管理主控台 並開啟 Route 53 主控台,網址為 https://https://console.aws.amazon.com/route53/

  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 會在記錄存在但不在 DNS 解析程式查詢的託管區域中時傳回 NXDOMAIN (不存在的網域)。

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

更新網域的託管區域

建立託管區域時,Route 53 會自動將四個名稱伺服器指派給區域。託管區域的 NS 記錄會找出回應網域或子網域 DNS 查詢的名稱伺服器。若要開始使用子網域託管區域中的記錄來路由網際網路流量,請在網域的託管區域中建立新的 NS 記錄 (example.com://)。提供子網域的名稱 (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. 指定下列值:

    名稱

    輸入子網域的名稱 (例如 acme.example.com)。這必須完全符合您建立的子網域託管區域的名稱。

    值/將流量路由到

    選擇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 子網域的流量。