為什麼在 Route 53+S3 組合中使用 CNAME
我一直在閱讀亞馬遜關於使用 Route 53 和 S3 為靜態網站提供服務的文件。
他們展示的策略是:
example.com A -> alias to s3-website-eu-west-1.amazonaws.com (example.com bucket) www.example.com CNAME -> www.example.com.s3-website-eu-west-1.amazonaws.com
example.com
儲存桶設置為託管靜態內容,www.example.com
儲存桶設置為永久重定向到example.com
.很好,它可以工作,但是因為我正在嘗試學習和了解 DNS 的詳細工作原理,所以我不明白他們為什麼不簡單地這樣做:
example.com A -> alias to s3-website-eu-west-1.amazonaws.com (example.com bucket) www.example.com A -> alias to s3-website-eu-west-1.amazonaws.com (www.example.com bucket)
它不會有助於減少一個額外的 DNS 解析步驟(
A
查找www.example.com.s3-website-eu-west-1.amazonaws.com
)嗎?考慮到 Route 53 能夠直接別名為儲存桶,在這裡使用 CNAME 有什麼好處嗎?
需要明確的是,使用 CNAME 是可行的,但我試圖從學術上理解為什麼他們不建議使用 A 別名。
我認為在了解 DNS 本身的工作原理方面,重要的是要注意沒有他們推薦的別名
example.com
記錄之類的東西,這完全是 Route53 功能,他們在幕後解析指定的名稱並公開標準A
記錄在 DNS 中(無論您在創建它時選擇了何種記錄類型,但在他們的範例中它是一條A
記錄)。為什麼他們選擇不推薦使用他們的別名功能
www.example.com
並不完全清楚。如果您使用正常的靜態記錄,也許它們的成本會更少?也許他們認為正常的靜態記錄更健壯?也許還有其他記錄而不是A
理想www.example.com.s3-website-eu-west-1.amazonaws.com
情況下應該存在,但他們不覺得他們可以要求您一個一個添加作為別名(CNAME
使名稱成為另一個的別名,無論請求的記錄類型如何)?相反,
CNAME
在這兩種情況下都使用不是一種選擇。由於CNAME
記錄不能與其他數據共存,因此永遠不可能CNAME
在區域頂點有一個,因為至少有SOA
一個NS
記錄在那裡。