スポットフリートの自動スケーリングに必要な IAM のアクセス許可
スポットフリートの自動スケーリングは、Amazon EC2、Amazon CloudWatch、および Application Auto Scaling API の組み合わせによって可能になります。スポットフリートは Amazon EC2 で作成され、アラームは CloudWatch で作成され、スケーリングポリシーは Application Auto Scaling で作成されます。Amazon EC2 とスポットフリートの使用に必要な IAM アクセス許可に加えて、フリートスケーリング設定にアクセスするユーザーは、自動スケーリングをサポートするサービスに対する適切なアクセス許可が必要です。
スポットフリートの自動スケーリングを使用するには、ユーザーは次のポリシー例に示されているアクションを使用するアクセス許可を持っている必要があります。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "application-autoscaling:*", "ec2:DescribeSpotFleetRequests", "ec2:ModifySpotFleetRequest", "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarmHistory", "cloudwatch:DescribeAlarms", "cloudwatch:DescribeAlarmsForMetric", "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics", "cloudwatch:PutMetricAlarm", "cloudwatch:DisableAlarmActions", "cloudwatch:EnableAlarmActions", "iam:CreateServiceLinkedRole", "sns:CreateTopic", "sns:Subscribe", "sns:Get*", "sns:List*" ], "Resource": "*" } ] }
独自の IAM ポリシーを作成し、アプリケーションの Auto Scaling API を呼び出すためのよりきめ細かなアクセス許可を付与することもできます。詳細については、「Application Auto Scaling ユーザーガイド」の「Application Auto Scaling の Identity and Access Management」を参照してください。
Application Auto Scaling サービスには、スポットフリートおよび CloudWatch アラームを記述するアクセス許可、およびユーザーの代わりにスポットフリートターゲット容量を変更するアクセス許可も必要です。スポットフリートの自動スケーリングを有効にすると、サービスにリンクされた AWSServiceRoleForApplicationAutoScaling_EC2SpotFleetRequest
というロールが作成されます。このサービスにリンクされたロールは、アプリケーションの Auto Scaling に対して、ポリシーのアラームの記述、フリートの現容量のモニタリング、およびフリートの容量の変更を行うためのアクセス許可を付与します。Application Auto Scaling の元のマネージド型のスポットフリートロールは aws-ec2-spot-fleet-autoscale-role
ですが、これは不要になりました。サービスにリンクされたロールは、Application Auto Scaling のデフォルトロールです。詳細については、「Application Auto Scaling ユーザーガイド」の「Application Auto Scaling 用のサービスリンクロール」を参照してください。