Logo
Section 1 / 2

虚拟私有云(VPC)概览

了解 VPC 的 CIDR 划分、NAT 网关、NACL 与堡垒主机等核心概念

导入

虚拟私有云(VPC)概览

了解 VPC 的 CIDR 划分、NAT 网关、NACL 与堡垒主机等核心概念

什么是 VPC?

VPC 是 AWS 云中一个逻辑隔离的区域,在这里您可以完全控制虚拟网络环境,包括选择 IP 地址范围等。

可以将其理解为云中的一个虚拟数据中心。

此外,您可以在企业数据中心与您的 VPC 之间创建硬件虚拟专用网络(VPN)连接,并将 AWS 云作为企业数据中心的延伸使用。
您可以通过互联网网关或虚拟私有网关连接到 VPC。

VPC
VPC

CIDR

CIDR 是一种用于描述 IP 地址块的表示法,在各种网络配置中广泛使用。

在 IPv4 中,地址由 32 位组成,以十进制形式表示为四个 8 位字节。每个 8 位字节的取值范围是 0 到 255,因为 2^8(2 的 8 次方)等于 256,且计数从零开始。

IPv6 地址的表示方式不同,因为其长度远超 IPv4 地址。IPv6 地址长度为 128 位,即 16 个 8 位字节。

斜杠后的数字表示地址块大小:

  • /8:最高地址范围
  • /12
  • /16
  • /28:最低地址范围

默认软限制为每个区域、每个账户最多创建 5 个 VPC。

在 VPC 中,您可以:

  1. 将实例启动到子网中
  2. 为每个子网分配自定义 IP 地址范围
  3. 配置子网之间的路由表
  4. 创建互联网网关并附加到您的 VPC
  5. 创建网络访问控制列表(NACL)以增强安全性
  6. 使用实例安全组
  7. 为子网配置网络访问控制列表(ACL)

NAT 网关

NAT 网关是一种网络地址转换(NAT)服务。您可以使用 NAT 网关,使私有子网中的实例能够连接到 VPC 外部的服务,但外部服务无法主动发起对这些实例的连接。

创建 NAT 网关时,需指定以下两种连接类型之一:

公共型(默认):私有子网中的实例可通过公共 NAT 网关连接互联网,但无法接收来自互联网的未请求入站连接。您需要在公共子网中创建公共 NAT 网关,并在创建时关联一个弹性 IP 地址。您将流量从 NAT 网关路由至 VPC 的互联网网关。或者,您也可以使用公共 NAT 网关连接到其他 VPC 或本地网络。此时,您通过传输网关或虚拟私有网关将流量从 NAT 网关路由出去。

私有型:私有子网中的实例可通过私有 NAT 网关连接到其他 VPC 或本地网络。您可将流量从 NAT 网关通过传输网关或虚拟私有网关路由出去。不能为私有 NAT 网关关联弹性 IP 地址。虽然可以将互联网网关附加到带有私有 NAT 网关的 VPC,但如果将私有 NAT 网关的流量路由至互联网网关,该网关会丢弃此流量。

NAT 网关会将实例的源 IP 地址替换为其自身的 IP 地址。对于公共 NAT 网关,该地址为 NAT 网关的弹性 IP;对于私有 NAT 网关,该地址为 NAT 网关的私有 IP。当发送响应流量回实例时,NAT 设备会将地址转换回原始源 IP 地址。

NAT 网关是托管服务,意味着云服务商负责管理该服务。

您需要在每个可用区中创建一个 NAT 网关。为了实现跨可用区通信,应为每个可用区的 NAT 网关配置相应的路由表。

您应使用网络 ACL 来控制流向和来自 NAT 网关所在子网的流量。

网络访问控制列表(NACL)

在下图所示场景中:

  1. 一个实例位于私有子网
  2. 一个实例位于公共子网
  3. 存在一个 NAT 网关
  4. 有两个不同的安全组,每个子网各一个

网络 ACL 默认允许所有流量进出。

通用建议:通常一个子网只能关联一个 NACL,不能将一个子网关联到多个 NACL。
但一个网络 ACL 可以关联多个子网。

_VPC.PNG.jpeg
_VPC.PNG.jpeg

当用户创建自定义 NACL 时,它会默认拒绝所有入站和出站流量,直到您添加允许规则为止。

  1. 您 VPC 中的每个子网都必须关联一个网络 ACL。
  2. 每个 VPC 默认自带一个默认网络 ACL,该 ACL 默认允许所有入站和出站流量。
  3. 网络 ACL 包含一个编号规则列表,按编号顺序依次评估,从最低编号开始。
  4. 网络 ACL 是无状态的,这意味着允许的入站流量的响应必须符合出站规则,反之亦然。
  5. 网络 ACL 有独立的入站和出站规则,每条规则可以允许或拒绝流量。

VPC 流日志

VPC 流日志功能可捕获进入和离开 VPC 网络接口的 IP 流量信息。
流日志数据存储在 Amazon CloudWatch Logs 中。

堡垒主机

什么是堡垒主机?我是否需要它?

堡垒主机是部署在公共子网中的实例,通常通过 SSH 或 RDP 进行访问。建立远程连接后,堡垒主机充当“跳板”服务器,允许您通过 SSH 或 RDP 登录到 VPC 内更深层的私有子网中的其他实例。

通过正确配置安全组和网络 ACL(NACL),堡垒主机实际上成为通过互联网访问私有实例的桥梁。

您可能会问:我的环境中是否需要堡垒主机?如果您需要通过公共互联网远程连接私有实例,答案是肯定的!

下图展示了用户如何通过堡垒主机连接到私有子网中的资源。

Screen Shot 2018-09-04 at 8.35.16 AM.png
Screen Shot 2018-09-04 at 8.35.16 AM.png

以下是为 AWS 基础设施创建堡垒主机的基本步骤:

  1. 像创建普通实例一样启动 EC2 实例。
  2. 根据需要进行操作系统加固。
  3. 设置适当的安全组(SG)。
  4. 实现 SSH 代理转发(Linux 连接)或远程桌面网关(Windows 连接)。
  5. 在您使用的每个可用区中部署一个 AWS 堡垒主机。

位于公共子网中的 NAT 实例用于让私有子网中的实例访问互联网。

跳板机

这允许您先通过 SSH 或 RDP 登录堡垒主机,然后从堡垒主机发起对私有子网中实例的私有连接。
堡垒主机经过加固处理,是管理私有子网中所有 EC2 实例的唯一途径。

服务网关

服务网关使私有子网中的实例能够访问公共端点,而无需实际经过互联网。

Screen Shot 2021-12-28 at 2.49.00 PM.png
Screen Shot 2021-12-28 at 2.49.00 PM.png

AWS:路由

VPC 对等连接与 Direct Connect(小结)