Amazon ECS 的旧 IAM 角色 - Amazon Elastic Container Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon ECS 的旧 IAM 角色

在引入 AWSServiceRoleForECS IAM 角色之前,您需要创建单独的 IAM 角色,才能启用代表您调用 Elastic Load Balancing 和 Application Auto Scaling API 的 Amazon ECS 权限。

Amazon ECS 服务计划程序 IAM 角色向 Amazon ECS 服务计划程序授予其向负载均衡器注册和取消注册容器实例所需的权限。您可以选择创建服务计划程序 IAM 角色并在创建服务时指定该角色,或者最好允许 Amazon ECS 使用服务相关角色。

Amazon ECS 服务 Auto Scaling IAM 角色授予描述您的 CloudWatch 警报和注册服务的 Amazon ECS 权限,以及代表您更新 Amazon ECS 服务所需计数的权限。

下文对这些旧 IAM 角色进行了更详细的描述,但它们实际上已被 Amazon ECS 服务相关角色所取代。

服务计划程序 IAM 角色

Amazon ECS 提供一个名为 AmazonEC2ContainerServiceRole 的托管 IAM 策略以用于服务计划程序 IAM 角色。AmazonEC2ContainerServiceRole 策略如下所示。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:AuthorizeSecurityGroupIngress", "ec2:Describe*", "elasticloadbalancing:DeregisterInstancesFromLoadBalancer", "elasticloadbalancing:DeregisterTargets", "elasticloadbalancing:Describe*", "elasticloadbalancing:RegisterInstancesWithLoadBalancer", "elasticloadbalancing:RegisterTargets" ], "Resource": "*" } ] }
注意

ec2:AuthorizeSecurityGroupIngress 规则保留以后使用。Amazon ECS 不会自动更新与 Elastic Load Balancing 负载均衡器或 Amazon ECS 容器实例关联的安全组。

在 IAM 控制台中检查 ecsServiceRole

  1. 通过以下网址打开 IAM 控制台:https://console.amazonaws.cn/iam/

  2. 在导航窗格中,选择 Roles

  3. 在角色列表中搜索 ecsServiceRole。如果该角色不存在,请使用以下过程创建该角色。如果角色存在,请选择角色以查看附加的策略。

  4. 选择 Permissions 选项卡。

  5. Managed Policies 部分,确保将 AmazonEC2ContainerServiceRole 托管策略附加到角色。如果附加该策略,则将正确配置 Amazon ECS 服务角色。否则,请执行以下子步骤来附加策略。

    1. 选择 Attach Policy

    2. 要缩小要附加的可用策略的范围,请为筛选条件键入 AmazonEC2ContainerServiceRole

    3. 选中 AmazonEC2ContainerServiceRole 策略左侧的框并选择 Attach Policy

  6. 选择信任关系,然后选择编辑信任关系

  7. 验证信任关系是否包含以下策略。如果信任关系符合以下策略,请选择 Cancel。如果信任关系不符合,请将策略复制到 Policy Document 窗口中并选择 Update Trust Policy

    { "Version": "2008-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ecs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

为您的服务计划程序负载均衡器创建 IAM 角色

  1. 通过以下网址打开 IAM 控制台:https://console.amazonaws.cn/iam/

  2. 在导航窗格中,选择 RolesCreate role

  3. Select type of trusted entity (选择受信任实体的类型) 部分中,选择 AWS 服务

  4. 对于 Choose the service that will use this role (选择将使用此角色的服务),选择 Elastic Container Service

  5. 对于 Select your use case (选择使用案例),选择 Elastic Container Service (弹性容器服务),然后选择 Next: Permissions (下一步: 权限)

  6. 附加的权限策略部分中,选择 AmazonEC2ContainerServiceRole 策略,然后选择下一步: 审核

  7. 对于角色名称,键入 ecsServiceRole,输入角色描述,然后选择创建角色

服务 Auto Scaling IAM 角色

Amazon ECS 提供名为 AmazonEC2ContainerServiceAutoscaleRole 的托管 IAM 策略以用于 服务 Auto Scaling IAM 角色。AmazonEC2ContainerServiceAutoscaleRole 策略如下所示。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:DescribeServices", "ecs:UpdateService" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm" ], "Resource": [ "*" ] } ] }

在 IAM 控制台中检查 服务 Auto Scaling 角色

  1. 通过以下网址打开 IAM 控制台:https://console.amazonaws.cn/iam/

  2. 在导航窗格中,选择 Roles

  3. 在角色列表中搜索 ecsAutoscaleRole。如果该角色不存在,请使用以下过程创建该角色。如果角色存在,请选择角色以查看附加的策略。

  4. 选择 Permissions 选项卡。

  5. 托管策略部分中,确保将 AmazonEC2ContainerServiceAutoscaleRole 托管策略附加到角色。如果附加该策略,则将正确配置 Amazon ECS 服务角色。否则,请执行以下子步骤来附加策略。

    1. 选择 Attach policies (附加策略)。​

    2. 要缩小要附加的可用策略的范围,请为筛选条件键入 AmazonEC2ContainerServiceAutoscaleRole

    3. 选中 AmazonEC2ContainerAutoscaleRole 策略左侧的框并选择附加策略

  6. 选择信任关系,然后选择编辑信任关系

  7. 验证信任关系是否包含以下策略。如果信任关系符合以下策略,请选择 Cancel。如果信任关系不符合,请将策略复制到 Policy Document 窗口中并选择 Update Trust Policy

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "application-autoscaling.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

创建用于 服务 Auto Scaling 的 IAM 角色

  1. 通过以下网址打开 IAM 控制台:https://console.amazonaws.cn/iam/

  2. 在导航窗格中,选择 Roles,然后选择 Create role

  3. 选择将使用此角色的服务部分中,选择 Elastic Container Service

  4. 选择您的使用案例部分中,选择 Elastic Container Service Autoscale下一步:权限

  5. 对于添加标签(可选),输入要添加到 IAM 角色的任何键值标签。完成后,选择下一步:审核

  6. 角色名称字段中,键入 ecsAutoscaleRole 以命名角色,然后选择创建角色以完成操作。