

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

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

Network Load Balancer 會從用戶端接收請求，並將其分佈到目標群組中的目標，例如 EC2 執行個體。如需更多資訊，請參閱[Network Load Balancer 概觀](introduction.md#network-load-balancer-overview)。

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

## 先決條件
<a name="load-balancer-prereqs"></a>
+ 決定您的應用程式將支援哪些可用區域和 IP 地址類型。使用每個可用區域中的子網路來設定負載平衡器 VPC。如果應用程式同時支援 IPv4 和 IPv6 流量，請確保子網路同時具有 IPv4 和 IPv6 CIDRs。在每個可用區域中至少部署一個目標。
+ 確保目標執行個體的安全群組允許來自用戶端 IP 地址 （如果目標由執行個體 ID 指定） 或負載平衡器節點 （如果目標由 IP 地址指定） 的接聽程式連接埠流量。如需詳細資訊，請參閱[目標安全群組](target-group-register-targets.md#target-security-groups)。
+ 確保目標執行個體的安全群組使用運作狀態檢查通訊協定，允許來自運作狀態檢查連接埠上負載平衡器的流量。
+ 如果您打算為負載平衡器提供靜態 IP 地址，請確保每個彈性 IP 地址來自 Amazon 的 IPv4 地址集區，且其具有與負載平衡器相同的網路邊界群組。
+ 如果您計劃使用 QUIC 或 TCP\$1QUIC 接聽程式，請確保 Network Load Balancer 使用 `ipv4`地址類型，並且沒有與其相關聯的安全群組。

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

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

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

**若要建立 Network 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. 在 **Network Load Balancer** 下，選擇**建立**。

1. **基本組態**

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

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

   1. 針對**負載平衡器 IP 地址類型**，**IPv4**如果您的用戶端使用 IPv4 地址與 Network Load Balancer 通訊，請選擇 IPv4；如果您的用戶端同時使用 IPv4 和 IPv6 地址與 Network Load Balancer 通訊，請選擇 **Dualstack**。

1. **網路映射**

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

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

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

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

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

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

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

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

1. **安全群組**

   我們會預先選取負載平衡器 VPC 的預設安全群組。您可以視需要選取其他安全群組。如果您沒有符合您需求的安全群組，請選擇**建立新的安全群組**以立即建立。如需詳細資訊，請參閱《*Amazon VPC 使用者指南*》的[建立安全群組](https://docs.aws.amazon.com/vpc/latest/userguide/creating-security-groups.html)。
**警告**  
如果您現在未將任何安全群組與 Network Load Balancer 建立關聯，則無法在稍後建立關聯。
**警告**  
若要使用 QUIC 或 TCP\$1QUIC 接聽程式，您的 Network Load Balancer 必須沒有安全群組。

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

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

   1. 針對**預設動作**，選取要轉送流量的目標群組。

      若要新增另一個目標群組，請選擇**新增目標群組**並視需要更新權重。

      如果您沒有符合您需求的目標群組，請選擇**建立目標群組以立即建立目標群組**。如需詳細資訊，請參閱[建立目標群組](create-target-group.md)。

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

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

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

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

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

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

   1. （選用） 針對 **ALPN 政策**，選擇政策以啟用 ALPN。如需詳細資訊，請參閱[ALPN 政策](load-balancer-listeners.md#alpn-policies)。

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

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

1. **總結**

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

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

**若要建立 Network 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 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](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-listener.html) 命令。如需範例，請參閱 [建立接聽程式](create-listener.md)。

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

**若要建立 Network 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-nlb
      Type: network
      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) 類型的資源。如需範例，請參閱 [建立接聽程式](create-listener.md)。

------

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

建立 Network Load Balancer 之後，您可以驗證 EC2 執行個體是否已通過初始運作狀態檢查，然後測試 Network Load Balancer 是否正在將流量傳送至 EC2 執行個體。若要刪除 Network Load Balancer，請參閱 [刪除 Network Load Balancer](load-balancer-delete.md)。

**測試 Network Load Balancer**

1. 建立 Network Load Balancer 之後，選擇**關閉**。

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

1. 選取新的目標群組。

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

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

1. 選取新的 Network Load Balancer。

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

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

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