

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

# 准备附加 Elastic Load Balancing 负载均衡器
<a name="getting-started-elastic-load-balancing"></a>

在将 Elastic Load Balancing 负载均衡器附加到自动扩缩组之前，您必须完成以下先决条件：
+ 您必须已创建用于将流量路由到自动扩缩组的负载均衡器和目标组。

  有两种方法来创建负载均衡器和目标组：
  + **使用 Elastic Load Balancing**：按照 Elastic Load Balancing 文档中的程序，在创建自动扩缩组之前创建并配置负载均衡器和目标组。跳过注册 Amazon EC2 实例的步骤。当您将目标组附加到自动扩缩组时，Amazon EC2 Auto Scaling 将自动负责注册（和取消注册）实例。有关更多信息，请参阅 *Elastic Load Balancing 用户指南*中的 [Elastic Load Balancing 入门](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/load-balancer-getting-started.html)。
  + **使用 Amazon EC2 Auto Scaling**：从 Amazon EC2 Auto Scaling 控制台创建、配置和附加具有基本配置的负载均衡器和目标组。有关更多信息，请参阅 [从控制台配置应用程序负载均衡器或网络负载均衡器](as-create-load-balancer-console.md)。
+ 在创建负载均衡器之前，请先了解所需的负载均衡器类型。有关更多信息，请参阅 [Elastic Load Balancing 类型](autoscaling-load-balancer.md#integrations-aws-elastic-load-balancing-types)。
+ 负载均衡器及其目标组必须与您的 Auto Scaling 组位于相同 AWS 账户的 VPC 和区域中。
+ 目标组必须指定的 `instance` 目标类型。使用 Auto Scaling 组时，无法指定 `ip` 的目标类型。
+ 如果自动扩缩组的启动模板未包含允许来自负载均衡器的必要入站流量的正确安全组，则必须更新启动模板。推荐规则取决于负载均衡器的类型和负载均衡器使用的后端类型。例如，要将流量路由到 Web 服务器，请允许从负载均衡器在端口 80 上进行入站 HTTP 访问。修改启动模板时，现有实例不会使用新设置进行更新。要更新现有实例，您可以启动实例刷新以替换实例。有关更多信息，请参阅 [使用实例刷新更新自动扩缩组中的实例](asg-instance-refresh.md)。
+ 启动模板中的安全组还必须允许从 Elastic Load Balancing 负载均衡器通过正确的端口访问以执行运行状况检查。
+ 在网关负载均衡器后部署虚拟设备时，启动模板中的亚马逊机器映像（AMI）必须指定某个支持 GENEVE 协议的 AMI 的 ID，以允许自动扩缩组与网关负载均衡器交换流量。此外，启动模板中的安全组必须允许 UDP 流量通过端口 6081。

**提示**  
如果您拥有需要一段时间才能完成的引导启动脚本，则可以选择向您的 Auto Scaling 组添加启动生命周期钩子，以便在引导启动脚本成功完成并且实例上的应用程序准备好接受流量之前，推迟将实例注册到负载均衡器后。首次在 Amazon EC2 Auto Scaling 控制台中创建 Auto Scaling 组时，您将无法添加生命周期钩子。不过，您可以在创建组后再添加生命周期挂钩。有关更多信息，请参阅 [Amazon EC2 Auto Scaling 生命周期钩子](lifecycle-hooks.md)。

## 配置目标的运行状况检查
<a name="elb-health-checks-for-targets"></a>

您可以为向 Elastic Load Balancing 负载均衡器注册的目标配置运行状况检查，以确保其能够正确处理流量。具体步骤因您使用的负载均衡器类型而有所不同。有关更多信息，请参阅以下资源：
+ **应用程序负载均衡器**：请参阅《User Guide for Application Load Balancers》**中的 [Health checks for your target groups](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html)。
+ **网络负载均衡器**：请参阅《User Guide for Network Load Balancers》**中的 [Health checks for your target groups](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/target-group-health-checks.html)。
+ **网关负载均衡器**：请参阅《User Guide for Gateway Load Balancers》**中的 [Health checks for your target groups](https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/health-checks.html)。
+ **经典负载均衡器**：《User Guide for Classic Load Balancers》**中的 [Configure health checks for your Classic Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-healthchecks.html)。

默认情况下，如果实例未通过 Elastic Load Balancing 运行状况检查，Amazon EC2 Auto Scaling 不会认为实例运行状况不佳并予以替换。自动扩缩组的默认运行状况检查只有 EC2 运行状况检查。有关更多信息，请参阅 [自动扩缩组中实例的运行状况检查](ec2-auto-scaling-health-checks.md)。

要使 Amazon EC2 Auto Scaling 能够替换 Elastic Load Balancing 报告运行状况不佳的实例，您可以将自动扩缩组配置为使用 Elastic Load Balancing 运行状况检查。这样，如果实例未能通过 EC2 运行状态检查或 Elastic Load Balancing 运行状况检查，则 Amazon EC2 Auto Scaling 会认为该实例运行状况不佳。如果您将多个负载均衡器目标组或经典负载均衡器附加到该组，则只有在所有负载均衡器目标组或经典负载均衡器均报告某实例运行状况良好的情况下，它才会认为该实例运行状况良好。如果其中任何一个负载均衡器目标组或经典负载均衡器将实例报告为运行状况不佳，则 Auto Scaling 组将替换该实例，即使其他负载均衡器目标组或经典负载均衡器将实例报告为运行状况良好也是如此。

有关如何为自动扩缩组启用这些运行状况检查的信息，请参阅[将 Elastic Load Balancing 负载均衡器附加到自动扩缩组](attach-load-balancer-asg.md)。

**注意**  
为确保这些运行状况检查尽快开始，确保组的运行状况检查宽限期未设置得过高，但应设置得足够高，以便 Elastic Load Balancing 运行状况检查确定目标是否可用于处理请求。有关更多信息，请参阅 [设置自动扩缩组的运行状况检查宽限期](health-check-grace-period.md)。