Application Auto Scaling 的服務連結角色 - Application Auto Scaling

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Application Auto Scaling 的服務連結角色

應用程式 Auto Scaling 會針對代表您呼叫其他 AWS 服務所需的權限,使用服務連結角色。服務連結角色是直接連結至 AWS 服務的唯一類型 AWS Identity and Access Management (IAM) 角色。服務連結角色提供將權限委派給 AWS 服務的安全方式,因為只有連結的服務可以擔任服務連結角色。

對於與 Application Auto Scaling 整合的服務,Application Auto Scaling 會為您建立服務連結角色。每個服務都有一個服務連結角色。每個服務連結角色都信任由指定的服務委託人擔任其角色。如需詳細資訊,請參閱 服務連結角色 ARN 參考

Application Auto Scaling 包含每個服務連結角色的所有必要許可。這些受管許可由 Application Auto Scaling 建立和管理,並定義各種資源類型允許的動作。如需每個角色所授予許可的詳細資訊,請參閱 AWS 適用於應用程式自動調整規模

建立服務連結角色所需的許可

Application Auto Scaling 需要在您第一次 AWS 帳戶 呼叫指定服務的任何使用者時建立服務連結角色RegisterScalableTarget的權限。如果目標服務沒有服務連結角色,Application Auto Scaling 會在您的帳戶中建立該角色。服務連結角色准許 Application Auto Scaling 代表您呼叫目標服務。

為了成功自動建立該角色,使用者必須有 iam:CreateServiceLinkedRole 動作的許可。

"Action": "iam:CreateServiceLinkedRole"

以下是授權為 Spot 機群建立服務連結角色的身分型政策。您可以在政策的 Resource 欄位中以 ARN 指定服務連結角色,以條件指定服務連結角色的服務委託人,如下所示。關於每個服務的 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 放」使用

建立服務連結角色 (自動)

您不需要手動建立一個服務連結角色。當您呼叫 RegisterScalableTarget 時,Application Auto Scaling 會為您建立適當的服務連結角色。例如,若您為 Amazon ECS 服務設定自動擴展,則 Application Auto Scaling 會建立 AWSServiceRoleForApplicationAutoScaling_ECSService 角色。

建立服務連結角色 (手動)

若要建立服務連結角色,您可以使用 IAM 主控 AWS CLI台或 IAM API。如需詳細資訊,請參閱《IAM 使用者指南》中的建立服務連結角色

建立服務連結角色 (AWS CLI)

使用以下 create-service-linked-role CLI 命令建立 Application Auto Scaling 服務連結角色。在請求中,指定服務名稱「字首」。

若要尋找服務名稱字首,相關資訊請參閱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 使用者指南》中的刪除服務連結角色

在您刪除服務連結角色後,Application Auto Scaling 會在您呼叫 RegisterScalableTarget 時再次建立角色。

Application Auto Scaling 服務連結角色的支援區域

應用程式 Auto Scaling 支援在所有提供服務的 AWS 區域中使用服務連結角色。

服務連結角色 ARN 參考

下表列出每 AWS 服務 個與 Application Auto Scaling 搭配使用的服務連結角色的 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 會自動為您建立角色。