首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用AWS CDK将Internet网关添加到私有网络?

如何使用AWS CDK将Internet网关添加到私有网络?
EN

Stack Overflow用户
提问于 2019-11-12 13:20:04
回答 1查看 4.1K关注 0票数 5

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

我相信我大部分时间都在工作,但我想从我的开发机器连接到RDS实例,以运行一些查询并检查一些事情。

我的RDS实例在一个私有子网中,我需要添加一个公网网关和安全组来访问相应的端口,然后对它进行so I believe in order to connect to

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

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

代码语言:javascript
复制
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" }
})

这会导致The Vpc Endpoint Service 'ig-service' does not exist (Service: AmazonEC2; Status Code: 400; Error Code: InvalidServiceName;出错

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

你能帮我解决语法问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-12 16:37:46

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

使用CDK私有网络构造时,每当创建公网子网时,默认情况下都会创建公网网关。也会为公有子网设置默认路由。因此,您应该从代码中删除addGatewayEndpoint(),这将添加一个不需要的Gateway VPC Endpoint

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

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58812479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档