VPC 中的公有子网和私有子网

VPC 中的公有子网和私有子网

IANA 将某些 IP 块设置为私有 IP 范围(如下图所示)

    10.0.0.0 – 10.255.255.255   (255.0.0.0)
    172.16.0.0 – 172.31.255.255  (255.255.0.0)
    192.168.0.0 – 192.168.255.255  (255.255.255.0)

公共 IP 地址由互联网服务提供商发放,第一个八位字节的数字范围从1到,但A 类私有网络和B 类私有地址的191私有地址范围除外。10.0.0172.16.0


要将 VPC 划分为每个区域的一个私有子网和一个公有子网(如下所示):

在此处输入图片描述

应用服务器位于私有子网中。

NAT 网关和堡垒服务器位于公共子网中

1)我是否需要对两个私有子网使用私有 IP 范围(仅)?

2)我是否需要对两个公共子网使用公共 IP 范围(仅)?

答案1

整个 VPC 有一个大的私有地址块,例如,10.20.0.0/16你的子网有这个地址块的片段,例如

  • 公共-az1公共-az2将会有10.20.0.0/24并且10.20.1.0/24
  • 私有-az1私有-az2将会有10.20.2/24并且10.20.3.0/24

此外,民众子网可以有公共 IP或者弹性 IP也会分配。这些由 AWS 逐个分配,并根据请求分配给各个实例。


更新:详情可以参考我的另一个回答:EC2 实例的 NAT 网关

通常,VPC 中有两种子网:

  1. 公共子网

    • 具有 IGW 和可选的 NAT
    • 0.0.0.0/0指向 IGW
    • 主机(EC2 实例)从 VPC 范围(10.20.0.0/16)获取其主要私有 IP,但同时……
    • 主持人必须有公有 IP或者弹性 IP直接连接到互联网
    • 可以通过此公共/弹性 IP 从互联网联系主机(如果安全组许可证)
  2. 私有子网

    • 没有 IGW 或 NAT
    • 指向0.0.0.0/0NAT 的公共子网多于
    • 主机仅具有 VPC 范围内的私有 IP,并且所有出站访问均“屏蔽”到 NAT 网关 IP
    • 主机可以发起与互联网的连接,但无法从外部联系,因为它们“隐藏”在 NAT(网络地址转换网关)后面。
    • 没有配置 NAT 的主机将无法访问互联网

希望这能解释清楚:)

答案2

您可以在 AWS VPC 内使用任何 IP / CIDR 块,因为 VPC IP / CIDR 仅对 VPC 内的资源可见,对 AWS 外部不可见。与互联网的任何交互都是使用弹性 IP(又称公共 IP)完成的。

唯一需要记住的是,如果您想与其他 VPC 对等,则不能有重叠的 CIDR 块。

答案3

您需要对所有子网使用私有 IP 地址。

VPC 中具有公有 IPv4 地址(自动分配/动态或静态/EIP)的实例不知道其公有 IP 地址。例如,ifconfig在 Linux 服务器上,具有公有 IP 地址的实例将不是显示公有 IP——它将显示私有 IP。互联网网关在设备分配的公有 IP 地址和设备实际的私有 IP 地址之间执行 1:1 静态 NAT。

互联网网关有两个用途:在您的 VPC 路由表中为可路由互联网的流量提供目标,以及为已分配公有 IPv4 地址的实例执行网络地址转换 (NAT)。

https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html

对于没有公共 IP 的实例,Internet 网关不会执行此操作,这就是为什么您需要一个或多个 NAT 网关才能让这些实例访问 Internet。

相关内容