无法访问其他VPC中的另一个实例

时间:2018-08-08 06:42:52

标签: amazon-web-services amazon-vpc subnet private-subnet

所以我在同一帐户中有2个不同的VPC。

在第一个VPC(A)中,我有一个实例,该实例是专用子网的一部分,并且所有数据都路由到NAT网关(使用以前的配置)。

当前,我正在尝试从该实例访问另一个VPC(B)中的一个实例(telnet / ping /任何内容)。

我设置了VPC对等连接,并更改了两个VPC的主路由表以将对等连接作为目标。 (没用)

然后,我尝试更改专用子网的路由表以直接路由到对等的Connection。 (没用)

有许多安全组在起作用,但是当我将B中实例上的SG更改为接受所有连接时,我能够从本地PC连接,但仍然无法从A中实例进行连接。因此,我认为SG是一个问题。我以为可能是路由表,但找不到原因。

当我从A中的实例跟踪路由时,它会到达NAT网关专用IP,然后到达某个AWS实例(由AWS拥有,不是我),然后迷路。

在哪里连接可能出错?

1 个答案:

答案 0 :(得分:1)

很难根据您的描述来调试情况。

因此,相反,我尝试重新创建您的情况,并记录了我采取的所有步骤。请按照以下步骤创建另外两个VPC,以使您对它实际上可以工作感到满意。

然后,一旦运行正常,就可以将此配置与现有配置进行比较,以找出当前VPC配置可能出了什么问题。

这就是我所做的。跟着走!

  • 使用VPC向导(“具有单个公共子网的VPC”),CIDR为10.0.0.0/16和公共子网为10.0.0.0/24 VPC-A >
  • 手动创建 VPC-B ,其CIDR为10.5.0.0/16和专用子网10.5.0.0/24
  • 在VPC-A中启动EC2 实例A (可公开访问,其安全组允许从0.0.0.0/0进行SSH访问)
  • 在VPC-B中推出的EC2 实例B (在专用子网中,其中的安全组允许从0.0.0.0/0进行SSH访问)
  • 从VPC-A到VPC-B创建了 VPC对等连接
  • 接受对等连接
  • VPC-A主路由表添加了一条路由,其目的地为10.5.0.0/16(VPC-B的范围),指向对等连接
  • 将路由添加到 VPC-B主路由表,其目的地为10.0.0.0/16(VPC-A的范围),指向对等连接
  • 通过SSH登录到实例A
  • 在实例A中,通过SSH连接到实例B的私有IP地址

我必须首先将私钥粘贴到实例A上的PEM文件中,使用chmod设置权限,然后使用:

ssh -i keypair.pem ec2-user@10.5.0.15

我使用了实例B的私有IP地址(10.5.0.15)。这是随机分配的,因此您亲自尝试时会有所不同。

结果是... 我通过peer连接成功地通过SSH从VPC-A中的Instance-A连接到VPC-B中的Instance-B (事实证明,通过专用IP地址连接,并且VPC-B没有Internet网关)。

因此,如果按照上述步骤进行操作,然后可以比较现有的设置并找出有什么不同!