開始使用網路負載平衡器 AWS CLI - Elastic Load Balancing

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

開始使用網路負載平衡器 AWS CLI

本教學課程提供網路負載平衡器的實際操作簡介,透過 AWS CLI.

必要條件

  • AWS CLI 如果您使用的版本不支援網路負載平衡器,請安裝 AWS CLI 或更新至目前版本的。如需詳細資訊,請參閱《AWS Command Line Interface 使用者指南》中的安裝 AWS Command Line Interface

  • 決定要用於EC2執行個體的可用區域。在每個可用區域中,至少使用一個公有子網路來設定您的虛擬私有雲 (VPC)。

  • 決定是否要建立IPv4或雙重堆疊負載平衡器。IPv4如果您希望用戶端只使用IPv4位址與負載平衡器通訊,請使用此選項。如果您希望用戶端使用IPv4和IPv6位址與負載平衡器進行通訊,請使用 dualstack。您也可以使用 dualstack 與後端目標通訊,例如IPv6應用程式或雙堆疊子網路,使用. IPv6

  • 在每個可用區域中至少啟動一個EC2執行個體。請確定這些執行個體的安全群組允許來自TCP接聽程式連接埠上的用戶端存取,以及來自您的VPC. 如需詳細資訊,請參閱目標安全群組

步驟 1:建立 Network Load Balancer 並註冊目標

完成以下步驟,建立您的第一個負載平衡器。

建立 IPv4 Network Load Balancer
  1. 使用此命create-load-balancer令建立IPv4負載平衡器,為您在其中啟動執行個體的每個可用區域指定公用子網路。每個可用區域只能指定一個子網路。

    依預設,當使用建立網路負載平衡器時 AWS CLI,它們不會自動使用. VPC 如您在建立期間未關聯任何安全群組與負載平衡器,則無法於稍後新增。建議您在建立期間利用 --security-groups 選項來指定負載平衡器的安全群組。

    aws elbv2 create-load-balancer --name my-load-balancer --type network --subnets subnet-0e3f5cac72EXAMPLE --security-groups sg-0123456789EXAMPLE

    輸出包括負載平衡器的 Amazon 資源名稱 (ARN),格式如下:

    arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/net/my-load-balancer/1234567890123456
  2. 使用指create-target-group令建立IPv4目標群組,並指定您用於EC2執行VPC個體的目標群組。IPv4目標群組支援 IP 和執行個體類型目標。

    aws elbv2 create-target-group --name my-targets --protocol TCP --port 80 --vpc-id vpc-0598c7d356EXAMPLE

    輸出包括目標群組ARN的,格式如下:

    arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/1234567890123456
  3. 使用 register-targets 命令向目標群組註冊您的執行個體:

    aws elbv2 register-targets --target-group-arn targetgroup-arn --targets Id=i-1234567890abcdef0 Id=i-0abcdef1234567890
  4. 使用 create-listener 命令為您的負載平衡器建立具有預設規則以轉送請求至目標群組的接聽程式:

    aws elbv2 create-listener --load-balancer-arn loadbalancer-arn --protocol TCP --port 80 \ --default-actions Type=forward,TargetGroupArn=targetgroup-arn

    輸出包含監聽器ARN的,格式如下:

    arn:aws:elasticloadbalancing:us-east-2:123456789012:listener/net/my-load-balancer/1234567890123456/1234567890123456
  5. (選擇性) 您可以使用下describe-target-health列命令驗證目標群組的已註冊目標的健全狀況:

    aws elbv2 describe-target-health --target-group-arn targetgroup-arn
建立雙堆疊 Network Load Balancer
  1. 使用此命create-load-balancer令建立 dualstack 負載平衡器,為您在其中啟動執行個體的每個可用區域指定公用子網路。每個可用區域只能指定一個子網路。

    aws elbv2 create-load-balancer --name my-load-balancer --type network --subnets subnet-0e3f5cac72EXAMPLE --ip-address-type dualstack

    輸出包括負載平衡器的 Amazon 資源名稱 (ARN),格式如下:

    arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/net/my-load-balancer/1234567890123456
  2. 使用指create-target-group令建立目標群組,並指定您用於EC2執行VPC個體的目標群組。

    您必須將TCP或TLS目標群組與雙重堆疊負載平衡器搭配使用。

    您可以建立群組IPv4和IPv6目標群組,以便與雙重堆疊負載平衡器建立關聯。目標群組的 IP 地址類型會決定負載平衡器用於與後端目標通訊並檢查目標運作狀態的 IP 版本。

    IPv4目標群組支援 IP 和執行個體類型目標。IPv6目標僅支援 IP 目標。

    aws elbv2 create-target-group --name my-targets --protocol TCP --port 80 --vpc-id vpc-0598c7d356EXAMPLE --ip-address-type [ipv4 or ipv6]

    輸出包括目標群組ARN的,格式如下:

    arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/1234567890123456
  3. 使用 register-targets 命令向目標群組註冊您的執行個體:

    aws elbv2 register-targets --target-group-arn targetgroup-arn --targets Id=i-1234567890abcdef0 Id=i-0abcdef1234567890
  4. 使用 create-listener 命令為您的負載平衡器建立具有預設規則以轉送請求至目標群組的接聽程式。雙堆棧負載平衡器必須具有TCP或偵聽器。TLS

    aws elbv2 create-listener --load-balancer-arn loadbalancer-arn --protocol TCP --port 80 \ --default-actions Type=forward,TargetGroupArn=targetgroup-arn

    輸出包含監聽器ARN的,格式如下:

    arn:aws:elasticloadbalancing:us-east-2:123456789012:listener/net/my-load-balancer/1234567890123456/1234567890123456
  5. (選擇性) 您可以使用下describe-target-health列命令驗證目標群組的已註冊目標的健全狀況:

    aws elbv2 describe-target-health --target-group-arn targetgroup-arn

步驟 2:(選擇性) 為您的 Network Load Balancer 定義彈性 IP 位址

當建立 Network Load Balancer 時,您可利用子網路映射,為每個子網路指定單一彈性 IP 地址。

aws elbv2 create-load-balancer --name my-load-balancer --type network \ --subnet-mappings SubnetId=subnet-0e3f5cac72EXAMPLE,AllocationId=eipalloc-12345678

步驟 3:(可選)刪除 Network Load Balancer

當您已不再需要負載平衡器和目標群組時,便可將其刪除,如下所示:

aws elbv2 delete-load-balancer --load-balancer-arn loadbalancer-arn aws elbv2 delete-target-group --target-group-arn targetgroup-arn