创建内部经典负载均衡器 - Elastic Load Balancing
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

创建内部经典负载均衡器

您可以创建一个内部负载均衡器,将来自对负载均衡器的 VPC 具有访问权限的客户端的流量分配到 EC2 实例。

前提条件

  • 如果您尚未为负载均衡器创建 VPC,则必须在开始操作前先创建它。有关更多信息,请参阅准备 VPC 和 EC2 实例

  • 启动您计划向内部负载均衡器注册的 EC2 实例。确保在打算用于负载均衡器的 VPC 中的私有子网中启动它们。

使用 Amazon Web Services Management Console 创建内部负载均衡器

New EC2 experience

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

创建内部经典负载均衡器
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航栏上,选择您的负载均衡器所在的区域。请确保选择您为 EC2 实例选择的同一个区域。

  3. 在导航窗格上的 Load Balancing(负载均衡)下,选择 Load Balancers(负载均衡器)。

  4. 选择 Create Load Balancer (创建负载均衡器)

  5. 展开经典负载均衡器部分,然后选择创建

  6. 基本配置

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

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

    2. 对于模式,选择内部

  7. 网络映射

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

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

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

  9. 侦听器和路由

    1. 对于侦听器,确保协议为 HTTP,端口为 80

    2. 对于实例,确保协议为 HTTP,端口为 80

  10. 运行状况检查

    1. 对于 Ping 协议,默认值为 HTTP

    2. 对于 Ping 端口,默认值为 80

    3. 对于 Ping 路径,默认值为 /

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

  11. 实例

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

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

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

  12. 属性

    1. 对于启用跨可用区负载均衡启用连接耗尽以及超时(耗尽间隔时间),请保留默认值。

  13. 负载均衡器标签(可选)

    1. 字段为必填项。

    2. 字段为可选项。

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

    4. 要移除现有标签,请选择要移除的标签旁的移除

  14. 摘要和创建

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

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

    3. 在最后的创建页面上,选择查看负载均衡器,以在 Amazon EC2 控制台中查看负载均衡器。

  15. 验证

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

    2. 目标实例选项卡中,选中运行状态列。至少一个 EC2 实例处于使用中状态后,便可测试负载均衡器。

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

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

  16. 删除(可选)

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

    2. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

    3. 选择负载均衡器。

    4. 依次选择操作删除负载均衡器

    5. 提示进行确认时,键入 confirm,然后选择删除

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

Old EC2 experience

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

创建内部负载均衡器
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格上的 Load Balancing (负载均衡) 下,选择 Load Balancers (负载均衡器)。

  3. 选择 Create Load Balancer

  4. 对于 Select load balancer type(选择负载均衡器类型),请选择 经典负载均衡器

  5. Define Load Balancer (定义负载均衡器) 页面上,执行以下操作:

    1. 对于 Load Balancer name (负载均衡器名称),键入负载均衡器的名称。

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

    2. 对于 Create LB inside (在内部创建负载均衡器),为负载均衡器选择 VPC。

    3. 选择 Create an internal load balancer (创建内部负载均衡器)

    4. [默认 VPC] 如果您选择了默认 VPC 并希望选择负载均衡器的子网,请选择 Enable advanced VPC configuration (启用高级 VPC 配置)

    5. 保留默认侦听器配置。

      
                                    定义您的内部负载均衡器
    6. 对于 Available subnets,请使用其添加图标至少选择一个可用子网。该子网将移到 Selected subnets 下。要提高负载均衡器的可用性,请选择多个子网。

      注意

      如果您选择了默认 VPC 作为您的网络,但没有选择 Enable advanced VPC configuration,则将不会为您提供选择子网的选项。

      每个可用区最多可以连接一个子网。如果从已连接子网的可用区选择一个子网,则此子网将替换可用区当前连接的子网。

    7. 选择 Next: Assign Security Groups

  6. Assign Security Groups 页面上,选择 Create a new security group。为您的安全组输入名称和描述,或保留默认名称和描述。此新安全组包含一个规则,该规则允许流量进入为要使用的负载均衡器配置的端口。如果将使用其他端口进行运行状况检查,则必须选择 Add Rule 来添加一个规则以允许入站流量也进入该端口。选择 Next: Configure Security Settings

  7. Configure Security Settings 页面上,选择 Next: Configure Health Check 继续执行下一步骤。如果您更愿意创建 HTTPS 负载均衡器,请参阅 经典负载均衡器的 HTTPS 侦听器

  8. Configure Health Check 页面上,配置您的应用程序所需的运行状况检查设置,然后选择 Next: Add EC2 Instances

  9. Add EC2 Instances 页面上,选择要向负载均衡器注册的实例,然后选择 Next: Add Tags

    注意

    当您在连接弹性网络接口 (ENI) 的情况下注册实例时,负载均衡器会将流量路由至实例的主接口 (eth0) 的主要 IP 地址。

  10. (可选) 您可以将标签添加到您的负载均衡器。添加完标签后,选择 Review and Create

  11. Review (审核) 页面上,检查您的设置。如果需要进行更改,请选择相应的链接来编辑设置。完成后,选择 Create

  12. 在您收到已创建负载均衡器的通知后,选择 Close

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

  14. Description 选项卡上,注意 DNS nameScheme 指示负载均衡器是内部负载均衡器。

    查看 Status 行。如果它指示您的部分实例未处于可用状态,则可能是因为您的实例仍在注册过程中。有关更多信息,请参阅对经典负载均衡器进行故障排除:实例注册

使用 Amazon CLI 创建内部负载均衡器

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

创建内部负载均衡器
  1. 使用 create-load-balancer 命令并将 --scheme 选项设置为 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" }
  2. 使用以下 register-instances-with-load-balancer 命令添加实例:

    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" } ] }
  3. (可选)使用以下 describe-load-balancers 命令验证内部负载均衡器:

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

    响应包含 DNSNameScheme 字段,表示这是一个内部负载均衡器。

    { "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", ... } ] }