# AWS Route 53 設定自定義名稱伺服器 ###### tags: `AWS 功能` ## 設定自定義名稱伺服器 * 白色標籤是指 IP 地址中不包含主機名,白標名稱服務器是默認名稱服務器,不會透露主機的身份。用戶通過看到這個名稱服務器不會知道公司的名稱,這主要在轉售託管帳戶使用。 > 例如:ns1.thecompanyserver.com ### 第一部分 : 建立 Route 53 可重複使用的委派組 * **託管區域** 和 **可重複使用的委派組** 均由相同的 AWS 帳戶建立時,才能使用託管區域的白標籤名稱伺服器 * `aws route53 create-reusable-delegation-set --caller-reference <獨一無二的字串> --hosted-zone-id <託管區域 ID>` ``` # aws route53 create-reusable-delegation-set --caller-reference support-test --hosted-zone-id Z00793881RDRGZL7FPVVE { "Location": "https://route53.amazonaws.com/2013-04-01/delegationset/N05341351EWEYQ12V28VQ", "DelegationSet": { "Id": "/delegationset/N05341351EWEYQ12V28VQ", "CallerReference": "support-test", "NameServers": [ "ns-1825.awsdns-36.co.uk", "ns-446.awsdns-55.com", "ns-925.awsdns-51.net", "ns-1515.awsdns-61.org" ] } } ``` * 刪除並重新建立 `witty-cdn.com` 託管區域,並在建立時指定前面已建立的 可重複使用的委派組 ID :::danger **注意** : <br>因為不能變更與現有託管區域關聯的名稱伺服器,只有在創建 **託管區域** 時才能將 **託管區域** 與既有的 **可重複使用的委派組** 進行關聯,所以會需要重新建立託管區域 ::: * `aws route53 create-hosted-zone --name <域名> --caller-reference <獨一無二的字串> --delegation-set-id <前一步驟建立的可重複使用的委派組的 ID>` ``` # aws route53 create-hosted-zone --name witty-cdn.com --caller-reference support-test-witty --delegation-set-id /delegationset/N05341351EWEYQ12V28VQ { "Location": "https://route53.amazonaws.com/2013-04-01/hostedzone/Z0613374QX846KYB8LF1", "HostedZone": { "Id": "/hostedzone/Z0613374QX846KYB8LF1", "Name": "witty-cdn.com.", "CallerReference": "support-test-witty", "Config": { "PrivateZone": false }, "ResourceRecordSetCount": 2 }, "ChangeInfo": { "Id": "/change/C01871932BWNGUZWXIA7Z", "Status": "PENDING", "SubmittedAt": "2022-11-21T07:07:53.409000+00:00" }, "DelegationSet": { "Id": "/delegationset/N05341351EWEYQ12V28VQ", "CallerReference": "support-test", "NameServers": [ "ns-1825.awsdns-36.co.uk", "ns-446.awsdns-55.com", "ns-925.awsdns-51.net", "ns-1515.awsdns-61.org" ] } } ``` ### 第二部分 : 建立或重新建立 Amazon Route 53 託管區域,以及變更 NS 和 SOA 記錄的 TTL * 當建立託管區域時,並在嘗試存取對應網域的資源之前,變更每個託管區域的以下 TTL 值: * 將託管區域的 NS 記錄的 TTL 變更為 60 秒以下。 * 將託管區域的 SOA 記錄的最小 TTL 變更為 60 秒以下。 (這是 SOA 記錄中的最後一個值) * 如果不小心向註冊商提供白標籤名稱伺服器的錯誤 IP 地址,網站會無法使用,先將 TTL 設定低值,並更正問題,可縮短網站無法使用的時間。 ### 第三部分 : 重新建立託管區域的記錄 * 如果要將網域的 DNS 服務遷移到 Amazon Route 53 – 可透過匯入現有記錄的相關資訊來建立記錄。 * 如果要取代現有的託管區域以使用白標籤名稱伺服器 – 在新的託管區域,重新建立目前託管區域中顯示的記錄。Route 53 不提供從託管區域匯出記錄的方法。 ### 第四部分 : 取得 IP 地址 * 取得可重複使用的委派組中名稱伺服器的 IPv4 和 IPv6 地址 : ``` "ns-1825.awsdns-36.co.uk", "ns-446.awsdns-55.com", "ns-925.awsdns-51.net", "ns-1515.awsdns-61.org" ``` * 取得名稱伺服器的 IP 地址 : ``` # dig A ns-1825.awsdns-36.co.uk +short 205.251.199.33 # dig A ns-446.awsdns-55.com +short 205.251.193.190 # dig A ns-925.awsdns-51.net +short 205.251.195.157 # dig A ns-1515.awsdns-61.org +short 205.251.197.235 # dig AAAA ns-1825.awsdns-36.co.uk +short 2600:9000:5307:2100::1 # dig AAAA ns-446.awsdns-55.com +short 2600:9000:5301:be00::1 # dig AAAA ns-925.awsdns-51.net +short 2600:9000:5303:9d00::1 # dig AAAA ns-1515.awsdns-61.org +short 2600:9000:5305:eb00::1 ``` ### 第五部分 : 為白標籤名稱伺服器建立記錄 * 建立記錄 (共八個): * 每個白標籤名稱伺服器一個 A 記錄 * 每個白標籤名稱伺服器一個 AAAA 記錄 ![](https://i.imgur.com/JlVGGBk.png) ### 第六部分 : 更新 NS 和 SOA 記錄 ![](https://i.imgur.com/l6Z3quf.png) * 注意 : SOA 記錄的 TTL 中已變更最後一個值,即存留時間 (TTL)。 * 將 Route 53 名稱伺服器的名稱取代為其中一個白標籤名稱伺服器的名稱,以更新 SOA 記錄 * 將 Route 53 名稱伺服器的名稱: ``` # EXAMPLE ns-2048.awsdns-64.net. hostmaster.example.com. 1 7200 900 1209600 60 # TEST ns-1825.awsdns-36.co.uk. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 60 ``` * 取代為其中一個白標籤名稱伺服器的名稱: ``` # EXAMPLE ns1.example.com. hostmaster.example.com. 1 7200 900 1209600 60 # TEST ns1.wall-cdn.com. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 60 ``` * 在 NS 記錄,記下網域目前的名稱伺服器的名稱,以便在必要時恢復為這些名稱伺服器 ``` ns-1466.awsdns-55.org ns-1948.awsdns-51.co.uk ns-468.awsdns-58.com ns-567.awsdns-06.net ``` * 更新 NS 記錄。將 Route 53 名稱伺服器的名稱取代為四個白標籤名稱伺服器的名稱 ``` # EXAMPLE ns1.example.com ns2.example.com ns3.example.com ns4.example.com # TEST ns1.wall-cdn.com ns2.wall-cdn.com ns3.wall-cdn.com ns4.wall-cdn.com ``` ### 第七部分 : 建立黏附記錄和變更註冊商的名稱伺服器 * 選擇 Registered Domains (已註冊的網域) -> 選擇該網域名稱 -> Add/Edit Name Servers (新增/編輯名稱伺服器) #### 新增黏附記錄 & 將網域的名稱伺服器變更為白標籤名稱伺服器的名稱 : :::warning **注意** : 黏附紀錄必須同時加入 IPv4 & IPv6 ::: ![](https://i.imgur.com/ZXKHAKA.png) ### 第八部分 : 監控網站或應用程式的流量 * 如果流量停止 - 使用註冊商提供的方法,將相應域對應的名稱服務器改回之前的Route 53 名稱服務器 * 如果流量未受影響 - 針對要使用相同白標籤名稱服務器的其餘託管區域,重複執行步驟6 到步驟8 操作 ### 第九部分 : 將 TTL 變更回其原始值 * 將託管區域的 NS 記錄的 TTL 變更為更典型的 NS 記錄值 (例如: 172800 秒) * 將託管區域的 SOA 記錄的最小 TTL 變更為更典型的 SOA 記錄值 (例如: 900 秒) ### 第十部分 : 測試並確認是否成功 #### [測試網站](https://www.whatsmydns.net/) * `dig NS <域名> +short` ``` # dig +short NS wall-cdn.com ns3.wall-cdn.com. ns4.wall-cdn.com. ns1.wall-cdn.com. ns2.wall-cdn.com. # dig +short NS witty-cdn.com ns2.wall-cdn.com. ns3.wall-cdn.com. ns4.wall-cdn.com. ns1.wall-cdn.com. ``` * `dig SOA <域名> +short` ``` # dig +short SOA wall-cdn.com ns1.wall-cdn.com. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 60 # dig +short SOA witty-cdn.com ns1.wall-cdn.com. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 60 ``` ### 📢 注意 : 要在其他域名 (EX. witty-cdn.con) 使用白標籤名稱伺服器,需要完成以下需求及步驟: 1. 要使用的 **域名的託管區域** 必須與 **白標籤名稱伺服器的託管區域** 及其 **可重複使用的委派組** 為相同的 AWS 帳戶建立 2. 在建立託管區域時,必須使用 **與白標籤名稱伺服器 相同的 可重複使用的委派組** 3. 必須更新託管區域的 NS 和 SOA 紀錄 #### 購買免費域名測試 1. 購買免費域名 2. 將域名託管到 AWS Route53 3. 更改託管區域的 NS 和 SOA 紀錄 4. 修改名稱伺服器 5. 成功 ![](https://i.imgur.com/D65v29G.png) ![](https://i.imgur.com/MLC7FUN.png) ![](https://i.imgur.com/tNw3KKL.png) ![](https://i.imgur.com/DB4bYBa.png)