Domain-Name-System
在使用 AWS 的 Route53 切換 CNAME 時避免停機
我正在嘗試從 Heroku 無縫過渡到 AWS。目前,DNS 由 Route53 處理,CNAME 記錄將流量發送到 heroku SSL 子域。我需要將其更改為 A Alias 記錄,指向新的 Elastic Load Balancer,而不會中斷服務。
如果初始記錄是 A 記錄,則只需創建別名 A 記錄,然後刪除原始記錄,這樣給定子域始終存在活動 A 記錄。但是,CNAME 會阻止為同一子域創建任何其他記錄,並顯示以下消息:
<Error><Type>Sender</Type> <Code>InvalidChangeBatch</Code> <Message>RRSet of type A with DNS name www.example.com. is not permitted because a conflicting RRSet of type CNAME with the same DNS name already exists in zone example.com.</Message></Error>
如果我在創建 A 記錄之前刪除了 CNAME 記錄,則會出現一個視窗,在此期間過期的 TTL 將無法解析站點。我怎樣才能避免這種停機時間?
看來您正在使用ChangeResourceRecordSets API 呼叫。只需同時發送兩個更改:A 記錄的 CREATE 和 CNAME 記錄的 DELETE。
如果這不起作用,請對亞馬遜大喊大叫,直到他們修復它。