

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

# 建立 Application Load Balancer
<a name="create-application-load-balancer"></a>

Application Load Balancer 會從用戶端接收請求，並將其分佈到目標群組中的目標，例如 EC2 執行個體。如需詳細資訊，請參閱 [ Elastic Load Balancing 使用者指南中的 Elastic Load Balancing 的運作方式。](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html) *Elastic Load Balancing *

**Topics**
+ [先決條件](#load-balancer-prereqs)
+ [建立負載平衡器](#create-load-balancer)
+ [測試負載平衡器](#test-load-balancer)
+ [後續步驟](#application-load-balancer-next-steps)

## 先決條件
<a name="load-balancer-prereqs"></a>
+ 決定您的應用程式將支援哪些可用區域和 IP 地址類型。在每個可用區域中設定具有子網路的負載平衡器 VPC。如果應用程式同時支援 IPv4 和 IPv6 流量，請確保子網路同時具有 IPv4 和 IPv6 CIDRs。在每個可用區域中部署至少一個目標。如需詳細資訊，請參閱[負載平衡器的子網路](application-load-balancers.md#subnets-load-balancer)。
+ 確保目標執行個體的安全群組允許來自用戶端 IP 地址 （如果目標由執行個體 ID 指定） 或負載平衡器節點 （如果目標由 IP 地址指定） 的接聽程式連接埠流量。如需詳細資訊，請參閱[建議的規則](load-balancer-update-security-groups.md#security-group-recommended-rules)。
+ 確保目標執行個體的安全群組使用運作狀態檢查通訊協定，允許來自運作狀態檢查連接埠上負載平衡器的流量。

## 建立負載平衡器
<a name="create-load-balancer"></a>

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

------
#### [ Console ]

**建立 Application Load Balancer**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇 **Load Balancers (負載平衡器)**。

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

1. 在 **Application Load Balancer** (應用程式負載平衡器) 下，選擇 **Create** (建立)。

1. **基本組態**

   1. 針對 **Load balancer name** (負載平衡器名稱)，輸入負載平衡器的名稱。名稱在 區域的一組負載平衡器中必須是唯一的。名稱最多可包含 32 個字元，而且只能包含英數字元和連字號。名称開頭或結尾不得為連字號或 `internal-`。您無法在建立 Application Load Balancer 之後變更其名稱。

   1. 針對 **Scheme** (機制)，選擇 **Internet-facing** (面對網際網路) 或 **internal** (內部)。面對網際網路的負載平衡器會透過網際網路將用戶端的請求路由至目標。內部負載平衡器會使用私有 IP 地址將請求路由至目標。

   1. 針對**負載平衡器 IP 地址類型**，如果您的用戶端使用 IPv**IPv4** 地址與負載平衡器通訊，請選擇 IPv4；如果您的用戶端同時使用 IPv4 和 IPv6 地址與負載平衡器通訊，請選擇 **Dualstack**。 IPv4 如果您的用戶端僅使用 IPv6 地址與負載平衡器通訊，請選擇**不含公有 IPv4 的雙堆疊**。

1. **網路映射**

   1. 針對 **VPC**，選取您為負載平衡器準備的 VPC。透過面向網際網路的負載平衡器，只有具有網際網路閘道VPCs 可供選取。

   1. （選用） 對於 **IP 集區**，您可以選取**將 IPAM 集區用於公有 IPv4 地址**。如需詳細資訊，請參閱[IPAM IP 地址集區](application-load-balancers.md#ip-pools)。

   1. 對於**可用區域和子網路**，為您的負載平衡器啟用區域，如下所示：
      + 從至少兩個可用區域選取子網路
      + 從至少一個本機區域選取子網路
      + 選擇一個 Outpost 子網路

      如需詳細資訊，請參閱[負載平衡器的子網路](application-load-balancers.md#subnets-load-balancer)。

      使用 **Dualstack** 負載平衡器時，您必須選取同時具有 IPv4 和 IPv6 CIDR 區塊的子網路。

1. **安全群組**

   我們會預先選取負載平衡器 VPC 的預設安全群組。您可以視需要選取其他安全群組。如果您沒有符合您需求的安全群組，請選擇**建立新的安全群組**以立即建立。如需詳細資訊，請參閱《*Amazon VPC 使用者指南*》的[建立安全群組](https://docs.aws.amazon.com/vpc/latest/userguide/creating-security-groups.html)。

1. **接聽程式和路由**

   1. 預設值為接聽程式，可接受連接埠 80 上的 HTTP 流量。您可保留預設接聽程式設定，或視需要修改**通訊協定**與**連接埠**。

   1. 針對**預設動作**，請選取要轉寄流量的目標群組。如果您沒有符合您需求的目標群組，請選擇**建立目標群組以立即建立目標群組**。如需詳細資訊，請參閱[建立目標群組](create-target-group.md)。

   1. （選用） 選擇**新增接聽程式標籤**，然後輸入標籤索引鍵和標籤值。

   1. （選用） 選擇**新增接聽程式**以新增另一個接聽程式 （例如 HTTPS 接聽程式）。

1. **安全接聽程式設定**

   只有在您新增 HTTPS 接聽程式時，才會顯示本節。

   1. 針對 **Security policy (安全政策)**，請選擇符合您需求的安全政策。如需詳細資訊，請參閱[安全政策](describe-ssl-policies.md)。

   1. 針對**預設 SSL/TLS 憑證**，有下列選項可用：
      + 如果您使用 建立或匯入憑證 AWS Certificate Manager，請選擇**從 ACM**，然後選擇憑證。
      + 如果您使用 IAM 匯入憑證，請選擇**從 IAM**，然後選擇您的憑證。
      + 如果您在 ACM 中沒有可用的憑證，但有可搭配負載平衡器使用的憑證，請選取**匯入憑證**並提供必要資訊。否則，請選擇**請求新的 ACM 憑證**。如需詳細資訊，請參閱*AWS Certificate Manager 《 使用者指南*》中的[AWS Certificate Manager 憑證](https://docs.aws.amazon.com/acm/latest/userguide/gs.html)。

   1. （選用） 選取**相互驗證 (mTLS)**，選擇政策以啟用 ALPN。

      如需詳細資訊，請參閱[交互 TLS 驗證](mutual-authentication.md)。

1. **使用服務整合最佳化**

   （選用） 您可以整合其他 AWS 與負載平衡器。如需詳細資訊，請參閱[負載平衡器整合](load-balancer-integrations.md)。

1. **負載平衡器標籤**

   （選用） 展開**負載平衡器標籤**。選擇**新增標籤**，然後輸入標籤索引鍵和標籤值。如需詳細資訊，請參閱[標籤](load-balancer-tags.md)。

1. **總結**

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

------
#### [ AWS CLI ]

**建立 Application Load Balancer**  
使用 [create-load-balancer](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-load-balancer.html) 命令。

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

```
aws elbv2 create-load-balancer \
    --name my-load-balancer \
    --type application \
    --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \
    --security-groups sg-1111222233334444
```

**建立內部 Application Load Balancer**  
包含 `--scheme`選項，如下列範例所示。

```
aws elbv2 create-load-balancer \
    --name my-load-balancer \
    --type application \
    --scheme internal \
    --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \
    --security-groups sg-1111222233334444
```

**建立雙堆疊 Application Load Balancer**  
包含 `--ip-address-type`選項，如下列範例所示。

```
aws elbv2 create-load-balancer \
    --name my-load-balancer \
    --type application \
    --ip-address-type dualstack \
    --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \
    --security-groups sg-1111222233334444
```

**加入接聽程式**  
使用 [create-listener](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-listener.html) 命令。如需範例，請參閱 [建立 HTTP 接聽程式](create-listener.md) 和 [建立 HTTPS 接聽程式](create-https-listener.md)。

------
#### [ CloudFormation ]

**建立 Application Load Balancer**  
定義 [AWS::ElasticLoadBalancingV2::LoadBalancer](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-loadbalancer.html) 類型的資源。

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

**加入接聽程式**  
定義 [AWS::ElasticLoadBalancingV2::Listener](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-listener.html) 類型的資源。如需範例，請參閱 [建立 HTTP 接聽程式](create-listener.md) 和 [建立 HTTPS 接聽程式](create-https-listener.md)。

------

## 測試負載平衡器
<a name="test-load-balancer"></a>

 建立負載平衡器後，請確認 EC2 執行個體已通過初始運作狀態檢查。然後，您可以檢查負載平衡器是否正在向 EC2 執行個體傳送流量。若要刪除負載平衡器，請參閱[刪除 Application Load Balancer](load-balancer-delete.md)。

**若要測試負載平衡器**

1. 建立網路負載平衡器之後，選擇 **Close (關閉)**。

1. 在導覽窗格中，選擇 **Target Groups (目標群組)**。

1. 選取新建立的目標群組。

1. 選擇 **Targets (目標)** 並確認您的執行個體已就緒。如果執行個體的狀態為 `initial`，通常是因為執行個體仍在註冊中。此狀態也可能表示執行個體尚未通過最低數量的運作狀態檢查，無法視為運作狀態良好。至少有一個執行個體的運作狀態為健康之後，您可以測試您的負載平衡器。如需詳細資訊，請參閱[目標運作狀態](target-group-health-checks.md#target-health-states)。

1. 在導覽窗格中，選擇 **Load Balancers (負載平衡器)**。

1. 選取新建立的負載平衡器。

1. 選擇**描述**，然後複製面向網際網路的負載平衡器或內部負載平衡器的 DNS 名稱 (例如 my-load-balancer-1234567890abcdef.elb.us-east-2.amazonaws.com)。
   + 對於面向網際網路的負載平衡器，將 DNS 名稱貼至已連接網際網路的 Web 瀏覽器的網址欄位。
   + 對於內部負載平衡器，請將 DNS 名稱貼至具有 VPC 私人連線的 Web 瀏覽器的網址欄位中。

   如果一切設定都正常，瀏覽器會顯示伺服器的預設頁面。

1. 如果網頁未顯示，請參閱下列文件以取得其他組態說明和疑難排解步驟。
   + 對於 DNS 相關問題，請參閱《Amazon Route 53 開發人員指南》**中的[將流量路由到 ELB 負載平衡器](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-elb-load-balancer.html)。
   + 如需有關負載平衡器問題的資訊，請參閱[為 Application Load Balancer 進行疑難排解](load-balancer-troubleshooting.md)。

## 後續步驟
<a name="application-load-balancer-next-steps"></a>

建立負載平衡器之後，您可能想要執行下列動作：
+ 新增[接聽程式規則](listener-rules.md)。
+ 設定[負載平衡器屬性](edit-load-balancer-attributes.md)。
+ 設定[目標群組屬性](edit-target-group-attributes.md)。
+ 【HTTPS 接聽程式】 將憑證新增至[選用憑證清單](listener-update-certificates.md#add-certificates)。
+ 設定[監控功能](load-balancer-monitoring.md)。