AWS 認證準備 ch07 DNS 與內容分發
下一章→
CH 07 中高頻考點

DNS 與內容分發

Route 53 路由策略CloudFrontOACGlobal Accelerator

本章處理「用戶怎麼找到你的服務、內容怎麼快速送到用戶手上」兩個問題:Route 53 的多種路由策略(Failover、Weighted、Latency…)該對應什麼場景,以及 CloudFront 搭配 OAC 與 Global Accelerator 如何降低全球延遲、保護來源站。

🧱 白話:DNS = 把「名字」翻譯成「IP」的電話簿,Route 53 扮演的是「權威伺服器」——你的網域名冊放在它手上,由它回答全世界的查詢(53 就是 DNS 的 Port)。解析流程、TTL 快取、各紀錄類型的地基見 基礎篇 ch02 DNS 與 HTTP。

  • A 記錄:域名 → IPv4 位址
  • AAAA 記錄:域名 → IPv6 位址
  • CNAME:域名 → 另一個域名。不能用於裸域(Zone Apex),如 example.com(只能用 www.example.com)。
  • Alias(別名):Route 53 特有,類似 CNAME 但功能更強。可以用於裸域(Zone Apex)。可以指向 AWS 資源(ALB、CloudFront、S3 靜態網站、API Gateway 等)。免費(CNAME 到 AWS 服務要費用,Alias 不用)。
  • NS 記錄:指定哪個 DNS 伺服器負責這個域名
  • SOA 記錄:Start of Authority,包含域名的管理資訊
🚨 考試陷阱:裸域(如 example.com)不能用 CNAME,只能用 Alias。如果題目說「apex domain 要指向 ALB」→ 用 Alias Record。
💡 Alias Record 可以免費指向的 AWS 服務:ALB、NLB、CloudFront、API Gateway、S3 靜態網站、Elastic Beanstalk。但不能指向 EC2 的 DNS 名稱。

Hosted Zone 與混合雲 DNS:

  • Public Hosted Zone:對整個網際網路公開的解析,例如 example.com 的官網。
  • Private Hosted Zone:關聯到指定 VPC,只在那些 VPC 內部生效,用來幫內部服務取名字(如 db.internal.example.com)而不對外曝露。
  • Route 53 Resolver Endpoints:地端與 VPC 互連後,要讓兩邊互相解析彼此的私有名稱時使用。
    ・Inbound Endpoint:地端 → VPC。地端 DNS 把查詢轉進來,就能解析 VPC 裡的 Private Hosted Zone。
    ・Outbound Endpoint+轉發規則(Forwarding Rule):VPC → 地端。VPC 內查到指定網域(如 corp.local)時,轉給地端 DNS 回答。
    ・兩個方向各一個,要雙向就兩個都建。
🚨 考試陷阱:「地端與 VPC 互相解析私有 DNS」→ Resolver Endpoints。Public Hosted Zone 是給網際網路查的,根本解析不了私有名稱;Private Hosted Zone 只解決 VPC 內部,不管地端。
  • Simple(簡單):一個記錄返回一或多個 IP。沒有 Health Check。如果返回多個 IP,客戶端隨機選一個。不能配合 Health Check 使用。
  • Weighted(加權):按權重比例分配流量(如 70% 給 v1,30% 給 v2)。用途:A/B Testing、新版本灰度發布。支援 Health Check。
  • Latency(延遲):根據用戶到各 Region 的延遲,自動導向延遲最低的 Region。最適合多 Region 部署提升用戶體驗。
  • Failover(容錯轉移):設定 Primary 和 Secondary。Primary 的 Health Check 失敗時,自動切換到 Secondary(常是 S3 靜態備援頁面)。災難恢復首選。
  • Geolocation(地理位置):根據用戶所在地理位置(國家/州)路由。不是延遲,是真實地理位置。用途:合規(EU 用戶必須連歐洲伺服器)、語言地區化內容。
  • Geoproximity(地理鄰近):根據用戶與資源的距離,可以透過 Bias(偏移值) 調整流量比例(Traffic Flow 功能)。比 Geolocation 更靈活。
  • Multi-Value(多值):返回多個健康的 IP,最多 8 個。每個記錄都有 Health Check,不健康的不返回。比 Simple 多了健康檢查能力。不是 ELB 的替代品。
