昨天在調整公司的網址規則時查到的一個情況
因為之前本身的工作沒有這種需求,所以自然沒有遇過
正常來說DNS的網址都是設A解析給IP
例如
www.kilait.com A 127.0.0.1
kilait.com A 127.0.0.1
但是現在公司的需求要指給ELB,而AWS ELB又是一個URL,所以只能給CNAME
(註:如果帳號是同一個,Route53 是可以用alias直接指定AWS相關服務的URL,但這裡不是同帳號)
舉例
www.kilait.com CNAME test-elb.ap-northeast-1.amazonaws.com
kilait.com CNAME test-elb.ap-northeast-1.amazonaws.com (這個無法指定CNAME)
發現問題了嗎? 答案是 kilait.com 不能指CNAME
因為他是root 網址,只能給A
這就頭痛了,因為對外入口是給ELB的URL,而不是IP
A是解不出去,不過還好有S3的靜態網址功能可以用
首先建立一個S3 Bucket 叫 kilait.com
然後如下圖設定
之後開 endpoint 的URL 看看是不是被轉給 www.kilait.com了
可以的話就到 route53改解析
Alias的地方選yes 下拉就會出現你剛剛設定的S3 endpoint
直接轉給s3幫你做靜態轉址
雖然多此一舉,但總算比直接給A解析IP好
會變成 kilait.com -> s3 -> www.kilait.com -> elb -> web
不過如果同帳號就沒這問題了
AWS Route53 可以這樣子做
kilait.com -> elb -> web
跨帳號有時候就是會這麼麻煩~
近期留言