Amazon ECS 服务自动扩缩所需的 IAM 权限
通过 Amazon ECS、CloudWatch 和 Application Auto Scaling API 的组合,服务自动扩展成为可能。使用 Amazon ECS 创建和更新服务,使用 CloudWatch 创建警报,使用 Application Auto Scaling 创建扩展策略。
除了用于创建和更新服务的标准 IAM 权限外,与 Service Auto Scaling 设置进行交互还需要以下权限。
application-autoscaling:*ecs:DescribeServicesecs:UpdateServicecloudwatch:DescribeAlarmscloudwatch:PutMetricAlarmcloudwatch:DeleteAlarmscloudwatch:DescribeAlarmHistorycloudwatch:DescribeAlarmsForMetriccloudwatch:GetMetricStatisticscloudwatch:ListMetricscloudwatch:DisableAlarmActionscloudwatch:EnableAlarmActionsiam:CreateServiceLinkedRolesns:CreateTopicsns:Subscribesns:Get*sns:List*
Application Auto Scaling 服务还需要描述 Amazon ECS 服务和 CloudWatch 警报的权限,以及代表您修改服务的预期数量的权限。sns: 权限用于在超过阈值时 CloudWatch 向 Amazon SNS 主题发送的通知。如果您为 Amazon ECS 服务使用弹性伸缩功能,它将创建一个名为 AWSServiceRoleForApplicationAutoScaling_ECSService 的服务相关角色。此服务相关角色授予 Application Auto Scaling 权限,以描述策略警报、监控服务的当前运行的任务数以及修改服务的所需计数。Application Auto Scaling 的原托管 Amazon ECS角色为 ecsAutoscaleRole,但今后已不再需要。此服务相关角色是 Application Auto Scaling 的默认角色。有关更多信息,请参阅《Application Auto Scaling 用户指南》中的 Service-linked roles for Application Auto Scaling。
如果您在 CloudWatch 指标可用于 Amazon ECS 之前已创建您的 Amazon ECS 容器实例,则可能需要添加 ecs:StartTelemetrySession 权限。有关更多信息,请参阅 注意事项。