⭐ 考試選擇口訣:DR/備援 → Failover;A/B測試 → Weighted;多Region用戶體驗 → Latency;地區合規 → Geolocation;兩者都要 → Geoproximity + Bias

🧱 白話:CDN = 把貨先鋪到你家巷口的超商(邊緣節點),使用者就近取貨——距離縮短所以延遲下降,大部分請求在邊緣被消化所以源站負載大減。Cache Hit/Miss 與快取原理見 基礎篇 ch02 的 CDN 段落。

  • 核心功能:全球 CDN,將內容快取到 400+ 個 Edge Location,讓用戶從最近的節點取得內容,降低延遲。支援靜態和動態內容。
  • Origins(來源):S3 Bucket、ALB、EC2、任何 HTTP 端點(包含 On-Premises)。
  • OAC(Origin Access Control):讓 S3 Bucket 只允許 CloudFront 存取,阻止直接從 S3 URL 存取。OAC 是較新的機制,取代舊版的 OAI(Origin Access Identity)。
  • Behaviors(行為):根據 URL 路徑設定不同的快取行為(TTL、轉發 Header、壓縮等)。
  • CloudFront + WAF:在 CloudFront 前掛 AWS WAF,可以在邊緣節點過濾惡意請求(SQL Injection、XSS 等),在流量到達來源前就被阻擋。
  • CloudFront Functions vs Lambda@Edge:
    ・CloudFront Functions:超輕量,毫秒執行,修改請求/回應 Header,成本極低。
    ・Lambda@Edge:更強大,可執行複雜邏輯(驗證 JWT、A/B 測試),在 Edge Location 執行。
  • Signed URLs / Signed Cookies:控制 CloudFront 內容的存取權限,讓只有授權用戶能取得內容(如付費影片)。
  • Origin Group(來源容錯):設定主要與次要 origin,主要來源回傳指定的錯誤碼(如 5xx)時,CloudFront 自動改向次要來源取內容。這是 CloudFront 層級的容錯,跟 Route 53 Failover 是不同層的東西。
  • Price Class(價格等級):選擇要用哪些地區的邊緣節點。使用者集中在北美+歐洲時,只啟用這些地區可以降低成本,代價是其他地區的使用者延遲變高。
💡 S3 + CloudFront 標準架構:S3 Bucket 設為私有,透過 OAC 只讓 CloudFront 存取,用戶只能透過 CloudFront URL 取得內容。
  • 核心功能:提供 2 個靜態 Anycast IP(Anycast 是一種路由技巧:同一個 IP 位址同時廣播在全球多個 AWS Edge 節點上,使用者連線時,網路會自動導向「離這位使用者最近」的那個節點,不像一般固定 IP 只對應單一實體位置——這就是為什麼流量能「從最近的 Edge 進入」),流量進來後再走 AWS 私有骨幹網路到目標端點,避免公共網路的不穩定。
  • 支援的端點:ALB、NLB、EC2、Elastic IP。適合非 HTTP 協定(TCP/UDP)的應用。
  • 固定 IP:Global Accelerator 提供固定的靜態 IP,不像 CloudFront 只有 DNS 名稱。適合需要 IP 白名單的客戶。
  • 健康檢查:自動偵測端點健康狀態,不健康時自動切換到其他 Region 的端點,實現故障轉移。
