내용으로 건너뛰기

通过VPC端点访问DynamoDB失败

0

【以下的问题经过翻译处理】 我在ECS Fargate上运行一个API,它位于一个ALB后面,访问DynamoDB中的数据。ECS在私有子网中,ALB在公共子网中。我为所有相关服务设置了VPC端点。

直到今天,每当我尝试将NACL应用到私有子网时,我就无法访问API。我尝试了各种入站/出站规则,但无济于事;我只能通过禁用NACL(或仅向所有地址/端口开放)来使其工作。

文档在NACL和端点方面有点神秘。我最终在某个地方找到了一行提示我寻找服务IP范围的线索,这导致我找到了这个文档关于公共IP范围的文档。我将我的区域的Dynamo范围添加到私有子网NACL中,嗯,它可以工作了。

但是,为什么会这样呢?我添加到NACL中的这些IP是公共的,但这是一个没有通往公共互联网的子网。我理解的方式是,端点是从您的子网分配ENI/私有IP的,所以我很难理解为什么使用本地CIDR的入站不足够。

1개 답변
0

【以下的回答经过翻译处理】 有两种类型的VPC终端节点。一种是接口类型VPC终端节点,另一种是网关类型VPC终端节点。目前,DynamoDB不支持接口类型VPC终端节点,只支持网关类型VPC终端节点。这就是为什么您需要将DynamoDB的IP范围添加到NACL中的原因。如果您使用带有网关类型的S3 VPC终端节点,则还必须添加S3 IP范围。

网关类型VPC终端节点没有网络接口,也不是客户端最终的目的地。客户端将通过终端点使用公共IP联系服务(DynamoDB或S3)。这就是为什么您必须修改每个要使用网关类型VPC终端节点的子网的路由表,以具有DynamoDB / S3 IP前缀的路由表。

请参阅以下内容。 https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/vpc-endpoints-dynamodb.html

전문가
답변함 2년 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.