我正在尝试使用 LaunchTemplate 设置一个简单的批量计算环境,以便我可以指定大于默认的卷大小:
const templateName = 'my-template'
const jobLaunchTemplate = new ec2.LaunchTemplate(stack, 'Template', {
launchTemplateName: templateName,
blockDevices: [ ..vol config .. ]
})
const computeEnv = new batch.CfnComputeEnvironment(stack, 'CompEnvironment', {
type: 'managed',
computeResources: {
instanceRole: jobRole.roleName,
instanceTypes: [
InstanceType.of(InstanceClass.C4, InstanceSize.LARGE).toString()
],
maxvCpus: 64,
minvCpus: 0,
desiredvCpus: 0,
subnets: vpc.publicSubnets.map(sn => sn.subnetId),
securityGroupIds: [vpc.vpcDefaultSecurityGroup],
type: 'EC2',
launchTemplate: {
launchTemplateName: templateName,
}
},
})
它们在未链接时都初始化得很好,但是一旦将 launchTemplate
block 添加到计算环境中,我就会收到以下错误:
Error: Resource handler returned message: "Resource of type 'AWS::Batch::ComputeEnvironment' with identifier 'compute-env-arn' did not stabilize." (RequestToken: token, HandlerErrorCode: NotStabilized)
非常感谢任何建议,提前致谢!
最佳答案
对于遇到此问题的任何人 - 检查在 AWS 控制台中创建的资源 - 即转到 aws.amazon.com 并一遍又一遍地刷新页面,直到看到它是由 CF 创建的。这给了我一个关于实例配置文件不存在的不同错误消息(比终端错误更有帮助......)
一个简单的CfnInstanceProfile
就达到了目的:
new iam.CfnInstanceProfile(stack, "batchInstanceProfile", {
instanceProfileName: jobRole.roleName,
roles: [jobRole.roleName],
});
关于amazon-ec2 - CDK/CloudFormation 批量设置不稳定错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72685624/