AWS VPC 子网路由表最佳实践

时间:2021-02-18 06:20:25

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

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

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

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

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

请注意,我问这个问题的原因是,我已经看到这两种方法都在不同的环境中使用,并试图了解什么是好的方法。

1 个答案:

答案 0 :(得分:2)

最终这取决于您自己的要求,但这里有一些需要考虑的地方。

公共子网

您的任何公共子网是否有独特的不同?如果它们在许多人遵循的模式中完全相同(每个可用区有一个公共子网),那么您可能会发现为公共子网拥有一个路由表更简单。由于 Internet 网关具有高可用性,并且 VPC 只能连接一个,因此如果它们都相同,则为每个子网添加路由表只会增加复杂性。

私有子网

首先要考虑的因素是,您的所有私有子网是否都能够访问互联网。如果您有特定的子网应该和不应该的子网,您将希望将它们的路由分开。请记住,与第三方 API 交互或修补系统需要互联网。

对于需要互联网的私有子网,您需要使用 NAT 设备(NAT GatewayNAT instance)。通常最佳做法是让每个可用区(而不是子网)都有自己的 NAT 设备,这可以防止其他可用区中的设备在 NAT 可用区遇到问题时无法连接到互联网。

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

VPC 到网络通信

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

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

如果您希望只有特定的子网能够与外部源通信,那么您应该考虑到这些子网的路由表,同时将上述部分考虑在内。

总结

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

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

把这些都考虑在内,最重要的是安全通常是最高的因素(不要允许不需要的通信)但也要考虑对这些的管理。如果您有 100 个子网,其中 90 个是私有的且具有相同的路由,则创建所需的最少路由表数量。如果需求发生变化,您可以在需要时进行更改。