cdk python 创建路由 table 条目
cdk python making route table entries
是否可以通过 cdk 将路由条目添加到路由 table?
我尝试的方法是:使用 vpc 构造我尝试遍历 public_subnets + private_subnets 属性列表以获取路由表。但是这些 return IRouteTable——我似乎无法用它们进行任何更新。有人知道怎么做吗?谢谢
您可以通过实例化新的 CloudFormation 路由资源来解决此问题:
vpc.privateSubnets.forEach(({ routeTable: { routeTableId } }, index) => {
new CfnRoute(stack, 'PrivateSubnetPeeringConnectionRoute' + index, {
destinationCidrBlock: '10.0.0.0/16',
routeTableId,
vpcPeeringConnectionId: peeringConnection.ref,
})
})
您需要知道这些路由的对等连接 ID。在上面的示例中,它在同一堆栈中创建时被引用:
const peeringConnection = new CfnVPCPeeringConnection(
stack,
'PeeringConnection',
{
peerVpcId: peerVpc.vpcId,
vpcId: vpc.vpcId,
}
)
考虑 [1]、[2] 和 [3] 了解更多详情
[2]https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Subnet.html#add-wbr-routeid-options
原来它使用的是您在 cdk 中添加路由的子网构造(使用 add_route 方法)。
https://docs.aws.amazon.com/cdk/api/latest/python/aws_cdk.aws_ec2/Subnet.html
是否可以通过 cdk 将路由条目添加到路由 table?
我尝试的方法是:使用 vpc 构造我尝试遍历 public_subnets + private_subnets 属性列表以获取路由表。但是这些 return IRouteTable——我似乎无法用它们进行任何更新。有人知道怎么做吗?谢谢
您可以通过实例化新的 CloudFormation 路由资源来解决此问题:
vpc.privateSubnets.forEach(({ routeTable: { routeTableId } }, index) => {
new CfnRoute(stack, 'PrivateSubnetPeeringConnectionRoute' + index, {
destinationCidrBlock: '10.0.0.0/16',
routeTableId,
vpcPeeringConnectionId: peeringConnection.ref,
})
})
您需要知道这些路由的对等连接 ID。在上面的示例中,它在同一堆栈中创建时被引用:
const peeringConnection = new CfnVPCPeeringConnection(
stack,
'PeeringConnection',
{
peerVpcId: peerVpc.vpcId,
vpcId: vpc.vpcId,
}
)
考虑 [1]、[2] 和 [3] 了解更多详情
[2]https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Subnet.html#add-wbr-routeid-options
原来它使用的是您在 cdk 中添加路由的子网构造(使用 add_route 方法)。 https://docs.aws.amazon.com/cdk/api/latest/python/aws_cdk.aws_ec2/Subnet.html