Elastic Load Balancing 層 - AWS OpsWorks

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

Elastic Load Balancing 層

重要

該 AWS OpsWorks Stacks 服務於 2024 年 5 月 26 日終止使用壽命,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載移轉至其他解決方案。如果您對移轉有任何疑問,請透過 AWS Re: post 或透過進AWS 階 Support 與 AWS Support 團隊聯絡。

Elastic Load Balancing 的運作方式與 AWS OpsWorks 堆疊層有所不同。您可以使用 Elastic Load Balancing 控制台或 API 來建立負載平衡器,然後將其附加到現有層,而不是建立層並向其新增執行個體。除了將流量分配到層的執行個體之外,「Elastic Load Balancing」還會執行下列動作:

  • 偵測運作狀態不良的 Amazon EC2 執行個體,並將流量重新路由到剩餘運作狀態良好的執行個體,直到恢復運作狀態不良

  • 自動擴展處理容量的請求,以回應傳入的流量。

  • 若您啟用連接耗盡,負載平衡器會停止將新的請求傳送至狀況不良或即將取消註冊的執行個體,但會在到達指定的逾時值之前保持連線,讓執行個體完成任何傳遞中的請求。

將負載平衡器連接到圖層後, AWS OpsWorks Stacks 會執行以下操作:

  • 取消註冊任何目前註冊的執行個體。

  • 在該層的執行個體上線時自動註冊,並在執行個體離線時取消註冊,包含負載式和時間式執行個體。

  • 自動開始在可用區域將請求路由傳送到註冊的執行個體。

如果您已啟用負載平衡器的連線排除功能,則可以指定 AWS OpsWorks Stacks 是否支援此功能。如果您啟用連線排除支援 (預設設定),則在執行個體關閉後, AWS OpsWorks Stack 會執行下列動作:

  • 從負載平衡器取消註冊執行個體。

    負載平衡器會停止傳送新的請求,並啟動連接耗盡。

  • 延遲觸發關機生命週期事件,直到負載平衡器完成連接耗盡。

如果您未啟用連線排除支援, AWS OpsWorks Stacks 會在執行個體關閉後立即觸發 Shutdown 事件,即使執行個體仍連線至負載平衡器也是如此。

若要搭配堆疊使用 Elastic Load Balancing,您必須先使用 Elastic Load Balancing 主控台、CLI 或 API,在相同區域中建立一或多個負載平衡器。建議您注意以下事項:

  • 您只能將一個負載平衡器連接到一個 layer。

  • 每個負載平衡器只能處理一個 layer。

  • AWS OpsWorks 堆疊不支援 Application Load Balancer。您只能將 Classic Load Balancer 與 AWS OpsWorks 堆疊搭配使用。

這表示您必須為每個要平衡的堆疊中的每個層建立個別的 Elastic Load Balancing 器,並僅將其用於此目的。建議的做法是為您打算與 AWS OpsWorks Stack 搭配使用的每個 Elastic Load Balancing 器 (例如 MyStack 1-RailsLayer-ELB) 指派一個不同的名稱,以避免將負載平衡器用於多個用途。

重要

我們建議您為 AWS OpsWorks Stack 層建立新的 Elastic Load Balancing 負載平衡器。如果您選擇使用現有的 Elastic Load Balancing 負載平衡器,您應該先確認該平衡器未用於其他用途,也沒有連接的執行個體。將負載平衡器連接到層後, OpsWorks 移除所有現有的執行個體,並設定負載平衡器僅處理層的執行個體。雖然在技術上可以使用 Elastic Load Balancing 控制台或 API 在將負載平衡器附加到層後修改負載平衡器的配置,但是您不應該這樣做;這些更改將不是永久性的。

