

# Amazon ECS 服务自动扩缩所需的 IAM 权限
<a name="auto-scaling-IAM"></a>

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

除了用于创建和更新服务的标准 IAM 权限外，与服务自动扩缩设置进行交互还需要以下权限。
+ `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*`

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 用户指南》**中的 [Application Auto Scaling 的服务相关角色](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-service-linked-roles.html)。

如果您在 CloudWatch 指标可用于 Amazon ECS 之前已创建您的 Amazon ECS 容器实例，则可能需要添加 `ecs:StartTelemetrySession` 权限。有关更多信息，请参阅 [注意事项](cloudwatch-metrics.md#enable_cloudwatch)。