是否有一种方法可以指定创建VPC时使用的AZ数量



使用CDK在堆栈中实例化VPC对象时。有一个参数max_azs,据称默认为3。但是,当我创建一个VPC时,无论我设置该数字如何,我都只能获得2个AZS。

from aws_cdk import (
  core,
  aws_ec2 as ec2
)
app = core.App()
subnets = []
subnets.append(ec2.SubnetConfiguration(name = "public", subnet_type = ec2.SubnetType.PUBLIC, cidr_mask = 20))
subnets.append(ec2.SubnetConfiguration(name = "private", subnet_type = ec2.SubnetType.PRIVATE, cidr_mask = 20))
subnets.append(ec2.SubnetConfiguration(name = "isolated", subnet_type = ec2.SubnetType.ISOLATED, cidr_mask = 20))
vpc = ec2.Vpc(app, "MyVpc", subnet_configuration = subnets, max_azs = 3)
print(vpc.availability_zones)
app.synth()

我希望在这里看到3个AZS,但实际上只有2。即使我将值设置为99,这应该意味着所有AZS。

是的,是的,我本人遇到了同一问题。为我解决的问题是在创建堆栈时指定区域和帐户。

以下示例用于打字稿,但我敢肯定您可以编写相应的python。

new MyStack(app, 'MyStack', {
  env: {
    region: 'us-east-1',
    account: '1234567890',
  }
});

在部署之前您需要重建和合成器。

$ npm run build
$ cdk synth

最新更新