View a markdown version of this page

沒有黏性的 Application Load Balancer - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

沒有黏性的 Application Load Balancer

當您在沒有任何形式的黏性的情況下使用 Application Load Balancer 時,根據預設,負載平衡器會使用循環配置方法來判斷其應路由流量的 EC2 執行個體。

範本:使用 CloudFormation 範本 basic.yml(包含在範例程式碼 .zip 檔案中) 來嘗試此功能。

注意

本指南包含的所有 CloudFormation 範本都會部署自訂 VPC、路由表、路由、網際網路閘道、Application Load Balancer、目標群組、接聽程式和 EC2 執行個體,以說明特定的負載平衡器黏性策略。

常用案例

在這些情況下,使用 Application Load Balancer 而不黏附:

  • 您有目標清單可路由流量,但目標不會維持工作階段狀態。

  • 您使用的 Web 伺服器未維持工作階段狀態。

  • 您使用的應用程式伺服器未維持工作階段狀態。

步驟

備註
  • NAT 閘道會產生很小的成本。

  • 多個 EC2 執行個體比單一 EC2 執行個體更快地使用您的免費方案時數。

  1. basic.yml實驗室環境中部署 CloudFormation 範本。

  2. 等到目標群組執行個體的運作狀態從初始變更為正常運作

  3. 使用 HTTP (TCP/80) 導覽至 Web 瀏覽器中的 Application Load Balancer URL。

    例如:http://alb-123456789.us-east-1.elb.amazonaws.com/

    網頁會顯示執行個體 1 - TG1執行個體 2 - TG1

  4. 多次重新整理頁面。

預期結果

載入網頁的執行個體 (執行個體 1執行個體 2) 應每次變更,如頁面文字中所反映。負載平衡器邏輯會跨多個內部節點管理最後一個目標,這可能會導致同步延遲,因此您可能會路由到相同的目標。

運作方式

  • 在此範例中,會將兩個 EC2 執行個體指派給單一目標群組。EC2 執行個體已安裝 Apache Web 伺服器 (httpd),且每個 EC2 執行個體上的index.html頁面文字都經過硬式編碼以識別該執行個體。

  • Application Load Balancer 會執行其內部循環配置邏輯,以判斷應接收流量的 EC2 執行個體。

  • 每次重新載入網頁時,Application Load Balancer 都會執行其路由邏輯,而頁面會顯示執行個體 1 - TG1執行個體 2 - TG1