问题标签 [aws-vpc-peering]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
109 浏览

amazon-web-services - 与另一个 VPC 共享 RDS 实例,但没有其他资源?

我使用 Terraform 创建了两个 VPC:

我在 VPC“Alpha”中也有一个 RDS:

然后我在 VPC“Bravo”中有一个 Elastic Beanstalk 实例。

我想要达到的目标:

  • alpha_rds我的 Elastic Beanstalk 实例可以在 Bravo VPC 中访问
  • Bravo VPC 无法访问 Alpha VPC 中的任何其他内容
  • Alpha VPC 无法访问 Bravo VPC 中的任何其他内容

我认为 VPC 对等互连是必需的吗?

如何在 Terraform 中实现这一点?


相关但不是 Terraform:

0 投票
2 回答
161 浏览

amazon-web-services - vpc 和 vpc 对等模块之间的 Terraform 状态冲突

我正在为我的公司 aws 基础设施使用 terraform 和 terragrunt,一般结构是这样的,我有两个主文件夹,一个用于模块,另一个用于环境和使用 terragrunt 将模块采购到环境文件夹,一个模块用于通用 vpc 基础设施,我有单独的 vpc 对等模块,我在环境文件夹中为 vpc 和 vpc 对等创建了单独的文件夹,所以它们在 s3 上都有不同的 terraform 状态,问题是 vpc 对等也在创建路由表,当我想要要在 vpc 模块上应用一些更改,它会删除从 vpc 对等模块创建的记录,有没有办法将路由表注入 vpc 模块?我知道我可以将 vpc-peering 模块移动到 vpc 中并同时拥有一个模块,但是重写所有的东西需要相当长的时间,我很想知道任何其他方式。

0 投票
1 回答
268 浏览

amazon-web-services - 可以在对等 vpc 中调用 aws 接口端点吗?

我有两个 vpc,一个是 mgmt vpc,其中所有必要的 vpc 接口端点都连接到 AWS 服务,另一个对等 vpc 与 mgmt vpc 建立了对等连接。我试图在对等 vpc 中通过 ssh 进入我的实例(称为实例 A),并使用以下命令通过 cli 调用 aws api

但每次连接仍然超时。

我检查了我的 vpc 端点安全组并再次确认我已将其设置为允许来自附加到实例 A 的安全组的所有传入流量。并且我的实例 A 的安全组已设置为允许所有流量出口到 vpce 安全组。

有人知道或遇到过这个问题吗?我错过了什么或做错了什么?

编辑:我的对等 vpc 有几个子网,唯一的 IGW 位于入口/出口层子网中。在 Web 层子网中,有一些我试图在那里调用 vpce 的实例,而这里的子网有 NAT 网关。

对于 mgmt vpc,ssh 进入的唯一方法是通过 vpc 内的 jumphost 实例。

Web 层子网的路由表如下:

Web 层子网实例的安全组如下:

mgmt vpc 中带有 vpce 的子网的路由表:

对于 vpce 到 ec2 安全组:

请注意,每个 vpc 都分配了两个 cidr 块。mgmt vpc 中也有 s3 端点网关

0 投票
0 回答
79 浏览

java - 如何解决 EC2 实例上的连接被拒绝,并启用 2 个 VPC 之间的服务器和客户端之间的通信?

我在不同地区有两个 VPC(VPC1、VPC2)。每个 VPC 有两个 EC2 实例。在 VPC1 上,我有一个公有子网和一个私有子网(分别为 subnet1 和 subnet2),每个子网都有自己的路由表,在 VPC2 上,我有一个私有子网(subnet3)。此外,我还通过私有子网在我的两个 VPC 之间启用了 VPC 对等互连。

我还向 VPC1 添加了 Internet 和 NAT 网关,以便能够访问 Internet。

在 VPC1 上,我启动了两个 EC2 实例,一个在私有子网上运行的客户端实例,一个在公共子网上运行的 public_ec2_subnet1。在 VPC2 上,我有两个 EC2 实例,server2 在 VPC2 上的私有子网 (subnet3) 上运行,server1 在 VPC2 上的公共子网上运行default VPC of the region, NOT ON THE SAME VPC

在客户端的 EC2 实例上,我添加了一个名为的 java 文件EchoClient.java,该文件以 IP 地址作为参数,在 server1 和 server2 上,我添加了另一个名为的 java 文件,该文件EchoServer.java在其所在实例的端口 10008 上运行。

EchoClient.java:

EchoServer.java:

这是我在实例上运行代码的过程:

  • 我通过 SSH 连接到的第一个终端server1并运行服务器 java 代码,它等待连接
  • 我使用 public_ec2_subnet1 实例通过 SSH 连接到客户端实例并使用 server1 的公共 IP 地址运行 EchoClient.java 代码;但是,连接总是返回超时
  • 我停止 server1,并打开另一个终端和 SSH 到 public_ec2_subnet1 实例以 SSH 到客户端实例,然后我 SSH 到 Server2,因为它位于私有子网上并运行服务器代码
  • 我使用 Server2 运行客户端的代码,private IP因为 VPC 对等互连已连接且子网 3 是私有的,但这也给了我一个超时响应。

例如,我在入站和出站规则中添加了 0.0.0.0/0 和 ::/0 ,并且仅针对实例添加SSH (TCP), HTTP (TCP), HTTPS (TCP)了它。Server1SSH (TCP)client, server2

当我尝试使用 AWS 控制台在浏览器上查看 server1(公共)时,它给了我一个连接被拒绝。

我做了一些研究,发现的所有解决方案都是添加入站和出站规则。我不确定为什么客户端和任何一个服务器都无法通信。

有人可以解释一下这件事吗?如果您需要更多信息,请与我们联系。

