0

试图获取由 CF(由 AWS CDK 生成)创建的 EC2 实例的实例 ID,这至少在 v0.28 中工作:

    const natInstance1 = new CfnInstance(this, 'NatInstance1', {
      imageId: NAT_AMI_ID,
      instanceType: NAT_INSTANCE_TYPE,
      subnetId: vpc.publicSubnets[0].subnetId,
      keyName: NAT_SSH_KEY,
      sourceDestCheck: false,
      securityGroupIds: [ 
        publicSecurityGroup.securityGroupId
      ]
    });

    new ec2.CfnEIPAssociation(this, 'NatEip1', {
      eip: NAT_EIP_POOL[0],
      instanceId: natInstance1.instanceId
    });

这在 v0.37.0 中不再有效,出现错误:Property 'instanceId' does not exist on type 'CfnInstance'.ts(2339)

4

1 回答 1

4

该问题作为 aws-cdk问题提出 并得到了回答。这是从链接答案中获取的代码片段:

new ec2.CfnEIPAssociation(this, 'NatEip1', {
  eip: NAT_EIP_POOL[0],
  instanceId: natInstance1.ref
});
于 2019-07-14T07:42:51.350 回答