⭐ CloudFront vs Global Accelerator:
・CloudFront:快取 HTTP/HTTPS 內容(CDN),靜態/動態內容加速
・Global Accelerator:不快取,走 AWS 骨幹加速 TCP/UDP,提供固定靜態 IP
🚨 考試陷阱:「需要固定 IP 的全球加速方案」→ Global Accelerator(CloudFront 沒有固定 IP)。「靜態內容全球加速」→ CloudFront。
Route 53 六大路由策略比較
策略路由依據Health Check典型用途
Simple無(固定返回)❌單一資源,最基本
Weighted權重比例✅A/B 測試、灰度發布
Latency最低延遲 Region✅多 Region 用戶體驗
FailoverPrimary/Secondary 健康狀態✅(必須)災難恢復(DR)首選
Geolocation用戶地理位置(國家/州)✅合規、地區化內容
Geoproximity距離 + Bias 調整✅精細的地理流量控制
Multi-Value返回多個健康 IP✅簡單 DNS 層負載平衡
CloudFront vs Global Accelerator
特性CloudFrontGlobal Accelerator
主要功能內容快取(CDN)TCP/UDP 流量加速(無快取)
協定HTTP / HTTPSTCP、UDP、HTTP(任何 TCP/UDP)
固定 IP❌(只有 DNS 名稱)✅ 2 個靜態 Anycast IP
快取✅ Edge 快取(降低來源壓力)❌ 不快取,直接轉發
適合場景網站、API、影片、靜態資源遊戲、IoT、VoIP、需要固定 IP
DDoS 防護AWS Shield Standard(免費)AWS Shield Standard(免費)
CNAME vs Alias Record
特性CNAMEAlias
裸域(Zone Apex)❌ 不支援✅ 支援
指向 AWS 服務可以(但有 DNS 查詢費)✅ 免費
Health Check支援支援
指向 EC2 DNS✅ 可以❌ 不支援

練習題 點選選項查看解析

