了解路由表

Understanding route tables

我是 AWS 的新手,我正在尝试了解路由 tables。

所以我有两条路线table,一条是public路线table,一条是私人路线table。

下面是 public 路线 table。

它有默认路由,其中​​ VPC 中的流量被定向到与该路由关联的子网中的实例。还有我创建的另一条路线,来自任何地方的流量都被定向到互联网网关。我的问题是,这意味着子网中的所有流量都定向到互联网吗?

下面是私有路由table的路由。

只有默认路由。我假设来自子网 10.0.0.0/16 的所有流量都定向到与此路由关联的子网中的实例。对吗?

最后,主干道table和非主干道table有什么区别?

我的私人路线table是我的主路线table,public路线table不是。不太明白什么意思

如有任何提示,我们将不胜感激。

My question here is that mean all traffic in the subnet is directed to the internet?

不,恰恰相反。 “默认”路由被称为 local route 并且始终存在。这意味着所有流向 VPC 中资源的流量都留在 VPC 中。因此,由于本地路由,一个实例可以在没有互联网的情况下访问 VPC 中的第二个实例(前提是您不使用 public IP 地址)。

但是,如果您的流量是 Destination 0.0.0.0/0,它将转到您的互联网网关。尽管 0.0.0.0/0 代表所有 IP 地址,但由于 route priority 本地流量将保持本地。这是因为 10.0.0.0/160.0.0.0/0:

更具体

We use the most specific route in your route table that matches the traffic to determine how to route the traffic (longest prefix match).

I would assume that all traffic from subnet 10.0.0.0/16 is directed to instances in the subnet associated in this route. Is that correct?

这是不正确的。该规则意味着来自子网的所有流量都可以定向到 VPC 中的任何实例,其中包括其他子网。

what's the difference between being a main route table and non-main route table?

每个VPC都有一条主路由table。当您的子网没有关联的自定义路由 table 时,将使用主路由 table。因此,您可以将其视为后备。如果您创建了一个子网并且没有明确地将自定义路由table与您的子网相关联,则主路由table中定义的规则将应用于那个子网。