情境:
這家公司在AWS雲端上部署不同的系統,在好幾個 VPC之中,都透過 Transit Gateway 讓所有網路互通;同時,也串接總公司本地端的資料中心,為了要讓本地端、所有 VPC 都能解析同一個私有網域,他們必須建立一套效能最佳、維運最低的 Hybrid DNS 架構。
從上述情境可以判斷,最主要就是希望本地端也要能夠訪問到指定的DNS去解析,但因為本地端不在AWS的環境內,所以得另外做配置。
依照情境我們先出一張圖讓大家清楚,可以看到我們在AWS雲端上的多個VPC與本地端的資料中心,都要能夠正常的去解析訪問正確的 cxcxc.lab.com 這個域名。

核心知識點:
Route53 Private Hosted Zone的主要功能
可以在 VPC 內部使用自定義的域名(例如 internal.corp)來解析私有資源 IP 位址,對公網是隱藏的。
1.對外網隱藏,所以僅內網可用,就算你今天用了一個沒對外註冊的域名也可以運作。
2.只對有關聯到的VPC提供解析,可設定多個VPC都綁定到同一個託管區域,讓他們可以共用同一個DNS解析紀錄(Record)
3.可設定DNS 記錄 (DNS Records),像是A 或 AAAA 記錄,或指定AWS的特定資源,例如RDS資料庫的端點位置。

Route53 Resolver的主要功能
內建的 DNS 服務,負責處理 VPC 內部資源的 DNS 查詢,並可以設定入站 (Inbound) 和出站 (Outbound) 規則,讓 VPC 與本地資料中心或其他網路交換 DNS 查詢。
1.VPC 預設 DNS 服務,會解析 AWS 資源名稱,例如: EC2建立後的域名(c2-192-0-2-44.compute-1.amazonaws.com)
2.會解析公網的DNS域名,Resolver 會向網際網路上的公有名稱的伺服器執行遞迴查詢。
3.主要進階功能是實現 VPC 與本地端網路 之間的 DNS 查詢解析。
4.傳入 Resolver 端點(Inbound Endpoints),允許從 本地端網路(或其他VPC) 向 指定 VPC 進行 DNS 查詢。
5.傳出 Resolver 端點(Outbound Endpoints),允許從 指定VPC 向 本地端網路(或其他VPC) 進行 DNS 查詢。
6.解析器規則 (Resolver Rules),將指定域名建立條件式轉送規則,控制將來自 VPC 的 DNS 查詢轉送到本地 DNS 解析器的規則,這些規則可以跨多個帳戶共用。

結論:
在 Transit Gateway 的配置可將地雲連通的情況
Private Hosted Zone 綁定到所有 VPC → 所有 VPC 均可解析
本地端網路 → DNS 走 AWS 查詢路徑 → 透過 Inbound Resolver 解析
透過上述三個技術實踐的結合,就可以實現 Hybrid DNS,本地的DNS查詢就可以輕鬆的拋上雲端處理。
參考連結:
https://docs.aws.amazon.com/zh_tw/Route53/latest/DeveloperGuide/resolver.html
https://docs.aws.amazon.com/zh_tw/Route53/latest/DeveloperGuide/hosted-zones-private.html



