2014-07-08 57 views
3

我有一個子域,並將其指向包含少數EC2實例的亞馬遜彈性負載均衡器。爲了指出子域,我們創建了一個CNAME記錄,並將負載均衡器的DNS名稱的值。現在動態ip在亞馬遜彈性負載均衡器創建問題中發生變化

我的問題是:

你隨機知道的彈性負載均衡器的IP地址更改。

因此,如果我要求從任何應用程序解析我的子域的DNS,那麼存在DNS傳播延遲問題(這可能導致返回負載平衡器的舊IP地址),如果負載平衡器的IP已經改變。

我是否應該等待新IP的傳播?或者即使彈性負載平衡在DNS請求得到解決之前發生變化,新的IP也會實時傳播嗎?

回答

0

您不必擔心ELB的IP地址及其更改IP地址的傾向。代替CNAME記錄中的IP地址,您只需將其中一個DNS名稱(IPv4或IPv6)即可,ELB將提供例如:Test-ELB-12345678.us-east-1.elb.amazonaws.com

從ELB信息頁面引用

注意:由於設置了負載平衡器 相關的IP地址可以隨着時間而改變,你永遠不應該有任何 具體創建一個「A」記錄IP地址。如果要爲 負載平衡器使用友好的DNS名稱,而不是Elastic Load 平衡服務生成的名稱,則應爲 LoadBalancer DNS名稱創建CNAME記錄,或使用Amazon Route 53創建託管區域。 欲瞭解更多信息,請參閱Using Domain Names With Elastic Load Balancing

0

幾年前似乎有這樣的擔憂。您可以閱讀以下有趣的文章,其中描述了一些潛在問題:Elastic Load Balancer: An Elasticity Gotcha

  • 將一個新的ELB IP添加到您的ELB池中。另一個應用程序的是保留舊的DNS條目的客戶會打你的應用程序:

的問題是,DNS解析是在整個互聯網多層次緩存。當ELB擴展並從全局池中獲取新的虛擬設備IP地址時,某個客戶端可能仍在使用該IP地址作爲不同ELB DNS名稱的解析。這個ELB可能不屬於你。幾個小時前,具有不同DNS名稱的另一個ELB從DNS查找中返回該IP地址。現在,該IP地址正在爲您的ELB服務。但某些客戶端可能仍然使用該IP地址嘗試訪問不屬於您的應用程序。

  • 的ELB IP從您的ELB池中刪除,並指派給其他應用程序的ELB池。你的客戶,保留老DNS條目將最終擊中,其他應用:

當ELB按比例縮小,並釋放一個虛擬設備的IP地址返回到全局池發生的另一面。有些客戶端可能會繼續將您的ELB的DNS名稱解析爲現在放棄的IP地址。當地址返回到池中時,該客戶端嘗試連接到您的服務將失敗。如果相同的虛擬設備IP然後投入服務於另一個ELB,則客戶端使用緩存但不更長的當前DNS分辨率作爲您的ELB DNS名稱將被引導至另一個ELB虛擬設備,然後再返回 - 不是你的實例。

現在,這篇文章是從2009年和2010年3月,亞馬遜已經部分地解決這一問題:

ELB IP地址將繼續被撤回後,將流量引導到ELB一小時ELB的DNS池

請記住,某些客戶端可能會將DNS條目緩存更長時間,但仍可能會受到影響。

相關問題