本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 網路負載平衡器入門 AWS CLI
本教學透過 提供網路負載平衡器的實作簡介 AWS CLI。
目錄
必要條件
-
AWS CLI 如果您使用的版本不支援 Network Load Balancer,請安裝 AWS CLI 或 更新至目前的 版本。如需詳細資訊,請參閱AWS Command Line Interface 《 使用者指南》中的安裝最新版本的 AWS CLI。
-
決定您要用於 EC2 執行個體的可用區域。在各個可用區域內設定至少包含一個公有子網路的 Virtual Private Cloud (VPC)。
-
決定是否要建立 IPv4 或雙堆疊負載平衡器。如果您想要用戶端僅使用 IPv4 地址來與負載平衡器通訊,請使用 IPv4。如果您想要用戶端同時使用 IPv4 和 IPv6 地址來與負載平衡器通訊,請選擇雙堆疊。您也可以選擇雙堆疊使用 IPv6 與後端目標 (例如 IPv6 應用程式或雙堆疊子網路) 進行通訊。
-
在各個可用區域內啟動至少一個 EC2 執行個體。確保各執行個體的安全群組允許來自用戶端透過接聽程式連接埠的 TCP 存取以及來自您的 VPC 的運作狀態檢查請求。如需詳細資訊,請參閱目標安全群組。
步驟 1:建立 Network Load Balancer 並註冊目標
完成以下步驟,建立您的第一個負載平衡器。
建立 IPv4 Network Load Balancer
-
使用 create-load-balancer 命令建立 Ipv4 負載平衡器,為您在其中啟動執行個體的各個可用區域指定公有子網路。每個可用區域只能指定一個子網路。
根據預設,當 Network Load Balancer 使用 建立時 AWS CLI,它們不會自動使用 VPC 的預設安全群組。如您在建立期間未關聯任何安全群組與負載平衡器,則無法於稍後新增。建議您在建立期間利用
--security-groups
選項來指定負載平衡器的安全群組。aws elbv2 create-load-balancer --name
my-load-balancer
--type network --subnets subnet-0e3f5cac72EXAMPLE
--security-groups sg-0123456789EXAMPLE
其輸出將包含負載平衡器的 Amazon Resource Name (ARN),格式如下:
arn:aws:elasticloadbalancing:
us-east-2
:123456789012
:loadbalancer/net/my-load-balancer/1234567890123456
-
使用 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
-
使用 register-targets 命令向目標群組註冊您的執行個體:
aws elbv2 register-targets --target-group-arn
targetgroup-arn
--targets Id=i-1234567890abcdef0
Id=i-0abcdef1234567890
-
使用 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
-
(選用) 您可以使用 describe-target-health 命令驗證目標群組已註冊目標的運作狀態,如下所示:
aws elbv2 describe-target-health --target-group-arn
targetgroup-arn
建立雙堆疊 Network Load Balancer
-
採用 create-load-balancer 命令建立雙堆疊負載平衡器,針對您啟動執行個體的各個可用區域指定公有子網路。每個可用區域只能指定一個子網路。
aws elbv2 create-load-balancer --name
my-load-balancer
--type network --subnets subnet-0e3f5cac72EXAMPLE
--ip-address-typedualstack
其輸出將包含負載平衡器的 Amazon Resource Name (ARN),格式如下:
arn:aws:elasticloadbalancing:
us-east-2
:123456789012
:loadbalancer/net/my-load-balancer/1234567890123456
-
利用 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
-
使用 register-targets 命令向目標群組註冊您的執行個體:
aws elbv2 register-targets --target-group-arn
targetgroup-arn
--targets Id=i-1234567890abcdef0
Id=i-0abcdef1234567890
-
使用 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
-
(選用) 您可以使用 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-arntargetgroup-arn