

# Amazon ECS のサービス自動スケーリングに必要な IAM アクセス許可
<a name="auto-scaling-IAM"></a>

Service Auto Scalingは、Amazon ECS、Amazon CloudWatch、およびアプリケーション Auto Scaling API の組み合わせによって可能になります。サービスは Amazon ECS で作成および更新され、アラームは CloudWatch で作成され、スケーリングポリシーは Application Auto Scaling で作成されます。

サービスの作成および更新のための標準の IAM アクセス許可に加えて、Service Auto Scaling 設定の操作には次のアクセス許可が必要です。
+ `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)」を参照してください。