0 / 24
01 / 24
一個電商網站部署在 us-east-1,想讓亞洲用戶也有良好的存取速度,並在 ap-northeast-1 部署了相同應用。Route 53 應使用哪種路由策略讓用戶自動連到延遲最低的 Region?
A Route 53 Geolocation 路由
B Route 53 Failover 容錯路由
C Route 53 Weighted 加權路由
D Route 53 Latency 延遲路由
解析
Latency 路由策略讓 Route 53 根據用戶到各個 Region 的實際網路延遲來選擇目標。亞洲用戶通常到 ap-northeast-1 延遲更低,美洲用戶到 us-east-1 延遲更低,因此自動達到就近路由的效果。Geolocation 是依據地理位置(國家/洲),但延遲不一定與地理位置成正比。
02 / 24
一家公司的主要 Web 應用發生故障時,希望 Route 53 自動將流量切換到一個 S3 靜態備援頁面(顯示「維護中」)。應使用哪種路由策略?
A Route 53 Weighted 加權路由
B Route 53 Multi-Value 路由
C Route 53 Failover 容錯路由
D Route 53 Simple 簡單路由
解析
Route 53 Failover 路由策略正是為這個場景設計的:設定一個 Primary 記錄(指向主應用,配置 Health Check),一個 Secondary 記錄(指向 S3 靜態備援頁面)。當 Health Check 偵測到 Primary 不健康時,Route 53 自動把流量切到 Secondary。這是 SAA 考試中「災難恢復/DR」場景的經典答案。
03 / 24
關於 Route 53 Geolocation vs Latency 路由策略的差異,以下哪項描述最準確?
A 兩者運作方式相同
B Geolocation 限單一區域
C Latency 才需要指定位置
D 依地理位置與延遲不同
解析
Geolocation 依據用戶 IP 的地理位置(國家或州)決定路由,例如「所有來自台灣的請求導到 ap-northeast-1」,主要用於合規或內容地區化。Latency 依據實際網路延遲測量,亞洲用戶雖然地理上離 ap-northeast-1 近,但若因某些網路路由問題,延遲不一定最低,Latency 策略會選實際延遲最低的 Region。
04 / 24
一家公司使用 CloudFront 分發 S3 的靜態資源,並希望確保用戶只能透過 CloudFront URL 存取內容,無法直接用 S3 URL 存取。應如何設定?
A S3 Bucket 設為公開
B 啟用 Requester Pays
C 用 OAC 搭配私有 S3
D 設定 Custom Error
解析
OAC(Origin Access Control)讓 CloudFront 可以用其身分存取私有 S3 Bucket,同時阻止直接的 S3 URL 存取。設定步驟:① S3 Bucket 設為私有(不開放公共存取);② 在 CloudFront 建立 OAC;③ 更新 S3 Bucket Policy 只允許 CloudFront 的 OAC 存取。OAC 是 OAI(Origin Access Identity)的升級版,是現在的推薦做法。
05 / 24
一個全球遊戲公司需要讓玩家連接到遊戲伺服器時有最低的延遲,且遊戲使用 UDP 協定。公司也需要為白名單防火牆提供固定 IP。最適合的服務是?
A 使用 Amazon CloudFront
B 用 AWS Global Accelerator
C 用 Route 53 Latency 路由
D 用跨 Region ALB 分發
解析
Global Accelerator 提供 2 個靜態 Anycast IP(解決固定 IP 需求),讓流量從最近的 AWS Edge 進入後走 AWS 骨幹私有網路(低延遲穩定),並且支援 UDP 協定(CloudFront 只支援 HTTP/HTTPS)。CloudFront 是 CDN,主要用於快取 HTTP 內容,不適合 UDP 遊戲流量。Global Accelerator 是這個場景的唯一正確答案。
06 / 24
公司域名為 example.com(裸域/Zone Apex),需要將它指向一個 ALB。以下哪種 DNS 記錄設定是正確的?
A 建立 Alias 記錄指向 ALB
B 建立 A 記錄指向 ALB IP
C 建立 CNAME 記錄指向 ALB
D 建立 NS 記錄指向 ALB
解析
DNS 標準不允許裸域(Zone Apex,如 example.com)使用 CNAME 記錄。ALB 沒有固定 IP,所以也不能用 A 記錄。Route 53 的 Alias 記錄是解決方案:它是 Route 53 特有的,可以用於裸域,可以指向 AWS 資源(如 ALB、CloudFront、S3 靜態網站),而且免費(不收 DNS 查詢費)。
07 / 24
想把 10% 的使用者流量導到新版本、90% 導到舊版本以做金絲雀發布。Route 53 應用哪種路由策略?
A Weighted(加權)路由
B Latency(延遲)路由
C Failover(容錯)路由
D Simple(簡單)路由
解析
Weighted Routing 依你設定的權重比例分配流量,適合 A/B 測試、金絲雀/藍綠部署的漸進切換(如 10/90)。Latency 依延遲、Failover 依健康、Simple 無法分流。
08 / 24
想依「使用者與資源的地理距離」路由,且能用 bias 值「擴大或縮小」某個資源的服務範圍。應用?
A Geolocation(地理位置)路由
B Geoproximity(地理鄰近)路由
C Latency(延遲)路由
D Weighted(加權)路由
解析
Geoproximity 依地理距離路由並可用 bias 調整某資源覆蓋範圍大小(把流量往某區多導或少導)。Geolocation 是依使用者「所在國家/洲」的固定對應,不能用 bias 微調距離。
09 / 24
想讓 Route 53 回傳「多個健康的 IP」讓用戶端自行選擇,達到簡單的健康檢查式分流(非正式負載平衡器)。應用?
A 用 CNAME 記錄設定方式
B 用 Simple(簡單)的路由
C 用 Alias(別名)記錄設定
D 用 Multivalue Answer 路由
解析
Multivalue Answer 可對同一名稱回傳多筆記錄並結合健康檢查,只回健康的目標,提供簡易的容錯分流。它不是真正的負載平衡器,但比 Simple(不做健康檢查)更有韌性。
10 / 24
Route 53 的 Failover 路由要能自動切換,依賴什麼判斷主端點是否正常?
A 靠 Health Check 健康檢查
B 靠 TTL 快取存活時間
C 靠 Alias(別名)記錄
D 靠 CNAME 記錄設定
解析
Route 53 Health Check 定期探測端點健康狀態,Failover 路由據此在主端點不健康時把流量切到備援端點。沒有健康檢查,Failover 無從判斷何時切換。
11 / 24
想在 VPC「內部」用自訂網域名稱解析私有資源(不對外公開)。應使用?
A 用 Private Hosted Zone
B 用 Public Hosted Zone
C 改用 CloudFront
D 改用 NAT Gateway
解析
Private Hosted Zone 關聯到指定 VPC,提供只在 VPC 內部生效的 DNS 解析,用於內部服務命名而不對外曝露。Public Hosted Zone 是對網際網路公開的解析。
12 / 24
關於 Route 53 Alias 記錄相較於 CNAME 的優勢,何者正確?
A 僅能指向外部的網域名稱
B 支援 Zone Apex 且免費用
C CNAME 也一樣支援 Zone Apex
D 兩者行為完全相同一致
解析
Alias 是 AWS 專屬記錄,可用於 Zone Apex(如 example.com,CNAME 不行),指向 ALB、CloudFront、S3 等 AWS 資源且查詢不額外收費、自動追蹤資源 IP 變化。CNAME 不能用於裸域。
13 / 24
想讓付費會員才能存取 CloudFront 上的影片,發給每位會員「有時效」的存取連結。應使用?
A 使用公開的 Distribution
B 用 Signed URL 或 Cookie
C 把 S3 設定為公開存取
D 改設定 WAF 過濾規則
解析
CloudFront Signed URL(單一檔案)或 Signed Cookie(多個檔案)提供帶時效與條件的存取控制,適合付費內容/會員影片。公開 distribution 無法限制;WAF 是過濾攻擊不是做會員授權。
14 / 24
CloudFront 除了 S3,還能用什麼當來源(origin)?
A 只能使用 Lambda 當來源
B 只能使用 S3 當作來源
C 只能使用 DynamoDB 當來源
D S3、ALB、EC2 等 HTTP 來源
解析
CloudFront 支援多種 origin:S3、以及任何 HTTP 來源(ALB、EC2、甚至 AWS 外部網站)作為 custom origin,因此可為動態應用做全球加速與快取,不限於靜態 S3 內容。
15 / 24
想在 CloudFront 邊緣「就近」執行輕量邏輯(如 A/B 導向、標頭改寫、URL 重寫)以降低延遲。應使用?
A 直接改用 EC2 處理邏輯
B 用區域中心的 Lambda
C 用 Functions/Lambda@Edge
D 改用 Step Functions 編排
解析
CloudFront Functions(極輕量、超低延遲)或 Lambda@Edge(較複雜邏輯)在邊緣節點就近執行,用於標頭操作、重寫/重導、A/B、驗證等,比回中央區域處理延遲更低。
16 / 24
想控制 CloudFront 對某類內容快取多久、以及依 query string/cookie 區分快取。應設定?
A 改設 NACL 網路存取控制
B 改設 Route 53 路由策略
C 設定 Cache Behavior 與 TTL
D 改設 S3 的 Bucket Policy
解析
CloudFront 的 Cache Behavior 依路徑模式設定 TTL、要不要依 query string/header/cookie 區分快取鍵等,精細控制快取。這與 DNS 路由或網路 ACL 無關。
17 / 24
一個「非快取型」的 TCP/UDP 應用(如遊戲、VoIP、IoT)需要全球低延遲與快速故障切換到健康端點。相較 CloudFront,較適合?
A 改用 Amazon CloudFront
B 改用 AWS Global Accelerator
C 用 S3 Transfer Acceleration
D 改用 Route 53 Weighted
解析
Global Accelerator 走 AWS 骨幹網、提供任播靜態 IP 與快速健康切換,適合「非快取」的 TCP/UDP 動態流量(遊戲、VoIP、IoT)。CloudFront 專長是「快取」HTTP 內容分發,用途不同。
18 / 24
想降低 CloudFront 成本,公司使用者主要集中在北美與歐洲,不需要用到最貴的所有邊緣節點。應設定?
A 調整 CloudFront Price Class
B 關閉 CloudFront 快取功能
C 改用 S3 直接公開分發內容
D 把 TTL 值設定為無限長
解析
CloudFront Price Class 讓你選擇要用哪些地區的邊緣節點——只服務特定地區(如北美+歐洲)可降低成本,代價是其他地區使用者延遲較高。適合使用者集中在特定區域的情境。
19 / 24
想讓 CloudFront 在主要來源(origin)故障時自動改用備援來源。應設定?
A 啟用 Sticky Sessions
B Route 53 Weighted 路由
C CloudFront Origin Group 設定
D 使用 S3 Multipart Upload
解析
CloudFront Origin Group 可設定主要與次要 origin,當主要來源回傳指定錯誤時自動切換到備援來源,提升內容分發的韌性。
20 / 24
地端資料中心與 AWS VPC 互連後,想讓兩邊「互相解析」彼此的私有 DNS 名稱。應使用?
A 改用 NAT Gateway 轉發
B Route 53 Public Hosted Zone
C 改用 CloudFront 分發
D Route 53 Resolver Endpoints
解析
Route 53 Resolver 的 inbound/outbound endpoints 讓地端與 VPC 之間能互相轉發 DNS 查詢,實現混合雲的雙向名稱解析。Public Hosted Zone 是對外公開解析,不解決內部互相解析。
21 / 24
法規要求德國的使用者一律連到 eu-central-1 的伺服器,即使美國 Region 對某些德國使用者的延遲比較低也一樣。Route 53 應使用哪種路由策略?
A Geolocation 路由
B Latency 路由
C Weighted 路由
D Multi-Value 路由
解析
Geolocation 依使用者「實際所在的國家/州」決定導向,適合資料落地與合規這類硬性要求。Latency 路由只看延遲,可能把德國使用者導到美國;Weighted 是按比例分流;Multi-Value 只是回傳多個健康的 IP,都無法保證地區歸屬。
22 / 24
網站前面已經有 CloudFront,最近常收到 SQL Injection 與 XSS 攻擊請求。想在流量抵達來源伺服器之前就在邊緣擋掉,應該怎麼做?
A 在來源 EC2 上安裝防毒軟體
B 在 CloudFront 掛上 AWS WAF
C 改用 Global Accelerator
D 調低 CloudFront 的 TTL
解析
AWS WAF 可以掛在 CloudFront 上,在邊緣節點依規則過濾 SQL Injection、XSS 等惡意 HTTP 請求,惡意流量根本到不了來源。在來源主機上處理已經太晚;Global Accelerator 不檢查 HTTP 內容;TTL 只影響快取時間,跟阻擋攻擊無關。
23 / 24
某網域用 Simple 路由設了三個 IP。其中一台伺服器當機後,仍有部分使用者被導到那台而連線失敗。最直接的原因是?
A DNS 的 TTL 設定太短
B 三台伺服器不在同一 AZ
C Simple 路由無法搭配健康檢查
D 應改用 CNAME 記錄
解析
Simple 路由沒有 Health Check,回傳多個 IP 時由用戶端隨機挑一個,就算其中一台掛了也照樣回傳。想讓 DNS 自動排除不健康的 IP,要改用 Multi-Value(每筆記錄都有健康檢查);真正的負載平衡仍應交給 ELB。
24 / 24
在 Route 53 建立 Alias 記錄時,下列哪一個「不能」作為 Alias 的目標?
A Application Load Balancer
B CloudFront 分配
C S3 靜態網站端點
D EC2 執行個體的 DNS 名稱
解析
Alias 可以免費指向 ALB、NLB、CloudFront、API Gateway、S3 靜態網站、Elastic Beanstalk 等 AWS 資源,但不能指向 EC2 的 DNS 名稱。要指向單台 EC2,改用 A 記錄搭 Elastic IP,或用 CNAME 指向它的 DNS 名稱(非根網域時)。

