建立 Network Load Balancer - Elastic Load Balancing

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

建立 Network Load Balancer

Network Load Balancer 會從用戶端接收請求,並將其分佈到目標群組中的目標,例如 EC2 執行個體。如需更多資訊,請參閱Network Load Balancer 概觀

先決條件

  • 決定您的應用程式將支援哪些可用區域和 IP 地址類型。使用每個可用區域中的子網路來設定負載平衡器 VPC。如果應用程式同時支援 IPv4 和 IPv6 流量,請確定子網路同時具有 IPv4 和 IPv6 CIDRs。在每個可用區域中至少部署一個目標。

  • 確保目標執行個體的安全群組允許來自用戶端 IP 地址 (如果目標由執行個體 ID 指定) 或負載平衡器節點 (如果目標由 IP 地址指定) 的接聽程式連接埠流量。

  • 確保目標執行個體的安全群組使用運作狀態檢查通訊協定,允許來自運作狀態檢查連接埠上負載平衡器的流量。

建立負載平衡器

在建立 Network Load Balancer 的過程中,您將建立負載平衡器、至少一個接聽程式,以及至少一個目標群組。當每個啟用的可用區域中至少有一個運作狀態良好的已註冊目標時,您的負載平衡器已準備好處理用戶端請求。

Console
若要建立 Network Load Balancer
  1. 前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Load Balancers (負載平衡器)

  3. 選擇 Create load balancer (建立負載平衡器)。

  4. Network Load Balancer 下,選擇建立

  5. 基本組態

    1. 負載平衡器名稱中,輸入 Network Load Balancer 的名稱。名稱在 區域中的一組負載平衡器中必須是唯一的。名稱最多可包含 32 個字元,且僅能包含英數字元與連字號。其開頭或結尾不得為連字號或 internal-

    2. 針對 Scheme (機制),選擇 Internet-facing (面對網際網路) 或 internal (內部)。面向網際網路的 Network Load Balancer 會透過網際網路將請求從用戶端路由到目標。內部 Network Load Balancer 會使用私有 IP 地址將請求路由至目標。

    3. 對於負載平衡器 IP 地址類型IPv4如果您的用戶端使用 IPv4 地址與 Network Load Balancer 通訊,請選擇 IPv4;如果您的用戶端同時使用 IPv4 和 IPv6 地址與 Network Load Balancer 通訊,請選擇 Dualstack

  6. 網路映射

    1. VPC 中選取一個 VPC。

      透過面向網際網路的負載平衡器,只有具有網際網路閘道VPCs 可供選取。

    2. 使用雙堆疊負載平衡器時,除非 IPv6 來源 NAT 的啟用字首開啟 (每個子網路的來源 NAT 字首),否則您無法新增 UDP 接聽程式。

    3. 對於可用區域和子網路,請選取至少一個可用區域,然後為每個區域選取一個子網路。請注意,與您共用的子網路可供選取。

      如果您選取多個可用區域,並確保您已在每個選取的區域中註冊目標,這會增加應用程式的容錯能力。

    4. 使用面向網際網路的負載平衡器,您可以為每個可用區域選取彈性 IP 地址。這可為您的負載平衡器提供靜態 IP 地址。

      使用內部負載平衡器,您可以從每個子網路的地址範圍輸入私有 IPv4 地址,或讓 為您 AWS 選取一個地址。

      使用雙堆疊負載平衡器,您可以從每個子網路的地址範圍輸入 IPv6 地址,或讓 為您 AWS 選取一個地址。

      對於已啟用來源 NAT 的負載平衡器,您可以輸入自訂 IPv6 字首,或讓 為您 AWS 選取一個字首。

  7. 安全群組

    我們會預先選取負載平衡器 VPC 的預設安全群組。您可以視需要選取其他安全群組。如果您沒有符合您需求的安全群組,請選擇建立新的安全群組以立即建立。如需詳細資訊,請參閱《Amazon VPC 使用者指南》的建立安全群組

    警告

    如果您現在未將任何安全群組與 Network Load Balancer 建立關聯,則無法在稍後建立關聯。

  8. 接聽程式和路由

    1. 預設值是接受連接埠 80 以上 TCP 流量的接聽程式。您可保留預設接聽程式設定,或視需要修改通訊協定連接埠

    2. 針對預設動作,請選取要轉寄流量的目標群組。如果您沒有符合您需求的目標群組,請選擇建立目標群組以立即建立目標群組。如需詳細資訊,請參閱建立目標群組

    3. (選用) 選擇新增接聽程式標籤,然後輸入標籤索引鍵和標籤值。

    4. (選用) 選擇新增接聽程式以新增另一個接聽程式 (例如,TLS 接聽程式)。

  9. 安全接聽程式設定

    1. 針對 Security policy (安全政策),請選擇符合您需求的安全政策。如需詳細資訊,請參閱安全政策

    2. 對於預設 SSL/TLS 伺服器憑證,選擇從 ACM 作為憑證來源。選取您使用 佈建或匯入的憑證 AWS Certificate Manager。如果您在 ACM 中沒有可用的憑證,但有可搭配負載平衡器使用的憑證,請選取匯入憑證並提供必要資訊。否則,請選擇請求新的 ACM 憑證。如需詳細資訊,請參閱AWS Certificate Manager 《 使用者指南》中的AWS Certificate Manager 憑證

    3. (選用) 針對 ALPN 政策,選擇政策以啟用 ALPN。如需詳細資訊,請參閱ALPN 政策

  10. 負載平衡器標籤

    (選用) 展開負載平衡器標籤。選擇新增標籤,然後輸入標籤索引鍵和標籤值。如需詳細資訊,請參閱標籤

  11. 摘要

    複查您的組態,然後選擇 Create load balancer (建立負載平衡器)。建立期間會將一些預設屬性套用至 Network Load Balancer。您可以在建立 Network Load Balancer 之後檢視和編輯它們。如需詳細資訊,請參閱負載平衡器屬性

