Amazon cloudformation 为参数';instanceProfileName';无效
运行Amazon cloudformation 为参数';instanceProfileName';无效,amazon-cloudformation,amazon-iam,aws-cdk,Amazon Cloudformation,Amazon Iam,Aws Cdk,运行cdk deploy时,我收到以下错误消息: 创建失败| AWS::ImageBuilder::InfrastructureConfiguration | TestInfrastructureConfiguration为参数“instanceProfileName”提供的值无效。提供的实例配置文件不存在。请指定其他实例配置文件,然后重试。(服务:Imagebuilder,状态代码:400,请求ID:41f431d7-8544-48e9-9faf-a870b83b0100,扩展请求ID:nul
cdk deploy
时,我收到以下错误消息:
创建失败| AWS::ImageBuilder::InfrastructureConfiguration | TestInfrastructureConfiguration为参数“instanceProfileName”提供的值无效。提供的实例配置文件不存在。请指定其他实例配置文件,然后重试。(服务:Imagebuilder,状态代码:400,请求ID:41f431d7-8544-48e9-9faf-a870b83b0100,扩展请求ID:null)
C代码如下所示:
var instanceProfile=new CfnInstanceProfile(这是“TestInstanceProfile”,new CfnInstanceProfile props{
InstanceProfileName=“测试实例配置文件”,
角色=新字符串[]{“TestServiceRoleFormageBuilder”}
});
var infrastructureConfiguration=新的CfnInfrastructureConfiguration(这是“TestInfrastructureConfiguration”,新的CfnInfrastructureConfigurationProps{
Name=“测试基础架构配置”,
InstanceProfileName=instanceProfile.InstanceProfileName,
InstanceTypes=新字符串[]{“t2.medium”},
Logging=新的CfnInfrastructureConfiguration.LoggingProperty{
S3Logs=新的CfnInfrastructureConfiguration.S3LogsProperty{
S3BucketName=“s3测试资产”,
S3KeyPrefix=“ImageBuilder/Logs”
}
},
SubnetId=“subnet-12f3456f”,
SecurityGroupId=新字符串[]{“sg-12b3e4e5b67f8900f”}
});
TestServiceRoleFormageBuilder已存在,并且以前正在工作。大约一个月前,相同的代码正在成功运行。有什么建议吗
如果删除CfninfrastructureConfiguration创建部分,部署将成功运行:,但至少需要2分钟才能完成
AwsImageBuilderStack:正在部署。。。
AwsImageBuilderStack:正在创建CloudFormation变更集。。。
0/3 | 14:24:37 |审查|进行中| AWS::CloudFormation::Stack | AwsImageBuilderStack用户启动
0/3 | 14:24:43 |正在创建| AWS::CloudFormation::Stack | AwsImageBuilderStack用户启动
0/3 | 14:24:47 |正在创建| AWS::CDK::Metadata | CDKMetadata/Default(CDKMetadata)
0/3 | 14:24:47 |正在创建| AWS::IAM::InstanceProfile | TestInstanceProfile
0/3 | 14:24:47 |正在创建| AWS::IAM::InstanceProfile |已启动TestInstanceProfile资源创建
1/3 | 14:24:48 |正在创建| AWS::CDK::Metadata | CDKMetadata/Default(CDKMetadata)资源创建已启动
1/3 | 14:24:48 |创建|完成| AWS::CDK::元数据| CDKMetadata/默认值(CDKMetadata)
1/3目前正在进行中:AwsImageBuilderStack、TestInstanceProfile
3/3 | 14:26:48 |创建|完整| AWS::IAM::InstanceProfile | TestInstanceProfile
3/3 | 14:26:49 |创建完成| AWS::CloudFormation::Stack | AwsImageBuilderStack
这可能是某种比赛条件吗?我应该使用多个堆栈来实现我的目标吗
如果需要,是否可以使用等待条件绕过2分钟的创建时间
环境
- CDK CLI版本:1.73.0
- Node.js版本:14.13.0
- OS:Windows 10
- 语言(版本):C#(.NET核心3.1)
因为原因似乎是AWS内部的,所以我使用了一个预先创建的实例概要文件作为解决方法。配置文件可以通过IAM管理控制台或CLI创建。不过,最好有一个合适的解决方案。您必须在两个结构之间创建一个依赖关系。当使用可选的name参数时,CDK不会推断出它,与逻辑id相反(在这种情况下,逻辑id似乎不起作用) 以下是相关文件:
infrastructureConfiguration.node.addDependency(instanceProfile)