Amazon Elastic Container Service
开发人员指南 (API 版本 2014-11-13)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

服务 Auto Scaling

您可以选择将 Amazon ECS 服务配置为使用 服务 Auto Scaling 以自动上调或下调其预期数量。服务 Auto Scaling 利用 Application Auto Scaling 服务来提供此功能。服务 Auto Scaling 在支持 Amazon ECS 的所有区域中可用。有关更多信息,请参阅《Application Auto Scaling 用户指南》。

Amazon ECS 服务 Auto Scaling 支持以下类型的扩展策略:

  • 目标跟踪扩展策略—根据特定 CloudWatch 指标的目标值,增加或减少服务运行的任务数。这与恒温器保持家里温度的方式类似。您选择一个温度,恒温器将完成所有其他工作。

  • 步进扩展策略—增加或减少服务为响应 CloudWatch 警报而运行的任务数。步进扩展基于一组扩展调整(称作步进调整),这些调整因警报违例大小而异。

服务 Auto Scaling 需要 IAM 权限

可将 Amazon ECS、CloudWatch 和 Application Auto Scaling API 组合使用以提供服务 Auto Scaling。服务是使用 Amazon ECS 创建和更新的,警报是使用 CloudWatch 创建的,扩展策略是使用 Application Auto Scaling 创建的。IAM 用户必须先拥有这些服务的适当权限,然后才能在 AWS 管理控制台、AWS CLI 或开发工具包中与扩展策略进行交互。除了用于创建和更新服务的标准 IAM 权限之外,服务 Auto Scaling 还需要以下权限:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "application-autoscaling:*", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm" ], "Resource": [ "*" ] } ] }

创建服务示例更新服务示例 IAM 策略示例说明 IAM 用户在 AWS 管理控制台中使用服务 Auto Scaling 所需的权限。

Application Auto Scaling 服务需要描述 Amazon ECS 服务和 CloudWatch 警报的权限,以及代表您修改服务的预期数量的权限。您必须为 ECS 服务创建 IAM 角色 (ecsAutoscaleRole) 以提供这些权限,然后将该角色与服务关联,以便它才能使用 Application Auto Scaling。如果一个 IAM 用户有权在 Amazon ECS 控制台中使用服务 Auto Scaling,创建 IAM 角色,并将 IAM 角色策略附加到这些角色,则该用户可自动创建此角色(包含在 Amazon ECS 控制台创建服务更新服务工作流程中),然后将此角色用于任何其他服务(在控制台中或通过 CLI 或开发工具包)。您也可以使用 Amazon ECS 服务 Auto Scaling IAM 角色中的过程来创建角色。

或者,Application Auto Scaling 也可以利用服务相关角色 (AWSServiceRoleForApplicationAutoScaling_ECSService),该角色代表您执行自动扩展操作。如果您具有所需的权限,则当您开始使用 Application Auto Scaling 服务时,将自动为您创建此角色并附加所需的 IAM 策略。有关更多信息,请参阅 Application Auto Scaling 用户指南 中的用于 Application Auto Scaling 的服务相关角色。您或管理员必须具有 iam:CreateServiceLinkedRoleAdministratorAccess 权限才能创建此服务相关角色。