问题描述
在 AWS 控制台中创建基于 EC2 的 ECS 集群时,您可以指定容器实例角色:
但是,在创建集群后,我看不到任何方式来查看附加到集群的角色。
此外,在使用 cli 或 Cloudformation(或者,通过扩展,CDK)创建集群时,我没有看到任何指定容器实例角色的方法。
我的问题有两个:
解决方法
控制台会让您相信它是一个 ECS 属性,但实际上它只是一个称为“IAM 实例配置文件”的 EC2 属性。您必须通过在 IamInstanceProfile
上设置 AWS::EC2::Instance
property 或在可在 AutoScaling 组内使用的 AWS::EC2::LaunchTemplate
资源上设置更好的方法来指定此角色。小警告,您现在还不能直接将角色添加到该属性,您需要先像这样创建一个 AWS::IAM::InstanceProfile
:
EcsInstanceProfile:
Type: AWS::IAM::InstanceProfile
Properties:
Roles:
- ecsInstanceRole
为了完整起见,以下是在启动模板中设置属性的方法:
LaunchTemplate:
Type: AWS::EC2::LaunchTemplate
Properties:
LaunchTemplateData:
IamInstanceProfile:
Arn: !GetAtt EcsInstanceProfile.Arn
...