AWS - ELB Cross Zone Load Balancing


情境 多 Zone 多 Instance 都是同一個服務並且有各自的 ELB

image

假設

  • AZ-1 有 4 個 Instances
  • AZ-2 有 2 個 Instances

我們怎麼如何讓每台 Instance 都是負擔同樣的負載呢?


情境一 Close Cross-Zone Load Balancing(Default)

image

實際上前面的大 ELB 會平均分配流量給各 Zone 的 ELB 也就是 AZ-1 50% AZ-2 50%

但是當前情況是每個 Zone Instances 數量不同造成單 Zone 加總負載相同 單 Instance 負載不平衡

我們可以怎麼解決


情境二 Open Cross-Zone Load Balancing

image

只要把 Cross-Zone Load Balacing 打開來,ELB 就會根據 Instance 來檢測實際每台 instance 應該負載的流量,讓 Instance 負載平衡


情境三 Single Zone Open Cross-Zone Load Balancing

如果只有一個 AZ 有 ELB + 開啟 Cross-Zone

ELB 負擔全部流量 Instance 平均分擔流量

image

情境四 Single Zone Open Cross-Zone Load Balancing with Path Pattern

如果只有一個 AZ 有 ELB + 開啟 Cross-Zone 再套用 Path Pattern

其中的 Path Pattern 可以讓管理者根據 Route Path 來決定流量要轉發到哪個 Target Group

image


Reference

  • 小信豬的原始部落 - AWS CSA Associate 學習筆記 - HA Architecture