J'ai le modèle ci-dessous, qui décrit une nouvelle pile OpsWorks. Il repose sur deux rôles qui existent déjà dans le compte, mais je dois utiliser un! Ref pour l'identifiant de compte car ce modèle peut générer une pile n'importe où.

  Stack4:
    Type: AWS::OpsWorks::Stack
    Condition: CreateStack4
    Properties:
      Name: !Ref StackName4
      DefaultOs: 'Amazon Linux 2'
      VpcId: !Ref VpcId
      DefaultSubnetId: !Ref SubnetId
      UseOpsworksSecurityGroups: True
      CustomCookbooksSource:
        Type: 's3'
        Url: https://oidigital-chef-recipes.s3.amazonaws.com/prd/aws-chef-recipes-master.zip
      ConfigurationManager:
        Name: Chef
        Version: "12"
      DefaultInstanceProfileArn: !Join 
        - ''
        - - 'arn:aws:iam::'
          - !Ref 'AWS::AccountId'
          - ':role/DefaultOiServerRole'
      ServiceRoleArn: !Join
        - ''
        - - 'arn:aws:iam::'
          - !Ref 'AWS::AccountId'
          - ':role/aws-opsworks-service-role'

Pour une raison quelconque, la déclaration! Join dans le profil d'instance par défaut Arn ne fonctionne pas comme prévu. Lorsque vous essayez de créer une pile, l'erreur ci-dessous est renvoyée.

Default Instance Profile Arn: must be an instance profile ARN belonging to AWS account
1
Christian Dechery 28 août 2020 à 15:38

2 réponses

Meilleure réponse

Il s'agit en fait d'un profil d'instance pas un rôle, vous spécifiez un rôle Arn donc il rejette cela.

La console masque que cette ressource est créée, mais lorsque vous attachez réellement un rôle à l'instance, celui-ci est créé en arrière-plan. Si vous vous êtes connecté via la console, il y aura un profil d'instance avec le même nom que le nom de rôle déjà créé pour vous.

Le format du profil d'instance est comme celui-ci arn:aws:iam::123456789012:instance-profile/Webserver donc assurez-vous que votre modèle y fait référence.

Si vous n'avez pas encore de profil d'instance, vous pouvez en créer un dans CloudFormation ou via la CLI.

1
Chris Williams 28 août 2020 à 12:46

Vous essayez de référencer le profil d'instance arn, qui doit être au format

arn:aws:iam::1234567890:instance-profile/MyProfile-ASDNSDLKJ - notez le instance-profile

Celui que vous avez fourni est un rôle arn.

1
Victor Wong 28 août 2020 à 12:45