私有子网和公共子网有什么区别?

私有子网和公共子网有什么区别?

为了学习的目的,我尝试在 AWS 中设置一个公共/私有 VPC没有使用向导,我试图确定 AWS 如何确定子网是私有的还是公共的。

为了论证的目的,假设我的 vpc 中有 1 ig、2 个路由表、2 个 elbs、4 个实例、4 个子网和 2 个可用区。

[
    ig,
    routepub,
    routepriv (default),
    elbpub,
    elbpriv,
    { az1: [
      subnet1pub:  { range: "10.0.0.0/25",    instances: [ instance1pub  ] },
      subnet1priv: { range: "10.0.1.0/25",    instances: [ instance1priv ] }
    ] },
    { az2: [
      subnet2pub:  { range: "10.0.0.128/25",  instances: [ instance2pub  ] },
      subnet2priv: { range: "10.0.1.128/25",  instances: [ instance2priv ] }
    ] }
]

我有来自更大范围的互联网流量,elbpub然后在我的可用区之间进行平衡,到达instance1pub和。我在和instance2pub上有一些内部应用程序(比如数据库或类似的东西),只有和可以访问,到达这些的流量通过进行平衡。instance1privinstance2privinstance1pubinstance2pubelbpriv

当我尝试进行设置时,系统提示我必须将面向 Internet 的 ELB 连接到公共子网。那么,AWS 如何确定子网是公共子网还是私有子网?

更具体地说,我理解私有意味着它必须经过 NAT,而公共意味着它必须经过 IG,但是我该如何设置和/或链接我的路由表/安全组来反映这一点,以便让我将公共流量带入我的公共 elb?

答案1

私有子网和公共子网之间的唯一区别是,后者通过子网的路由表条目建立与互联网网关的连接 [例如:10.0.10.0/24 ig-abcdef12]。

因此,在您的示例中,您会将 ELB 放在公共子网中的实例前面。为了便于记录,您还可以创建一个内部负载均衡器 [用于公共子网中的 Web 服务器与完全位于 VPC - 私有子网内部的 ELB 前面的应用服务器通信等场景]

相关内容