2017-02-02 200 views
0

所以我對負載平衡是全新的。我對我想做什麼有了一個概念,但我不確定它是否可用於負載平衡。 我有服務器A,它是AWS 上的主要生產服務器,然後我有服務器B,它是A的克隆。 我想爲此創建一個負載平衡元素,當克隆A創建服務器B時它將聯機目標是在服務器A進行維護時克隆A並將負載轉移到服務器B. 最重要的是當我在服務器A上進行維護時,我想要不間斷的服務。然後,我希望能夠關閉服務器B和負載平衡,直到下一次我要維護時爲止。我會如何去做這件事?負載平衡AWS

任何人都可以告訴我,如果這是可行的,或者如果有另一種方式,我應該考慮做我想做的事情。

謝謝提前的傢伙。

回答

2

您可以在服務器A前面有一個負載平衡器。當您想要執行維護時,將服務器B添加到負載平衡器,等待它開始接受流量,然後從負載平衡器中移除服務器A.進行維護,然後將服務器A添加回負載平衡器。服務器A開始接受流量後,從負載均衡器中刪除服務器B.我認爲這與你在問題中描述的最接近。主要問題是HTTP會話。如果您的服務器是用戶登錄並維護長時間運行的會話,那麼您可能需要查看某種會話複製機制,以防止在負載均衡器將它們切換到其他服務器時使所有人都無法從應用中註銷。

另一種選擇是使用Route53運行狀況檢查和DNS故障轉移。

我的建議是使用負載均衡器,並且只是保持兩個實例在運行並且始終接受流量。在需要執行維護時執行滾動更新。

+0

這是一個好主意。從來沒有想過使用這種DNS故障轉移。唯一的問題是,他們能夠在同一個子網上嗎? –

+0

在同一子網上沒有任何理由是一個問題。 –

0

爲什麼不使用AWS Route53 DNS故障轉移來實現您想要的功能,而不是使用Load Balancer?確保您選擇「主動 - 被動故障轉移」記錄集。

這樣,當服務器A不可用時,流量將自動發送到服務器B.您需要確保服務器B已啓動並正在運行。如果服務器A再次準備好生產,只需關閉服務器B,流量將再次進入服務器A.

參考:

http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring.html

+0

小心使用DNS故障轉移代替負載平衡器。如果持續流量,則需要使用負載平衡器。 DNS故障轉移僅適用於新的域分辨率或超過TTL的時間。現有流量仍然需要轉到原來的域名目標。 –