Amazon web services aws CDK PublicSubnet未创建internet网关
CDK是1.61.1版 而不是在vpc资源中内联创建子网,我正在尝试使用PublicSubnet构造创建它们。我不希望vpc构造创建任何子网。如果我尝试这样做:Amazon web services aws CDK PublicSubnet未创建internet网关,amazon-web-services,aws-cdk,Amazon Web Services,Aws Cdk,CDK是1.61.1版 而不是在vpc资源中内联创建子网,我正在尝试使用PublicSubnet构造创建它们。我不希望vpc构造创建任何子网。如果我尝试这样做: from aws_cdk import ( aws_s3 as s3, aws_ec2 as ec2, core, ) class HelloCdkStack(core.Stack): def __init__(self, scope: core.Construct, id: str, **kwarg
from aws_cdk import (
aws_s3 as s3,
aws_ec2 as ec2,
core,
)
class HelloCdkStack(core.Stack):
def __init__(self, scope: core.Construct, id: str, **kwargs) -> None:
super().__init__(scope, id, **kwargs)
## VPC
vpc = ec2.Vpc(self, "vpc1",
cidr = "172.20.0.0/23",
nat_gateways = 0,
enable_dns_hostnames = True,
enable_dns_support = True,
subnet_configuration = []
)
subnet = ec2.PublicSubnet(self, "subnet1",
vpc_id = vpc.vpc_id,
availability_zone = vpc.availability_zones[0],
cidr_block = "172.20.0.0/24",
map_public_ip_on_launch = True
)
已创建子网和路由表,但没有internet网关或默认路由:
vpcA2121C38:
Type: AWS::EC2::VPC
Properties:
CidrBlock: 172.20.0.0/23
EnableDnsHostnames: true
EnableDnsSupport: true
InstanceTenancy: default
Tags:
- Key: Name
Value: hello-cdk/vpc
Metadata:
aws:cdk:path: hello-cdk/vpc/Resource
subnetSubnet39D20FD5:
Type: AWS::EC2::Subnet
Properties:
CidrBlock: 172.20.0.0/24
VpcId:
Ref: vpcA2121C38
AvailabilityZone:
Fn::Select:
- 0
- Fn::GetAZs: ""
MapPublicIpOnLaunch: true
Tags:
- Key: Name
Value: hello-cdk/subnet
Metadata:
aws:cdk:path: hello-cdk/subnet/Subnet
subnetRouteTable8BC76A23:
Type: AWS::EC2::RouteTable
Properties:
VpcId:
Ref: vpcA2121C38
Tags:
- Key: Name
Value: hello-cdk/subnet
Metadata:
aws:cdk:path: hello-cdk/subnet/RouteTable
subnetRouteTableAssociation94267163:
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
RouteTableId:
Ref: subnetRouteTable8BC76A23
SubnetId:
Ref: subnetSubnet39D20FD5
Metadata:
aws:cdk:path: hello-cdk/subnet/RouteTableAssociation
事实上,如果我使用公共子网、私有子网或子网构造,所创建的资源似乎没有什么区别。
如果我在vpc结构中添加一个公共子网,则会创建网关