AWS CLI
若要建立 Network Load Balancer

使用 create-load-balancer 命令。

下列範例會建立具有兩個已啟用可用區域的面向網際網路負載平衡器。

aws elbv2 create-load-balancer \ --name my-load-balancer \ --type network \ --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \ --security-groups sg-1111222233334444
建立內部 Network Load Balancer

包含 --scheme選項,如下列範例所示。

aws elbv2 create-load-balancer \ --name my-load-balancer \ --type network \ --scheme internal \ --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \ --security-groups sg-1111222233334444
建立雙堆疊 Network Load Balancer

包含 --ip-address-type選項,如下列範例所示。

aws elbv2 create-load-balancer \ --name my-load-balancer \ --type network \ --ip-address-type dualstack \ --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \ --security-groups sg-1111222233334444
新增接聽程式

使用 create-listener 命令。如需範例,請參閱 新增接聽程式

CloudFormation
若要建立 Network Load Balancer

定義 AWS::ElasticLoadBalancingV2::LoadBalancer 類型的資源。

Resources: myLoadBalancer: Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer' Properties: Name: my-nlb Type: network Scheme: internal IpAddressType: dualstack Subnets: - !Ref subnet-AZ1 - !Ref subnet-AZ2 SecurityGroups: - !Ref mySecurityGroup Tags: - Key: 'department' Value: '123'

測試負載平衡器

建立 Network Load Balancer 之後,您可以驗證 EC2 執行個體是否已通過初始運作狀態檢查,然後測試 Network Load Balancer 正在傳送流量到您的 EC2 執行個體。若要刪除 Network Load Balancer,請參閱 刪除 Network Load Balancer

測試 Network Load Balancer
  1. 建立 Network Load Balancer 之後,選擇關閉

  2. 在導覽窗格中,選擇 Target Groups (目標群組)

  3. 選取新的目標群組。

  4. 選擇 Targets (目標) 並確認您的執行個體已就緒。若執行個體狀態為 initial,原因可能是執行個體仍在進行登錄,或者未通過可視為運作狀態良好的運作狀態檢查次數下限。在至少一個執行個體的狀態良好之後,您可以測試 Network Load Balancer。如需詳細資訊,請參閱目標運作狀態

  5. 在導覽窗格中,選擇 Load Balancers (負載平衡器)

  6. 選取新的 Network Load Balancer。

  7. 複製 Network Load Balancer 的 DNS 名稱 (例如 my-load-balancer-1234567890abcdef.elb.us-east-2.amazonaws.com)。將此 DNS 名稱貼至已連接網際網路的 web 瀏覽器的網址欄位。如果一切正常,瀏覽器會顯示您的伺服器的預設頁面。

後續步驟

建立負載平衡器之後,建議您執行下列動作: