AWS VPC子网路由表最佳实践

9

在 AWS 中,我们有像公共和私有子网这样的分层子网。

为了简化问题,我只涉及私有子网。

我知道我们可以在所有可用区的私有子网中使用单个路由表,或者我们可以在所有可用区的私有子网中使用多个路由表(每个可用区一个)。

我的问题是,设计时应该采用哪种最佳实践?是否应该为每个可用区的子网创建不同的路由表,还是应该为所有可用区的子网创建单个路由表?推荐的方法是什么,推荐方法的优点是什么?

请注意,我之所以问这个问题是因为我在不同的环境中看到了这两种方法,并试图了解哪种是好方法。

1个回答

15

最终取决于您自己的需求,但以下是需要考虑的几点。

公共子网

您的任何公共子网是否有独特的区别?如果它们都遵循许多人遵循的模式(每个可用区一个公共子网),那么您可能会发现为公共子网设置单个路由表更简单。因为互联网网关高度可用,而VPC只能连接一个互联网网关,在所有子网都相同的情况下,为每个子网添加一个路由表只会增加复杂性。

私有子网

首先要考虑的因素是,您的所有私有子网是否都可以达到互联网。如果您有应该和不应该达到互联网的特定子网,则需要保持其路由分开。请记住,与第三方API交互或修补系统将需要互联网。

对于那些需要互联网的私有子网,您将需要使用NAT设备(NAT网关NAT实例)。通常最佳实践是每个可用区(而不是子网)都有自己的NAT设备,这样可以避免其他可用区的设备在NAT所在的可用区面临问题时无法连接到互联网。

在这种情况下,您应该考虑每个可用区一个路由表,然后根据需要将子网绑定到正确的路由表。

VPC与网络通信

最后需要考虑的是您的VPC如何与外部网络通信(无论是在AWS中、其他云提供商中还是本地)。

如果您要连接到外部源,则需要了解该外部源是否应该能够与每个子网通信(反之亦然),或者是否只有一定范围内的子网应该能够与其通信。

如果您想让特定的子网能够与外部源通信,则应该考虑针对这些子网的路由表,并考虑以上部分。

总结

总之,有几个因素决定您创建的路由设置:

  • 子网是公共的还是私有的?
  • 是否有特定子网的独特路由要求?(例如没有互联网)
  • 对于私有子网,您是否会使用每个可用区一个NAT的最佳实践?
  • 是否需要在特定子网和外部网络之间进行路由?

考虑到这些因素,尤其是安全性通常是最重要的因素(不允许不必要的通信),但也要考虑它们的管理。如果您有100个子网,其中90个是私有的,使用相同的路由,则创建所需的最小数量的路由表。如果需求发生变化,可以在需要时进行更改。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接