

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 创建内部经典负载均衡器
<a name="elb-create-internal-load-balancer"></a>

您可以创建内部负载均衡器，将流量从有权访问负载均衡器的 VPC 的客户端分配到您的 EC2 实例。

**Topics**
+ [前提条件](#create-internal-lb-prereq)
+ [使用控制台创建内部负载均衡器](#create-internal-lb)
+ [使用创建内部负载均衡器 AWS CLI](#create-internal-lb-cli)

## 前提条件
<a name="create-internal-lb-prereq"></a>
+ 如果您尚未为负载均衡器创建 VPC，则必须在开始操作前先创建它。有关更多信息，请参阅 [关于 VPC 的建议](elb-backend-instances.md#set-up-ec2)。
+ 启动您计划向内部负载均衡器注册的 EC2 实例。确保在打算用于负载均衡器的 VPC 中的私有子网中启动它们。

## 使用控制台创建内部负载均衡器
<a name="create-internal-lb"></a>

按照以下过程创建内部经典负载均衡器。提供负载均衡器的基本配置信息，例如名称和模式。然后提供有关网络以及要将流量路由到实例的侦听器的信息。

**使用控制台创建内部经典负载均衡器**

1. 打开 Amazon EC2 控制台，网址为[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)。

1. 在导航栏上，选择您的负载均衡器所在的区域。请务必选择与您为 EC2 实例选择的相同区域。

1. 在导航窗格上的 **Load Balancing**（负载均衡）下，选择 **Load Balancers**（负载均衡器）。

1. 选择 **Create Load Balancer (创建负载均衡器)**。

1. 展开**经典负载均衡器**部分，然后选择**创建**。

1. **基本配置**

   1. 对于**负载均衡器名称**，键入负载均衡器的名称。

      在当前区域的经典负载均衡器集内，经典负载均衡器的名称必须唯一，最多可以有 32 个字符，只能包含字母数字字符和连字符，不能以连字符开头或结尾。

   1. 对于**模式**，选择**内部**。

1. **网络映射**

   1. 对于 **VPC**，选择您为实例选择的 VPC。

   1. 对于**映射**，首先选择一个可用区，然后从该可用区的可用子网中选择一个子网。每个可用区只能选择一个子网。要提高负载均衡器的可用性，请选择多个可用区和子网。

1. 对于**安全组**，选择一个配置为允许在端口 80 上传输所需 HTTP 流量的现有安全组。如果您的应用程序使用其他协议和端口，则也可以创建新的安全组。

1. **侦听器和路由**

   1. 对于**侦听器**，确保协议为 `HTTP`，端口为 `80`。

   1. 对于**实例**，确保协议为 `HTTP`，端口为 `80`。

1. **运行状况检查**

   1. 对于 **Ping 协议**，默认值为 `HTTP`。

   1. 对于 **Ping 端口**，默认值为 `80`。

   1. 对于 **Ping 路径**，默认值为 `/`。

   1. 对于**高级运行状况检查设置**，请使用默认值或输入应用程序特定的值。

1. **实例**

   1. 选择**添加实例**，这时将显示实例选择页面。

   1. 在**可用实例**下，您可以根据之前选择的网络设置，从负载均衡器可用的当前实例中进行选择。

   1. 确认选择无误后，选择**确认**以将要注册的实例添加到负载均衡器。

1. **属性**

   1. 对于**启用跨可用区负载均衡**、**启用连接耗尽**以及**超时（耗尽间隔时间）**，请保留默认值。

1. **负载均衡器标签（可选）**

   1. **键**字段为必填项。

   1. **值**字段为可选项。

   1. 要添加其他标签，请选择**添加新标签**，然后输入**键**字段的值，以及可选的**值**字段的值。

   1. 要移除现有标签，请选择要移除的标签旁的**移除**。

1. **摘要和创建**

   1. 如果需要更改任何设置，请选择需要更改的设置旁的**编辑**。

   1. 确认摘要中显示的所有设置无误后，选择**创建负载均衡器**以开始创建负载均衡器。

   1. 在最终创建页面上，选择**查看负载均衡器**以在 Amazon EC2 控制台中查看您的负载均衡器。

1. **Verify**

   1. 选择新的负载均衡器。

   1. 在**目标实例**选项卡中，选中**运行状态**列。在您的至少一个 EC2 实例处于**服务**状态后，您可以测试您的负载均衡器。

   1. 在**详细信息**部分中，复制负载均衡器的 **DNS 名称**，这看起来类似于 `my-load-balancer-1234567890.us-east-1.elb.amazonaws.com`。

   1. 将负载均衡器的 **DNS 名称**粘贴到已连接到公共互联网的 Web 浏览器地址栏中。如果负载均衡器运行正常，则会看到服务器的默认页面。

1. **删除（可选）**

   1. 如果您有一个指向负载均衡器的域的一个别名记录，请将它指向新的位置并等待 DNS 更改生效，然后再删除您的负载均衡器。

   1. 打开 Amazon EC2 控制台，网址为[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)。

   1. 选择负载均衡器。

   1. 依次选择**操作**、**删除负载均衡器**。

   1. 提示进行确认时，键入 `confirm`，然后选择**删除**。

   1. 删除负载均衡器后，在该负载均衡器中注册的 EC2 实例将继续运行。您将按实例继续运行的部分或完整小时数付费。当您不再需要某个 EC2 实例时，可以停止或终止该实例，以免产生额外费用。

## 使用创建内部负载均衡器 AWS CLI
<a name="create-internal-lb-cli"></a>

默认情况下，Elastic Load Balancing 会创建面向 Internet 的负载均衡器。使用以下过程创建内部负载均衡器，并将您的 EC2实例注册到新创建的内部负载均衡器。

**创建内部负载均衡器**

1. 使用将`--scheme`选项设置为的[create-load-balancer](https://docs.aws.amazon.com/cli/latest/reference/elb/create-load-balancer.html)命令`internal`，如下所示：

   ```
   aws elb create-load-balancer --load-balancer-name my-internal-loadbalancer --listeners Protocol=HTTP,LoadBalancerPort=80,InstanceProtocol=HTTP,InstancePort=80
    --subnets subnet-4e05f721 --scheme internal --security-groups sg-b9ffedd5
   ```

   以下为响应示例。请注意，该名称表示这是一个内部负载均衡器。

   ```
   {
       "DNSName": "internal-my-internal-loadbalancer-786501203.us-west-2.elb.amazonaws.com"
   }
   ```

1. 使用以下 [register-instances-with-load-balancer](https://docs.aws.amazon.com/cli/latest/reference/elb/register-instances-with-load-balancer.html) 命令添加实例：

   ```
   aws elb register-instances-with-load-balancer --load-balancer-name my-internal-loadbalancer --instances i-4f8cf126 i-0bb7ca62
   ```

   以下为响应示例：

   ```
   {
       "Instances": [
           {
               "InstanceId": "i-4f8cf126"
           },
           {
               "InstanceId": "i-0bb7ca62"
           }
       ]
   }
   ```

1. （可选）使用以下[describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html)命令验证内部负载均衡器：

   ```
   aws elb describe-load-balancers --load-balancer-name my-internal-loadbalancer
   ```

   响应包含 `DNSName` 和 `Scheme` 字段，表示这是一个内部负载均衡器。

   ```
   {
       "LoadBalancerDescriptions": [
           {
               ...
               "DNSName": "internal-my-internal-loadbalancer-1234567890.us-west-2.elb.amazonaws.com", 
               "SecurityGroups": [
                   "sg-b9ffedd5"
               ], 
               "Policies": {
                   "LBCookieStickinessPolicies": [], 
                   "AppCookieStickinessPolicies": [], 
                   "OtherPolicies": []
               }, 
               "LoadBalancerName": "my-internal-loadbalancer", 
               "CreatedTime": "2014-05-22T20:32:19.920Z", 
               "AvailabilityZones": [
                   "us-west-2a"
               ], 
               "Scheme": "internal",
               ...
           }
       ]
   }
   ```