點擊卡片翻面查看答案,共 5 張。

QUESTION
Route 53 六大路由策略的使用場景?
點擊翻面
ANSWER
Failover → DR/備援
Weighted → A/B測試
Latency → 多Region延遲最低
Geolocation → 地理位置合規
Geoproximity → 精細地理控制
Multi-Value → DNS層健康負載
點擊翻回
QUESTION
裸域(example.com)為何不能用 CNAME?解法是?
點擊翻面
ANSWER
DNS 標準規定 Zone Apex 不能有 CNAME。
解法:用 Route 53 的 Alias Record,可指向 AWS 服務(ALB/CloudFront/S3)且免費。
點擊翻回
QUESTION
CloudFront OAC 的作用?
點擊翻面
ANSWER
讓 S3 Bucket 保持私有,只允許 CloudFront 存取。用戶只能透過 CloudFront URL 取得內容,無法直接用 S3 URL 繞過 CloudFront。
點擊翻回
QUESTION
CloudFront vs Global Accelerator 選哪個?
點擊翻面
ANSWER
CloudFront → 快取 HTTP 內容(CDN),靜態資源加速
Global Accelerator → 非HTTP/固定IP/TCP+UDP加速,走AWS骨幹私有網路
點擊翻回
QUESTION
Route 53 Failover 的設定方式?
點擊翻面
ANSWER
Primary 記錄 + Health Check(主要服務)
Secondary 記錄(備援,如 S3 靜態頁面)
Health Check 失敗時自動切換到 Secondary。
點擊翻回