Application Auto Scaling 用のサービスリンクロール - Application Auto Scaling

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Application Auto Scaling 用のサービスリンクロール

Application Auto Scaling は、ユーザーに代わって他の サービスを呼び出すために必要なアクセス許可に、サービスにリンクされたロールを使用します。 AWS サービスにリンクされたロールは、 AWS サービスに直接リンクされた一意のタイプの AWS Identity and Access Management (IAM) ロールです。サービスにリンクされたロールは、 AWS サービスにアクセス許可を委任する安全な方法を提供します。これは、リンクされたサービスのみがサービスにリンクされたロールを引き受けることができるためです。

Application Auto Scaling と統合されるサービスについては、Application Auto Scaling がユーザーのためにサービスリンクロールを作成します。サービスリンクロールはサービスごとに 1 つあります。サービスリンクロールはそれぞれ、指定されたサービスプリンシパルを信頼してそのロールを継承します。詳細については、「サービスリンクロールの ARN リファレンス」を参照してください。

Application Auto Scaling は、各サービスリンクロールに必要な許可のすべてを含めます。これらのマネージド許可は、Application Auto Scaling によって作成および管理され、各リソースタイプに対して許可されるアクションを定義します。各ロールが付与する許可の詳細については、「AWS Application Auto Scaling の マネージドポリシー」を参照してください。

サービスリンクロールの作成に必要な許可

Application Auto Scaling では、 のユーザーが特定のサービスを初めて AWS アカウント 呼び出すときに、サービスにリンクされたロールを作成RegisterScalableTargetするためのアクセス許可が必要です。Application Auto Scaling は、アカウントにターゲットサービス用のサービスリンクロールが既に存在しない場合、そのロールを作成します。サービスリンクロールは Application Auto Scaling に許可を付与して、ユーザーに代わってターゲットサービスを呼び出すことができるようにします。

この自動ロール作成が正常に行われるには、ユーザーが iam:CreateServiceLinkedRole アクションに対する許可を持っている必要があります。

"Action": "iam:CreateServiceLinkedRole"

以下は、スポットフリート用のサービスリンクロールを作成するアクセス許可を付与するアイデンティティベースのポリシーです。以下にあるように、サービスリンクロールは ARN としてポリシーの Resource フィールドに指定し、サービスリンクロールのサービスプリンシパルは条件として指定できます。各サービスの ARN については、「サービスリンクロールの ARN リファレンス」を参照してください。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/ec2.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_EC2SpotFleetRequest", "Condition": { "StringLike": { "iam:AWSServiceName":"ec2.application-autoscaling.amazonaws.com" } } } ] }
注記

iam:AWSServiceName IAM 条件キーは、ロールがアタッチされるサービスプリンシパルを指定するもので、このポリシー例では ec2.application-autoscaling.amazonaws.com として記述されています。サービスプリンシパルを推測しようとしないでください。サービスのサービスプリンシパルを確認するには、「AWS のサービス Application Auto Scaling で使用できる」を参照してください。

サービスリンクロールを作成する (自動)

サービスリンクロールを手動で作成する必要はありません。Application Auto Scaling は、ユーザーが RegisterScalableTarget を呼び出す時に、適切なサービスリンクロールを作成します。例えば、Amazon ECS サービスのオートスケーリングをセットアップする場合は、Application Auto Scaling が AWSServiceRoleForApplicationAutoScaling_ECSService ロールを作成します。

サービスリンクロールを作成する (手動)

サービスにリンクされたロールを作成するには、IAM コンソール AWS CLI、または IAM API を使用できます。詳細については、IAM ユーザーガイドの「サービスリンクロールの作成」を参照してください。

サービスリンクロールの作成 (AWS CLI)

以下の create-service-linked-role CLI コマンドを使用して、Application Auto Scaling サービスリンクロールを作成します。リクエストでは、サービス名の「prefix」を指定します。

サービス名のプレフィックスを確認するには、「AWS のサービス Application Auto Scaling で使用できる」セクションで、各サービス用のサービスリンクロールのサービスプリンシパルに関する情報を参照してください。サービス名とサービスプリンシパルは同じプレフィックスを共有します。例えば、 AWS Lambda サービスにリンクされたロールを作成するには、 を使用しますlambda.application-autoscaling.amazonaws.com

aws iam create-service-linked-role --aws-service-name prefix.application-autoscaling.amazonaws.com

サービスリンクロールを編集する

Application Auto Scaling によって作成されたサービスリンクロールで編集できるのは、それらの説明のみです。詳細については、IAM ユーザーガイドの「サービスリンクロールの編集」を参照してください。

サービスリンクロールを削除する

サポートされているサービスで Application Auto Scaling を使用しなくなった場合は、対応するサービスリンクロールを削除することをお勧めします。

サービスリンクロールは、関連する AWS リソースを削除した後でしか削除できません。これは、リソースに対する Application Auto Scaling 許可を誤って取り消すことがないようにします。詳細については、スケーラブルリソースのドキュメントを参照してください。例えば、Amazon ECS サービスを削除するには、Amazon Elastic Container Service デベロッパーガイドの「サービスの削除」を参照してください。

サービスリンクロールは、IAM を使用して削除できます。詳細については、IAM ユーザーガイド の「サービスにリンクされたロールの削除」を参照してください。

サービスリンクロールの削除後に RegisterScalableTarget を呼び出すと、Application Auto Scaling がそのロールを再度作成します。

Application Auto Scaling サービスリンクロールがサポートされるリージョン

Application Auto Scaling は、サービスが利用可能なすべての AWS リージョンでサービスにリンクされたロールの使用をサポートします。

サービスリンクロールの ARN リファレンス

次の表に、Application Auto Scaling と連携 AWS のサービス する各 のサービスにリンクされたロールの Amazon リソースネーム (ARN) を示します。

サービス ARN
AppStream 2.0 arn:aws:iam::012345678910:role/aws-service-role/appstream.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_AppStreamFleet
Aurora arn:aws:iam::012345678910:role/aws-service-role/rds.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_RDSCluster
Comprehend arn:aws:iam::012345678910:role/aws-service-role/comprehend.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ComprehendEndpoint
DynamoDB arn:aws:iam::012345678910:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable
ECS arn:aws:iam::012345678910:role/aws-service-role/ecs.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ECSService
ElastiCache arn:aws:iam::012345678910:role/aws-service-role/elasticache.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ElastiCacheRG
Keyspaces arn:aws:iam::012345678910:role/aws-service-role/cassandra.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_CassandraTable
Lambda arn:aws:iam::012345678910:role/aws-service-role/lambda.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_LambdaConcurrency
MSK arn:aws:iam::012345678910:role/aws-service-role/kafka.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_KafkaCluster
Neptune arn:aws:iam::012345678910:role/aws-service-role/neptune.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_NeptuneCluster
SageMaker arn:aws:iam::012345678910:role/aws-service-role/sagemaker.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_SageMakerEndpoint
Spot Fleets arn:aws:iam::012345678910:role/aws-service-role/ec2.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_EC2SpotFleetRequest
カスタムリソース arn:aws:iam::012345678910:role/aws-service-role/custom-resource.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_CustomResource
注記

指定されたサービスにリンクされたロールがまだ存在しない場合でも、 AWS CloudFormation スタックテンプレート内の AWS::ApplicationAutoScaling::ScalableTargetリソースの RoleARNプロパティにサービスにリンクされたロールの ARN を指定できます。Application Auto Scaling が、そのロールを自動的に作成します。