本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建内部经典负载均衡器
您可以创建一个内部负载均衡器,将来自对负载均衡器的 VPC 具有访问权限的客户端的流量分配到 EC2 实例。
前提条件
-
如果您尚未为负载均衡器创建 VPC,则必须在开始操作前先创建它。有关更多信息,请参阅 关于 VPC 的建议。
-
启动您计划向内部负载均衡器注册的 EC2 实例。确保在打算用于负载均衡器的 VPC 中的私有子网中启动它们。
使用控制台创建内部负载均衡器
按照以下过程创建内部经典负载均衡器。提供负载均衡器的基本配置信息,例如名称和模式。然后提供有关网络以及要将流量路由到实例的侦听器的信息。
使用控制台创建内部经典负载均衡器
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航栏上,选择您的负载均衡器所在的区域。请确保选择您为 EC2 实例选择的同一个区域。
-
在导航窗格上的 Load Balancing (负载均衡) 下,选择 Load Balancers (负载均衡器)。
-
选择 Create Load Balancer (创建负载均衡器)。
-
展开经典负载均衡器部分,然后选择创建。
-
基本配置
-
对于负载均衡器名称,键入负载均衡器的名称。
在当前区域的经典负载均衡器集内,经典负载均衡器的名称必须唯一,最多可以有 32 个字符,只能包含字母数字字符和连字符,不能以连字符开头或结尾。
-
对于模式,选择内部。
-
-
网络映射
-
对于 VPC,选择您为实例选择的 VPC。
-
对于映射,首先选择一个可用区,然后从该可用区的可用子网中选择一个子网。每个可用区只能选择一个子网。要提高负载均衡器的可用性,请选择多个可用区和子网。
-
-
对于安全组,选择一个配置为允许在端口 80 上传输所需 HTTP 流量的现有安全组。如果您的应用程序使用其他协议和端口,则也可以创建新的安全组。
-
侦听器和路由
-
对于侦听器,确保协议为
HTTP
,端口为80
。 -
对于实例,确保协议为
HTTP
,端口为80
。
-
-
运行状况检查
-
对于 Ping 协议,默认值为
HTTP
。 -
对于 Ping 端口,默认值为
80
。 -
对于 Ping 路径,默认值为
/
。 -
对于高级运行状况检查设置,请使用默认值或输入应用程序特定的值。
-
-
实例
-
选择添加实例,这时将显示实例选择页面。
-
在可用实例下,您可以根据之前选择的网络设置,从负载均衡器可用的当前实例中进行选择。
-
确认选择无误后,选择确认以将要注册的实例添加到负载均衡器。
-
-
Attributes
-
对于启用跨可用区负载均衡、启用连接耗尽以及超时(耗尽间隔时间),请保留默认值。
-
-
负载均衡器标签(可选)
-
键字段为必填项。
-
值字段为可选项。
-
要添加其他标签,请选择添加新标签,然后输入键字段的值,以及可选的值字段的值。
-
要移除现有标签,请选择要移除的标签旁的移除。
-
-
摘要和创建
-
如果需要更改任何设置,请选择需要更改的设置旁的编辑。
-
确认摘要中显示的所有设置无误后,选择创建负载均衡器以开始创建负载均衡器。
-
在最后的创建页面上,选择查看负载均衡器,以在 Amazon EC2 控制台中查看负载均衡器。
-
-
验证
-
选择新的负载均衡器。
-
在目标实例选项卡中,选中运行状态列。至少一个 EC2 实例处于使用中状态后,便可测试负载均衡器。
-
在详细信息部分中,复制负载均衡器的 DNS 名称,这看起来类似于
my-load-balancer-1234567890.us-east-1.elb.amazonaws.com
。 -
将负载均衡器的 DNS 名称粘贴到已连接到公共互联网的 Web 浏览器地址栏中。如果负载均衡器运行正常,则会看到服务器的默认页面。
-
-
删除(可选)
-
如果您有一个指向负载均衡器的域的一个别名记录,请将它指向新的位置并等待 DNS 更改生效,然后再删除您的负载均衡器。
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
选择负载均衡器。
-
依次选择操作、删除负载均衡器。
-
提示进行确认时,键入
confirm
,然后选择删除。 -
删除负载均衡器后,注册到该负载均衡器中的 EC2 实例将继续运行。您将按实例继续运行的部分或完整小时数付费。如果您不再需要某个 EC2 实例时,可以将其停止或终止,以免产生额外的费用。
-
使用 AWS CLI 创建内部负载均衡器
默认情况下,Elastic Load Balancing 会创建面向 Internet 的负载均衡器。使用以下过程创建内部负载均衡器并向新创建的内部负载均衡器注册您的 EC2 实例。
创建内部负载均衡器
-
使用 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 --subnetssubnet-4e05f721
--scheme internal --security-groupssg-b9ffedd5
以下为响应示例。请注意,该名称表示这是一个内部负载均衡器。
{ "DNSName": "internal-my-internal-loadbalancer-786501203.us-west-2.elb.amazonaws.com" }
-
使用以下 register-instances-with-load-balancer 命令添加实例:
aws elb register-instances-with-load-balancer --load-balancer-name
my-internal-loadbalancer
--instancesi-4f8cf126 i-0bb7ca62
以下为响应示例:
{ "Instances": [ { "InstanceId": "i-4f8cf126" }, { "InstanceId": "i-0bb7ca62" } ] }
-
(可选)使用以下 describe-load-balancers 命令验证内部负载均衡器:
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", ... } ] }