Amazon web services 云层形成!Ref未按预期工作
我有下面的模板,它描述了一个新的OpsWorks堆栈。它依赖于帐户中已经存在的两个角色,但我需要使用!Ref用于帐户Id,因为此模板可以在任何位置生成堆栈Amazon web services 云层形成!Ref未按预期工作,amazon-web-services,amazon-cloudformation,Amazon Web Services,Amazon Cloudformation,我有下面的模板,它描述了一个新的OpsWorks堆栈。它依赖于帐户中已经存在的两个角色,但我需要使用!Ref用于帐户Id,因为此模板可以在任何位置生成堆栈 Stack4: Type: AWS::OpsWorks::Stack Condition: CreateStack4 Properties: Name: !Ref StackName4 DefaultOs: 'Amazon Linux 2' VpcId: !Ref VpcId
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'
由于某种原因,这是一个错误!DefaultInstanceProfileArn中的联接声明未按预期工作。尝试创建堆栈时,将抛出下面的错误
Default Instance Profile Arn: must be an instance profile ARN belonging to AWS account
您正在尝试引用实例配置文件arn,其格式应为
arn:aws:iam::1234567890:instance profile/MyProfile ASDNSDLKJ
-注意实例概要文件
您提供的是角色arn。这实际上是一个非角色,您指定的是角色arn,因此它拒绝此操作
控制台隐藏此资源已创建,但当您实际将角色附加到实例时,这是在后台创建的。如果您已通过控制台连接,则会有一个实例配置文件,其名称与已为您创建的角色名称相同
实例配置文件格式如下所示:arn:aws:iam::123456789012:instance profile/Webserver,因此请确保模板引用此格式
如果您还没有实例配置文件,您可以在或中创建一个。您已经确定了它。我刚刚将ARN中的
角色
更改为实例配置文件
,它运行正常,不需要其他更改。