將 Elastic Load Balancing 負載平衡器附加至層
  1. 如果您尚未這麼做,請使用 E lastic Load Balancing 主控台、API 或 CLI 在堆疊的區域中建立負載平衡器。當您建立負載平衡器時,請執行下列作業:

    • 請務必指定適合您應用程式的運作狀態檢查 ping 路徑。

      預設 ping 路徑為 /index.html,因此若您的應用程式根並未包含 index.html,您必須指定適當的 ping 路徑,否則運作狀態檢查會失敗。

    • 若您欲使用連接耗盡,請確認已啟用該功能,並且具有適當的逾時值。

    如需詳細資訊,請參閱 Elastic Load Balancing

  2. 建立您希望平衡的 layer編輯現有 layer 的網路設定

    注意

    您無法在建立自訂 layer 時連接負載平衡器。您必須編輯 layer 的設定。

  3. 在「E lastic Load Balancing」下,選取要附加至層的負載平衡器,並指定是否希望 AWS OpsWorks Stack 支援連線排除。

將負載平衡器連接至層後, AWS OpsWorks Stacks 會在堆疊的執行個體上觸發設定生命週期事件,以通知他們變更。 AWS OpsWorks 當您卸離負載平衡器時,堆疊也會觸發 Configuration 事件。

注意

執行個體啟動後, AWS OpsWorks Stack 會執行安裝和部署方法,以安裝套件並部署應用程式。完成這些配方之後,執行個體會處於線上狀態,而 St AWS OpsWorks acks 會使用 Elastic Load Balancing 來註冊執行個體。 AWS OpsWorks 堆疊也會在執行個體上線後觸發 Configuration 事件。這表示 Elastic Load Balancing 登錄和設定配方可以同時執行,而且執行個體可能會在設定配方完成之前註冊。為了確保方案在使用 Elastic Load Balancing 註冊執行個體之前完成,您應該將方案新增至層的安裝或部署生命週期事件中。如需詳細資訊,請參閱 執行配方

有時候將執行個體從負載平衡器移除也會非常有用。例如,當您更新應用程式時,我們建議您將應用程式部署至單一執行個體,並在將其部署到每個執行個體前,驗證應用程式已正常運作。您通常會將執行個體從負載平衡器移除,使其在您完成驗證更新之前不會接收到使用者請求。

您必須使用 Elastic Load Balancing 主控台或 API,從負載平衡器暫時移除線上執行個體。以下說明如何使用主控台。

暫時將執行個體從負載平衡器移除
  1. 開啟 Amazon EC2 主控台,然後選擇負載平衡器

  2. 選擇適當的負載平衡器,然後開啟 Instances (執行個體) 標籤。

  3. 在執行個體的 Actions (動作) 資料行中,選擇 Remove from Load Balancer (從負載平衡器移除)

  4. 當您完成時,請選擇 Edit Instances (編輯執行個體),然後將執行個體返回負載平衡器。

重要

如果您使用 Elastic Load Balancing 主控台或 API 從負載平衡器中移除執行個體,則還必須使用 Elastic Load Balancing 將其放回原處。 AWS OpsWorks Stack 並不知道您使用其他服務主控台或 API 執行的作業,也不會為您將執行個體傳回負載平衡器。有時, AWS OpsWorks 堆棧可以將實例添加回 ELB,但這不能保證行為,並且不會在所有情況下發生。

您可以將多個負載平衡器連接到特定的執行個體組,如下所示:

連接多個負載平衡器
  1. 使用 E lastic Load Balancing 主控台、API 或 CLI 建立一組負載平衡器。

  2. 為每個負載平衡器建立自訂 layer,並將其中一個負載平衡器連接到該 layer。您不需要為這些 layer 實作任何自訂配方。預設自訂 layer 已足夠。

  3. 執行個體組新增至每個自訂 layer。

您可以藉由前往執行個體頁面並按一下適當的負載平衡器名稱,來檢查負載平衡器的屬性。

ELB 頁面會顯示負載平衡器的基本屬性,包含其 DNS 名稱和關聯執行個體的運作狀態。若堆疊正在 VPC 中執行,頁面會顯示子網路,而非可用區域。綠色的核取記號表示運作狀態良好的執行個體。您可以按一下名稱透過負載平衡器以連線到伺服器。