Permissões obrigatórias do IAM para o ajuste de escala automático do serviço Amazon ECS
O Auto Scaling do serviço se torna possível por uma combinação das APIs do Amazon ECS, do CloudWatch e do Application Auto Scaling. Os serviços são criados e atualizados com o Amazon ECS, são criados alarmes com o CloudWatch e são criadas políticas de escalabilidade com o Application Auto Scaling.
Além das permissões padrão do IAM para criar e atualizar serviços, as permissões a seguir são necessárias para interagir com as configurações do ajuste de escala automático do serviço, conforme mostrado no exemplo de política a seguir.
{ "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": ["*"] } ] }
Os exemplos Exemplo de criação de serviço do Amazon ECS e Exemplo de serviço de atualização do Amazon ECS de política do IAM mostram as permissões necessárias para o uso do Auto Scaling do serviço no AWS Management Console.
O serviço do Application Auto Scaling também precisa de permissão para descrever os serviços do Amazon ECS e os alarmes do CloudWatch, além de permissões para modificar a contagem desejada do serviço em seu nome. As permissões sns:
são para as notificações que o CloudWatch envia para um tópico do Amazon SNS quando um limite for excedido. Se você usar a escalabilidade automática para os serviços do Amazon ECS, será criada uma função vinculada ao serviço denominada AWSServiceRoleForApplicationAutoScaling_ECSService
. Essa função vinculada ao serviço concede permissão ao Application Auto Scaling para descrever os alarmes das políticas, monitorar a contagem atual de tarefas em execução do serviço e modificar a contagem desejada do serviço. A função gerenciada original do Amazon ECS para o Application Auto Scaling era ecsAutoscaleRole
, mas ela não é mais necessária. Essa função vinculada ao serviço é a função padrão do Application Auto Scaling. Para ter mais informações, consulte Funções vinculadas a serviço do Application Auto Scaling, no Guia do usuário do Application Auto Scaling.
Se você tiver criado do perfil da instância de contêiner do Amazon ECS antes que as métricas do CloudWatch estejam disponíveis para o Amazon ECS, talvez seja necessário adicionar a permissão ecs:StartTelemetrySession
. Para ter mais informações, consulte Considerações.