创建内部经典负载均衡器 - Elastic Load Balancing

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

创建内部经典负载均衡器

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

先决条件

  • 如果您尚未VPC为负载均衡器创建,则必须在开始之前创建该负载均衡器。有关更多信息,请参阅 给你的建议 VPC

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

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

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

使用控制台创建内部 Classic Load Balancer
  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. Attributes

    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名称粘贴到连接公共 Internet 的 Web 浏览器的地址字段中。如果负载均衡器运行正常,则会看到服务器的默认页面。

  16. 删除(可选)

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

    2. 打开 Amazon EC2 控制台,网址为https://console.aws.amazon.com/ec2/

    3. 选择负载均衡器。

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

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

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

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

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

创建内部负载均衡器
  1. 使用将--scheme选项设置为的create-load-balancer命令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", ... } ] }