amazon-ec2 - CDK/CloudFormation 批量设置不稳定错误

标签 amazon-ec2 aws-cloudformation aws-cdk aws-batch

我正在尝试使用 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/

相关文章:

linux - linux下用户号和组号不匹配

Mysql 用户可以从表中选择,但不能从 View 中选择

amazon-web-services - 如何在cloudformation中的另一个模板中一次导入中导入两个导出的值

typescript - 如何使用 AWS CDK 检测控制台/堆栈偏差

amazon-web-services - 使用 AWS CDK 配置 Lambda 加热器

ubuntu - zipalign 正在手动工作,但在 Jenkins 后期构建下失败

amazon-ec2 - 如何将 IPSec/Openswan 与 Amazon 的 Virtual Private Cloud (VPC) 和 EC2 结合使用?

aws-lambda - 如何在 Cloudformation 的输出中显示 lambda 函数返回值

aws-cloudformation - 使用 Cognito 池更新 CloudFormation 堆栈声称我们正在添加属性,但实际上我们没有添加属性

aws-cloudformation - aws-cdk 从堆栈中删除另一个堆栈中使用的资源