前言
Amazon Route 53 是 AWS 提供的高可用性、高擴展性的雲端 DNS(Domain Name System)網域名稱系統服務。它將使用者對網域的請求轉譯為 IP 位址,讓使用者能夠透過易於記憶的網域名稱存取您的應用程式和服務。
本文將帶您了解 Route 53 的核心功能,包括託管區域的建立、各種 DNS 記錄類型、路由政策,以及如何與其他 AWS 服務進行整合。
Route53 簡介
什麼是 Route 53?
Route 53 是 AWS 的 DNS 服務,名稱來源於 DNS 協定使用的 TCP/UDP 連接埠 53。它提供三個主要功能:
- 網域註冊:直接在 AWS 註冊新網域
- DNS 路由:將網域名稱解析到正確的 IP 位址或 AWS 資源
- 健康檢查:監控資源的可用性並進行故障轉移
Route 53 的主要特點
- 高可用性:使用全球分散的 DNS 伺服器,提供 100% 可用性 SLA
- 快速傳播:DNS 變更通常在 60 秒內全球傳播
- 整合 AWS 服務:與 ELB、CloudFront、S3 等服務無縫整合
- 彈性路由:支援多種路由政策滿足不同需求
- DNSSEC 支援:提供網域名稱系統安全延伸
DNS 基本概念
| 術語 | 說明 |
|---|---|
| Domain Name | 網域名稱,如 example.com |
| DNS Record | DNS 記錄,定義如何回應 DNS 查詢 |
| Hosted Zone | 託管區域,包含網域的所有 DNS 記錄 |
| Name Server | 名稱伺服器,負責回應 DNS 查詢 |
| TTL | Time To Live,DNS 記錄的快取時間 |
託管區域建立
什麼是託管區域?
託管區域(Hosted Zone)是包含網域 DNS 記錄的容器。當您在 Route 53 中建立託管區域時,它會自動建立 NS(名稱伺服器)和 SOA(權威起始)記錄。
託管區域類型
- 公有託管區域:用於在網際網路上路由流量
- 私有託管區域:用於在 VPC 內部路由流量
建立公有託管區域
- 登入 AWS 管理主控台
- 進入 Route 53 服務
- 在左側選單點擊「託管區域」
- 點擊「建立託管區域」
- 填寫設定:
- 網域名稱:輸入您的網域名稱(如 example.com)
- 類型:選擇「公有託管區域」
- 描述(選填):為區域添加說明
- 點擊「建立託管區域」
建立私有託管區域
私有託管區域用於 VPC 內部的 DNS 解析:
- 在「建立託管區域」頁面
- 類型選擇「私有託管區域」
- 在「VPC」區段選擇要關聯的 VPC
- 可選擇多個 VPC 進行關聯
- 點擊「建立託管區域」
設定網域名稱伺服器
如果您的網域是在其他註冊商註冊的,需要更新 NS 記錄:
- 在 Route 53 中檢視託管區域的 NS 記錄
- 複製四個名稱伺服器位址
- 到您的網域註冊商更新 NS 記錄
| |
注意:NS 記錄變更可能需要 24-48 小時才能完全傳播。
記錄類型說明
Route 53 支援多種 DNS 記錄類型,以下是最常用的記錄類型說明:
A 記錄(Address Record)
將網域名稱對應到 IPv4 位址。
| |
AAAA 記錄
將網域名稱對應到 IPv6 位址。
| |
CNAME 記錄(Canonical Name)
將一個網域名稱別名指向另一個網域名稱。
| |
限制:CNAME 記錄不能用於區域頂點(Zone Apex,如 example.com),只能用於子網域。
Alias 記錄(別名記錄)
Route 53 特有的記錄類型,可將網域指向 AWS 資源,且可用於區域頂點。
| |
Alias vs CNAME 比較
| 特性 | Alias | CNAME |
|---|---|---|
| 區域頂點支援 | 是 | 否 |
| AWS 資源整合 | 原生支援 | 需額外設定 |
| 查詢費用 | 免費(指向 AWS 資源) | 標準費用 |
| 回應速度 | 更快 | 需額外 DNS 查詢 |
MX 記錄(Mail Exchange)
指定處理電子郵件的郵件伺服器。
| |
數字代表優先順序,數字越小優先順序越高。
TXT 記錄
儲存文字資訊,常用於網域驗證和 SPF/DKIM 設定。
| |
NS 記錄(Name Server)
指定網域的權威名稱伺服器。
| |
SOA 記錄(Start of Authority)
包含區域的管理資訊,Route 53 自動建立和管理。
建立 DNS 記錄
- 選擇託管區域
- 點擊「建立記錄」
- 填寫記錄詳細資訊:
- 記錄名稱:子網域名稱(如 www)
- 記錄類型:選擇適當的類型
- 值:目標 IP 或網域
- TTL:快取時間(秒)
- 路由政策:選擇路由策略
- 點擊「建立記錄」
路由政策
Route 53 提供多種路由政策,讓您可以根據不同需求設定 DNS 解析行為。
簡單路由(Simple Routing)
最基本的路由政策,將流量導向單一資源。
使用場景:單一 Web 伺服器或資源
| |
如果記錄包含多個值,Route 53 會隨機回傳所有值。
加權路由(Weighted Routing)
根據指定的權重比例分配流量到不同資源。
使用場景:
- A/B 測試
- 藍綠部署
- 逐步遷移
| |
延遲路由(Latency-based Routing)
根據使用者到 AWS 區域的網路延遲,將流量導向延遲最低的資源。
使用場景:全球部署的應用程式,需要最佳效能
| |
故障轉移路由(Failover Routing)
設定主要和備用資源,當主要資源不健康時自動切換到備用資源。
使用場景:
- 高可用性架構
- 災難復原
| |
需要搭配健康檢查使用。
地理位置路由(Geolocation Routing)
根據使用者的地理位置(國家、洲或美國各州)導向不同資源。
使用場景:
- 依地區顯示不同內容
- 符合資料主權法規
- 限制特定地區存取
| |
地理接近路由(Geoproximity Routing)
根據資源的地理位置和偏差設定來路由流量。可透過偏差值擴大或縮小資源的服務範圍。
使用場景:需要微調流量分配的全球部署
需要使用 Route 53 Traffic Flow 功能。
多值回應路由(Multivalue Answer Routing)
回傳多個健康的資源 IP,類似簡單路由但具有健康檢查功能。
使用場景:需要簡單負載平衡且具備健康檢查
| |
IP 型路由(IP-based Routing)
根據使用者的來源 IP 位址範圍路由流量。
使用場景:
- 根據 ISP 優化路由
- 企業內部流量管理
路由政策比較表
| 路由政策 | 主要用途 | 健康檢查 |
|---|---|---|
| 簡單路由 | 單一資源 | 不支援 |
| 加權路由 | 流量分配比例 | 支援 |
| 延遲路由 | 最低延遲 | 支援 |
| 故障轉移 | 高可用性 | 必須 |
| 地理位置 | 依地區路由 | 支援 |
| 地理接近 | 微調地理分配 | 支援 |
| 多值回應 | 簡單負載平衡 | 支援 |
| IP 型 | 依來源 IP | 支援 |
與其他 AWS 服務整合
Route 53 與眾多 AWS 服務無縫整合,以下是常見的整合方式:
整合 Elastic Load Balancing (ELB)
將網域指向 Application Load Balancer 或 Network Load Balancer。
- 在託管區域中建立記錄
- 選擇記錄類型為「A」或「AAAA」
- 開啟「別名」
- 路由流量至:選擇「Application/Classic Load Balancer 的別名」
- 選擇區域和 ALB
| |
整合 Amazon CloudFront
將網域指向 CloudFront 發行版,提供全球 CDN 加速。
- 建立別名記錄
- 路由流量至:選擇「CloudFront 分發的別名」
- 選擇您的 CloudFront 發行版
| |
注意:需要在 CloudFront 中設定替代網域名稱(CNAME)並配置 SSL 憑證。
整合 Amazon S3
將網域指向 S3 靜態網站託管。
前提條件:
- S3 儲存貯體名稱必須與網域名稱相同
- 儲存貯體必須啟用靜態網站託管
- 建立別名記錄
- 路由流量至:選擇「S3 網站端點的別名」
- 選擇區域和儲存貯體
| |
整合 Amazon API Gateway
將自訂網域指向 API Gateway 端點。
- 在 API Gateway 中設定自訂網域名稱
- 在 Route 53 建立別名記錄
- 指向 API Gateway 的區域端點
| |
整合 EC2 執行個體
直接將網域指向 EC2 執行個體的公有 IP 或 Elastic IP。
- 建立 A 記錄
- 輸入 EC2 執行個體的公有 IP 位址
| |
建議:使用 Elastic IP 確保 IP 位址不會在執行個體停止後變更。
整合 Amazon RDS
雖然 RDS 不能直接使用別名記錄,但可以使用 CNAME 記錄。
| |
健康檢查與 CloudWatch 整合
Route 53 健康檢查可與 CloudWatch 整合,實現監控和警示。
建立健康檢查:
- 在 Route 53 選擇「健康檢查」
- 點擊「建立健康檢查」
- 設定端點、協定、連接埠和路徑
設定 CloudWatch 警示:
- 健康檢查會自動建立 CloudWatch 指標
- 可設定警示在健康狀態變更時通知
| |
使用 AWS CLI 管理 Route 53
| |
最佳實務
安全性建議
- 啟用 DNSSEC:防止 DNS 欺騙攻擊
- 使用 IAM 政策:限制對 Route 53 資源的存取
- 啟用查詢記錄:記錄 DNS 查詢以便稽核
- 定期審查記錄:移除不需要的 DNS 記錄
效能優化
適當設定 TTL:
- 穩定服務:較長 TTL(3600 秒或更長)
- 頻繁變更:較短 TTL(60-300 秒)
使用別名記錄:指向 AWS 資源時優先使用別名記錄
善用健康檢查:確保流量只導向健康的資源
成本優化
- 整合託管區域:相關網域使用同一託管區域
- 使用別名記錄:查詢 AWS 資源時免費
- 合理設定健康檢查間隔:根據需求選擇適當的檢查頻率
總結
本文介紹了 AWS Route 53 DNS 服務的核心功能,包括:
- Route 53 的基本概念和主要特點
- 如何建立和管理託管區域
- 各種 DNS 記錄類型及其使用場景
- 多種路由政策的應用
- 與其他 AWS 服務的整合方式
Route 53 是 AWS 雲端架構中的重要組件,掌握其設定與管理技巧,能幫助您建立高可用性、全球化的應用程式架構。