是否需要在发送和接收VPC /子网中启用路由表以使流量流动?
我已经配置了2个VPC,但我希望流量只能从VPC A向VPC B流向一个方向。这可能吗?
我使用了VPC和路由表,但必须在VPC A和B中配置路由表,以便它们可以通过VPC对等连接将流量路由到彼此。双向流量是唯一的解决方案,还是只能在一个方向上流量?即仅允许请求来自VPC A,但允许VPC B返回响应。
我最初的假设是支持单向流量,因此我在VPC A中配置了路由表,以便可以通过VPC对等连接将流量路由到VPC B.但由于VPC B中没有相应的路由,因此ping响应似乎找不到返回VPC A的路由。
还有关于此的文件吗?我阅读了AWS文档(包括路由表基础知识),但似乎无法找到解决我问题的任何内容。
答案 0 :(得分:6)
文档:
要使用私有IPv4地址将流量从您的实例发送到对等VPC中的实例,您必须将路由添加到与实例所在的子网关联的路由表中。
...
对等连接中另一个VPC的所有者还必须添加到其子网路由表的路由,以将流量引导回您的VPC。
http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/vpc-peering-routing.html
路由表不会简单地告诉我的网络上的实例如何启动与您的连接。当您尝试与我建立连接时,他们还告诉我的实例如何回复。这同样适用于另一方面。两个方向都需要路由,至少对于TCP和ICMP。 UDP可能在没有路由对称的情况下工作,但仍然是错误的,因为传入的UDP消息可以触发ICMP响应,因此对称路由仍然是正确的,即使在某些情况下它不是严格强制的。
答案 1 :(得分:2)
Ryan Harris的回复非常重要。 TCP / IP是双向的 - 数据包必须在两个方向上流动。因此,必须将RouteTables和NACL配置为允许来自两个VPC(或子网)的。
我认为在这一点上存在很多混乱,因为所有消费级路由器都使用NAT并且当"允许"时自动生成互惠规则。特定的端口/应用程序。
答案 2 :(得分:0)
您可以使用NACL拒绝从一个到另一个的流量流出。例如,VPC A具有允许流出到VPC B的NACL,并且VPC B具有允许从VPC A流入的NACL。
答案 3 :(得分:0)
如果您担心流量会向一个方向流动,只需通过安全组阻止您不想接收流量的实例的那一侧。
欢呼!
Joseph P。
答案 4 :(得分:0)
不,我们必须在两端设置路由表才能使 VPC 对等连接工作。但是,除了 VPC 对等互连之外,我们还可以使用另一种方式让节点无法访问,就像 Joseph 所说的那样,使用安全组。