Amazon ECS のサービス自動スケーリングに必要な IAM アクセス許可 - Amazon Elastic Container Service

Amazon ECS のサービス自動スケーリングに必要な IAM アクセス許可

Service Auto Scalingは、Amazon ECS、Amazon CloudWatch、およびアプリケーション 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 ポリシー例に、AWS Management Consoleでサービスの自動スケーリングを使用するために必要なアクセス許可が示されています。

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 用のサービスリンクロール」を参照してください。

CloudWatch メトリクスが Amazon ECS で使用可能になる前に Amazon ECS コンテナインスタンスロールを作成した場合は、このアクセス ecs:StartTelemetrySession 許可の追加が必要になることがあります。詳細については、「考慮事項」を参照してください。