Amazon ECS 服务自动扩缩所需的 IAM 权限 - Amazon Elastic Container Service

Amazon ECS 服务自动扩缩所需的 IAM 权限

通过 Amazon ECS、CloudWatch 和 Application Auto Scaling API 的组合,服务自动扩展成为可能。使用 Amazon ECS 创建和更新服务,使用 CloudWatch 创建警报,使用 Application Auto Scaling 创建扩展策略。

除了用于创建和更新服务的标准 IAM 权限外,与 Service Auto Scaling 设置进行交互还需要以下权限,如以下示例策略所示。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "application-autoscaling:*", "ecs:DescribeServices", "ecs:UpdateService", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarmHistory", "cloudwatch:DescribeAlarmsForMetric", "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics", "cloudwatch:DisableAlarmActions", "cloudwatch:EnableAlarmActions", "iam:CreateServiceLinkedRole", "sns:CreateTopic", "sns:Subscribe", "sns:Get*", "sns:List*" ], "Resource": ["*"] } ] }

创建 Amazon ECS 服务示例更新 Amazon ECS 服务示例 IAM policy 示例显示在 AWS Management Console 中使用 Service Auto Scaling 所需的权限。

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 权限。有关更多信息,请参阅 注意事项