gpt4 book ai didi

amazon-web-services - 如何使用 AWS CDK 将 Internet 网关添加到 VPC?

转载 作者:行者123 更新时间:2023-12-03 22:02:38 25 4
gpt4 key购买 nike

我正在尝试生成正确的 CDK 脚本 (TypeScript),以创建一个带有 Lambda(通过 API 网关访问)的环境,该环境可以调用 RDS(Sql Server 实例)。

我相信它基本上可以正常工作,但我想从我的开发计算机连接到 RDS 实例来运行一些查询并检查一些事情。

我的 RDS 实例位于私有(private)子网中,并且 so I believe in order to connect to我需要添加一个 Internet 网关和安全组以允许在适当的端口上进行访问。

在我的一生中,我可以弄清楚最后一部分,如何使用 CDK 添加互联网网关。

我尝试过的最新脚本如下:

const privateSubnectConfiguration = {
cidrMask: 26,
name: 'private-subnet',
subnetType: SubnetType.PRIVATE,
};

const publicSubnectConfiguration = {
cidrMask: 26,
name: 'public-subnet',
subnetType: SubnetType.PUBLIC,
};

const vpc = new Vpc(this, props.generateId('vpc'), {
maxAzs: 2,
subnetConfiguration: [privateSubnectConfiguration, publicSubnectConfiguration],
natGateways: 1,
});

vpc.addGatewayEndpoint(props.generateId('internet-gateway'), {
service: { name: "ig-service" }
})

然后出现错误 Vpc 端点服务“ig-service”不存在(服务:AmazonEC2;状态代码:400;错误代码:InvalidServiceName;

我看到对 CfnInternetGateway 的引用在文档中,但就是不知道如何将新的 VPC 连接到我的 VPC?

你能帮忙解决一下语法吗?

最佳答案

首先,您无法直接访问私有(private)子网中的数据库。您必须在公共(public)子网中部署代理实例并转发所需的端口以访问数据库。

使用 CDK VPC 构造时,每当您创建公有子网时,都会默认创建 Internet 网关。还为公共(public)子网设置了默认路由。因此,您应该从代码中删除 addGatewayEndpoint(),这会添加 Gateway VPC Endpoint你不需要的。

您还可以考虑使用 SubnetType.ISOLATED 创建没有 NAT GW 的私有(private)子网,这在您的情况下可能是多余的。 SubnetType.PRIVATE 默认创建 NAT 网关。

关于amazon-web-services - 如何使用 AWS CDK 将 Internet 网关添加到 VPC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58812479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com