CloudFormationでEC2インスタンスに既存のIAMロールを設定する場合には、ロールを設定したインスタンスプロファイルを作成して、インスタンスプロファイルをEC2インスタンスにセットする必要があります。
インスタンスプロファイルとは。。。
インスタンスプロファイルは IAM ロールのコンテナであり、インスタンスの起動時に EC2 インスタンスにロール情報を渡すために使用できます。
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html
CloudFormationで既存のIAMロール(TESTROLE)をEC2に設定する場合の例↓
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Resources: MyEC2Instance: Type: AWS::EC2::Instance Properties: InstanceType: "t2.micro" IamInstanceProfile: !Ref MyInstanceProfile MyInstanceProfile: Type: AWS::IAM::InstanceProfile Properties: Path: "/" Roles: - "TESTROLE" |
“TESTROLE”の箇所を設定したいロール名にセットすればOKです。
AWS::EC2::Instanceの仕様
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html
AWS::IAM::InstanceProfileの仕様
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html