aws-doc/课程/第二阶段-核心服务/第16天-VPC虚拟私有云.md
2026-05-08 10:24:39 +08:00

6.7 KiB
Raw Permalink Blame History

第16天VPC——你的私有网络空间

今天你将学到什么

今天学习 VPCVirtual Private Cloud虚拟私有云。这是 AWS 网络的基础——你的所有资源EC2、RDS、Lambda 等)都运行在 VPC 里面。

理解 VPC 就像理解你家的网络布局:哪些设备连外网,哪些只在内网通信,防火墙怎么设置。


用小区来理解 VPC

想象你住在一个封闭式小区:

  • VPC = 整个小区(有围墙,和外面隔开)
  • 子网Subnet = 小区里的不同楼栋1 号楼、2 号楼...
  • Internet Gateway = 小区大门(连接外面的世界)
  • 路由表 = 小区内的路标(告诉你去哪个方向)
  • 安全组 = 每户的门锁(控制谁能进你家)
  • NAT Gateway = 小区的快递柜(住户可以寄快递出去,但外面的人不能直接进来)

核心概念一VPC 本身

VPC 是你在 AWS 中划出的一块私有网络空间。

创建 VPC 时要做的第一件事:选择 IP 地址范围CIDR 块)。

什么是 CIDR

CIDR 就是"这个网络里有多少个 IP 地址可以用"。

常见选择:

  • 10.0.0.0/16 → 有 65,536 个 IP 地址(推荐,空间充足)
  • 10.0.0.0/24 → 只有 256 个 IP 地址(太小了)

简单记忆/16 表示很大的网络,/24 表示小网络。数字越小,网络越大。


核心概念二子网Subnet

子网是 VPC 内部的"分区"。每个子网位于一个特定的可用区AZ

公有子网 vs 私有子网

这是 VPC 设计中最重要的概念:

公有子网:能直接访问互联网(有路由到 Internet Gateway

  • 放什么负载均衡器、跳板机Bastion Host
  • 类比:小区临街的商铺,外面的人可以直接进来

私有子网:不能直接被互联网访问

  • 放什么:应用服务器、数据库
  • 类比:小区内部的住宅楼,外面的人进不来

为什么要分公有和私有?

安全!你的数据库不需要被全世界访问,只需要被你的应用服务器访问。把它放在私有子网里,即使有人知道了它的 IP 地址,也连不上。

典型的网络架构(三层)

互联网
  ↓
┌─────────────────── VPC ───────────────────┐
│                                            │
│  公有子网(面向互联网)                      │
│  ├── 负载均衡器 ALB                         │
│  └── NAT Gateway                           │
│                                            │
│  私有子网-应用层(不直接面向互联网)           │
│  ├── 应用服务器 1                           │
│  └── 应用服务器 2                           │
│                                            │
│  私有子网-数据层(最深处,最安全)             │
│  ├── RDS 数据库                            │
│  └── ElastiCache 缓存                      │
│                                            │
└────────────────────────────────────────────┘

流量路径 用户 → 互联网 → ALB公有子网→ 应用服务器(私有子网)→ 数据库(私有子网)

外部用户只能接触到 ALB永远接触不到数据库。层层保护。


核心概念三Internet Gateway互联网网关

Internet Gateway 是 VPC 连接互联网的"大门"。

  • 一个 VPC 只能有一个 Internet Gateway
  • 公有子网的路由表指向它
  • 没有它VPC 里的任何东西都上不了网

核心概念四NAT Gateway

问题:私有子网里的服务器不能直接上网,但它需要下载软件更新、调用外部 API 怎么办?

解决方案NAT Gateway

NAT Gateway 放在公有子网里,私有子网的流量通过它"转发"到互联网:

  • 私有子网的服务器可以主动访问互联网(下载更新、调用 API
  • 但互联网上的人不能主动连接到私有子网的服务器

类比:小区的快递柜。你可以往外寄快递(主动出去),但外面的人不能通过快递柜进入小区(不能主动进来)。

注意NAT Gateway 按小时收费(约 $0.045/小时 ≈ $32/月),学习时用完记得删除!


核心概念五路由表Route Table

路由表告诉网络流量"该往哪走"。每个子网关联一个路由表。

公有子网的路由表

目标地址 下一跳 含义
10.0.0.0/16 local VPC 内部的流量,本地处理
0.0.0.0/0 Internet Gateway 其他所有流量,走互联网网关

私有子网的路由表

目标地址 下一跳 含义
10.0.0.0/16 local VPC 内部的流量,本地处理
0.0.0.0/0 NAT Gateway 其他所有流量,走 NAT 网关

0.0.0.0/0 表示"所有地址"——就是说"如果不知道往哪走,就走这条路"。


核心概念六:安全组(复习+深入)

安全组我们在 EC2 那天学过,这里再深入一点。

安全组的一个强大特性:可以引用其他安全组

比如:

  • 应用服务器的安全组:允许来自"ALB 安全组"的流量
  • 数据库的安全组:允许来自"应用服务器安全组"的流量

这样即使 IP 地址变了Auto Scaling 加了新服务器),安全规则依然有效。因为你引用的是"身份"(安全组),不是具体的 IP。


默认 VPC vs 自定义 VPC

AWS 每个 Region 都有一个"默认 VPC",方便你快速上手。但生产环境应该创建自定义 VPC

默认 VPC 自定义 VPC
子网 全是公有子网 你自己设计公有/私有
安全性 较低 你完全控制
适合 学习、快速实验 正式项目

今天的小测验

  1. 公有子网和私有子网的区别是什么?数据库应该放在哪种子网里?
  2. NAT Gateway 的作用是什么?为什么私有子网需要它?
  3. 为什么安全组引用其他安全组比引用 IP 地址更好?
  4. 如果一个子网的路由表里没有指向 Internet Gateway 的路由,这个子网是公有还是私有?

延伸阅读


明天预告

明天学习 Route 53DNS 服务)和 CloudFrontCDN 加速)——让全球用户都能快速访问你的网站,并且实现智能的流量路由。