Я пытаюсь запустить сценарий облачной информации нескольких экземпляров ec2. Я использую сценарий оболочки для l oop команды aws cloudformation create-stack
и успешно вызываю несколько экземпляров.
Теперь мне нужно запустить этот экземпляр с прикрепленной ролью SSM. Однако я не вижу возможности использовать существующую роль в сценарии. Мне нужно воссоздать роль внутри скрипта следующим образом:
AWSTemplateFormatVersion: 2010-09-09
Description: Compact template for creating an ec2 instance for SPT
Resources:
IAMRole:
Type: AWS::IAM::Role
Properties:
RoleName: SPTvacmRole
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
Service: ec2.amazonaws.com
Action: sts:AssumeRole
Path: "/"
ManagedPolicyArns:
- arn:aws:iam::aws:policy/service-role/AmazonEC2RoleforSSM
InstanceProfile1:
Type: AWS::IAM::InstanceProfile
Properties:
Path: "/"
Roles:
- Ref: IAMRole
ec2instance1:
Type: AWS::EC2::Instance
Properties:
SubnetId: subnet-0da86f65478f3d30a
KeyName: spt-lab
ImageId: ami-00344ae218e7aae62
InstanceType: t2.nano
IamInstanceProfile: !Ref InstanceProfile1
SecurityGroupIds:
- sg-0d3fae6860ce71c91
Это может быть выполнено только один раз, потому что к тому времени, когда l oop выполнит команду во второй раз, роль SPTvacmRole уже существует, и стек не работает.
Я уже создал роль из консоли вручную, используя политику AmazonEC2RoleForSSM и назвал ее EC2RoleForSSM, однако, когда я пытаюсь сослаться на эту роль по ее имени -Ref: EC2RoleForSSM
в InstanceProfile1 без при создании IAMRole появляется сообщение об ошибке: Ошибка формата шаблона: Неразрешенные зависимости ресурсов [EC2RoleForSSM] в блоке ресурсов шаблона
Как я могу использовать уже существующую роль EC2RoleForSSM в скрипте , без повторного создания?