更新_1

Subnet1 NACL 规则:

在此处输入图像描述

Subnet2 NACL 规则:

在此处输入图像描述

Subnet3 NACL 规则:

在此处输入图像描述

VPC2 NACL 规则上的默认子网:

在此处输入图像描述

0 投票
0 回答
28 浏览

amazon-web-services - 如何使用 Terraform 从对等 VPC 中的一个 VPC 启用 DNS?

我已成功将一个 VPC ( ) 中的两个子网对等B连接到另一个 VPC ( A)。但是,我在其中创建的私有路由 53 DNS 条目B并未应用于我在其中部署的 AWS Lambda 函数A

如何从 VPC 获取 DNS 条目B以在 VPC 中工作A

(TF片段)

0 投票
0 回答
127 浏览

amazon-web-services - Lambda -> Atlas 连接超时(私有子网 - 对等)

我们有 1 个 Atlas 集群,它已经与 1 个区域 (eu-west-1) 中的 1 个 VPC 对等。这种对等连接多年来一直运行良好。目前,我正在尝试建立另一个对等连接到我们在另一个区域 (eu-west-2) 中的另一个 VPC。

对等连接已建立良好(后一个在下面的屏幕截图中):

在此处输入图像描述

...并且 SG 已被列入白名单...

在此处输入图像描述

因此,据我所知,Atlas 方面的一切似乎都很好。

在 AWS 中,我们有一个 IPv4 CIDR 为 172.16.0.0/16的 VPC (vpc-0ac2d...) 。对等连接看起来也很好:

在此处输入图像描述

VPC 有 2 个与之关联的路由表;rt-main-pub & rt-main-priv。前者有 3 个公共子网,后者有 2 个私有子网。

以下公共路线:

在此处输入图像描述

...和私人路线:

在此处输入图像描述

NAT (nat-03b ...)位于公共子网中,因此所有流量都通过那里路由到 IGW 并到达更广泛的互联网。除了属于 Atlas CIDR 范围内的 IP,它们被路由到对等连接(pcx-0d7...)

我有一个测试 lambda,它只执行了一些成功的 HTTP 请求,所以我知道 NAT -> IGW 设置正在运行。

在此处输入图像描述

^^ 那是我的 lambda 配置。在正确的 VPC 和 2 个私有子网中。

SG (sg-05782b...)的规则是...

在此处输入图像描述

在此处输入图像描述

我已经将所有这些与我们目前拥有的设置进行了比较,我真的看不出任何差异。从逻辑上讲,这似乎应该可以工作,但是 lambda 连接超时到集群。

我可以使用我正在使用的 Mongo URI 连接字符串很好地连接到集群,这也是毫无价值的。

0 投票
1 回答
312 浏览

amazon-web-services - 使用 VPC 对等对 Lambda 到 RDS 连接进行故障排除

我的 AWS Lambda 函数在连接到另一个 VPC 中的 RDS 实例时超时。VPC 是对等的。

我检查过的事情:

  • Lambda 在正确的 VPC 中
  • RDS 在另一个 VPC 内
  • RDS 存在于对等互连的子网中
  • VPC 对等互连被“接受”
  • 5432Lambda 安全组对 RDS 安全组的正确端口 ( ) 具有入口权限
  • Lambda 安全组对任何端口上的任何位置都有出口权限
  • 存在从 Lambda VPC 子网到对等互连的路由表条目
  • 存在从 RDS VPC 子网到对等互连的路由表条目

我还能检查/利用什么来解决此连接问题?


更新

  • 为两个 VPC 启用 DNS 主机名和 DNS 解析

更新

我尝试了以下方法:

  • 在与 Lambda 相同的子网上创建 EC2 实例
  • 将 lambda SG 分配给 EC2
  • SSH 连接到 EC2
  • telnet到 RDS:

所以EC2可以连接。因此问题必须与lambda有关。

接下来我可以尝试什么?

0 投票
0 回答
39 浏览

amazon-web-services - 如何从本地服务器访问 Private Api 网关

如何将私有 apigateway 连接到本地服务器?我得到了这个文档并关注它,但在使用公共 Dns 名称创建 vpce 后无法访问。

0 投票
1 回答
190 浏览

kubernetes - 无法通过对等连接设置从 eks pod 访问 MongoDB Atlas 集群

得到错误:

在 'custer-name-shard-00-00.somekey.mongodb.net:27017' 上调用 ismaster 的套接字超时

尝试从部署在 AWS EKS 上的 pod 访问 MongoDB Atlas 集群时。而当我将 0.0.0.0/0 添加到 MongoDB Atlas IP 访问列表时,我获得了成功的连接,所以我的请求不是通过对等连接路由的。

请您解释一下如何通过 MongoDB Altas VPC 对等连接确保适当的路由。

我使用允许输入 MongoDB 集群设置的 LoadBalancer 服务公开了 MongoDB 连接测试 pod。

我在部署 yml 中尝试了 dnsPolicy: "ClusterFirstWithHostNet" 和 dnsPolicy: "Default" (使用 Helm)。

0 投票
0 回答
15 浏览

vpc - 为什么 VPC 对等互连比单个 VPC 更安全?

为什么 VPC 对等互连比单个 VPC 更安全?我知道拥有两个 VPC 而不是将所有东西都放在一个 VPC 中要安全得多,但是如果这两个 VPC 通过 VPC 对等连接(或者可能以任何其他方式,例如 Transit Gateway)连接,那么它几乎不一样吗?将所有内容都放在一个 VPC 中?或者,VPC 对等是否适用于最初不需要连接两个 VPC 但后来出现连接两个 VPC 的需求?

任何帮助将不胜感激!谢谢。