创建 Auto Scaling 组 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

创建 Auto Scaling 组

创建 Auto Scaling 组时,使用 Amazon EC2 启动模板。Amazon EC2 启动模板指定 Amazon EC2 实例配置,包括 AMI、实例类型、密钥对、安全组和用于启动 Amazon EC2 实例的其他参数。

注意

使用带有 EC2 Linux+ Networking 选项的 Amazon ECS 控制台创建集群向导时,Amazon ECS 将代表您创建一个 Amazon EC2 Auto Scaling 启动配置和 Auto Scaling 组,作为堆栈 Amazon CloudFormation 的一部分。它们的前缀是 EC2ContainerService-<ClusterName>,这使得它们很容易识别。然后可以在该集群的容量提供程序中使用该 Auto Scaling 组。

有关将 Auto Scaling 启动配置替换为 Amazon EC2 启动模板的更多信息,请参阅 Amazon EC2 Auto Scaling 用户指南中的使用启动模板替换启动配置

为容量提供程序创建 Auto Scaling 组时,应考虑以下因素。

  • 如果在创建容量提供程序时启用了托管终止保护,则 Auto Scaling 组和 Auto Scaling 组中的每个 Amazon EC2 实例也必须启用阻止缩减的实例保护。有关更多信息,请参阅 Amazon Auto Scaling 用户指南中的实例保护

  • 如果在创建容量提供程序时启用了托管调整,则可将 Auto Scaling 组所需计数设置为 0。启用托管调整后,Amazon ECS 管理自动扩缩组的缩减和扩展操作。

  • Auto Scaling 组不能有实例权重设置。与 Amazon ECS 容量提供程序一起使用时,不支持实例权重。

有关创建 Amazon EC2 Auto Scaling 启动模板的更多信息,请参阅Amazon EC2 Auto Scaling 用户指南中的使用启动模板创建 Auto Scaling 组

有关创建 Amazon EC2 Auto Scaling 组的更多信息,请参阅Amazon EC2 Auto Scaling 用户指南中的 Auto Scaling 组

为 Auto Scaling 组使用暖池

Amazon ECS 支持 Amazon EC2 Auto Scaling 暖池。暖池是一组准备投入使用的预初始化 Amazon EC2 实例。每当您的应用程序需要横向扩展时,Amazon EC2 Auto Scaling 都会使用暖池中的预初始化实例,而不是启动冷实例,允许运行任何最终初始化过程,然后将实例投入使用。

要了解有关暖池以及如何将暖池添加到 Auto Scaling 组的更多信息,请参阅 Amazon EC2 Auto Scaling 用户指南中的 Amazon EC2 Auto Scaling 的暖池

当您为 Amazon ECS 的自动扩缩组创建或更新温池时,无法设置在横向缩减时将实例退回暖池的选项(ReuseOnScaleIn)。有关更多信息,请参阅 Amazon Command Line Interface Reference(《Amazon Command Line Interface 参考》)中的 put-warm-pool

要将暖池与您的 Amazon ECS 集群一起使用,请在 Amazon EC2 Auto Scaling 组启动模板的 User data(用户数据)字段中将 ECS_WARM_POOLS_CHECK 代理配置变量设置为 true。以下示例介绍如何在 Amazon EC2 启动模板的 User data(用户数据)字段中指定代理配置变量。

#!/bin/bash cat <<'EOF' >> /etc/ecs/ecs.config ECS_CLUSTER=MyCluster ECS_WARM_POOLS_CHECK=true EOF

ECS_WARM_POOLS_CHECK 变量仅在代理版本 1.59.0 和更高版本上受支持。有关变量的更多信息,请参阅 可用参数 页面。