准备将 Elastic Load Balancing 负载均衡器连接到您的 Auto Scaling 群组 - Amazon EC2 Auto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

准备将 Elastic Load Balancing 负载均衡器连接到您的 Auto Scaling 群组

在将 Elastic Load Balancing 负载均衡器连接到 Auto Scaling 组之前,必须满足以下先决条件:

  • 您必须已经创建了用于将流量路由到您的 Auto Scaling 组的负载均衡器和目标组。

    创建负载均衡器和目标组的方法有两种:

    • 使用 Elastic Load Balancing — 在创建 Auto Scaling 组之前,按照 Elastic Load Balancing 文档中的步骤创建和配置负载均衡器和目标组。跳过注册 Amazon EC2 实例的步骤。当您将目标组附加到 Auto Scaling 组时,Amazon EC2 Auto Scaling 会自动负责注册(和取消注册)实例。有关更多信息,请参阅 Elastic Load Balancing 用户指南中的 Elastic Load Balancing 入门

    • 使用 Amazon EC2 Auto Scaling — 使用 Amazon EC2 Auto Scaling 控制台中的基本配置创建、配置和连接负载均衡器和目标组。有关更多信息,请参阅 从 Amazon EC2 Auto Scaling 控制台配置 Application Load Balancer 或 Network Load Balancer。

  • 在创建负载均衡器之前,请先了解所需的负载均衡器的类型。有关更多信息,请参阅 Elastic Load Balancing 类型

  • 负载均衡器及其目标组必须与您的 Auto Scaling 组位于相同 Amazon Web Services 账户的 VPC 和区域中。

  • 目标组必须指定的 instance 目标类型。使用 Auto Scaling 组时,无法指定 ip 的目标类型。

  • 如果您的 Auto Scaling 组的启动模板不包含允许来自负载均衡器的必要入站流量的正确安全组,则必须更新启动模板。推荐规则取决于负载均衡器的类型和负载均衡器使用的后端类型。例如,要将流量路由到 Web 服务器,请允许从负载均衡器在端口 80 上进行入站 HTTP 访问。修改启动模板时,现有实例不会使用新设置进行更新。要更新现有实例,您可以启动实例刷新以替换实例。有关更多信息,请参阅 使用实例刷新来更新 Auto Scaling 组中的实例

  • 启动模板中的安全组还必须允许负载均衡器通过正确的端口进行访问,以便 Elastic Load Balancing 执行其运行状况检查。

  • 在网关负载均衡器后面部署虚拟设备时,启动模板中的亚马逊系统映像 (AMI) 必须指定支持 GENEVE 协议的 AMI 的 ID,以允许 Auto Scaling 组与网关负载均衡器交换流量。此外,启动模板中的安全组必须允许端口 6081 上的 UDP 流量。

提示

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

为目标配置运行状况检查

您可以为在 Elastic Load Balancing 负载均衡器中注册的目标配置运行状况检查,以确保它们能够正确处理流量。具体步骤因您使用的负载均衡器类型而异。有关更多信息,请参阅以下资源:

默认情况下,Amazon EC2 Auto Scaling 不会认为实例运行状况不佳,如果该实例未通过 Elastic Load Balancing 运行状况检查,则将其替换。自动扩缩组的默认运行状况检查只有 EC2 运行状况检查。有关更多信息,请参阅 自动扩缩组中实例的运行状况检查

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

有关如何为您的 Auto Scaling 组启用这些运行状况检查的信息,请参阅将 Elastic Load Balancing 负载均衡器附加到您的 Auto Scaling 组

注意

为确保这些运行状况检查尽快开始,请确保您的群组的运行状况检查宽限期设置得不太高,而应设置得足够高,以便 Elastic Load Balancing 运行状况检查来确定目标是否可用于处理请求。有关更多信息,请参阅 设置自动扩缩组的运行状况检查宽限期