AWS VPC 核心笔记(小白向)

AWS VPC 核心笔记(小白向)


一、核心组成:VPC = 云上的"私有网络"

组件名 类比 说明
VPC 小区 你在 AWS 上自定义的私有网络范围
子网(Subnet) 小区里的楼 子网是 VPC 的一个切分区域,决定资源的网络分布(公有/私有)
ENI(弹性网卡) 网线插口 每个 EC2 实例都有 ENI,决定它连在哪个子网上、IP 是多少
CIDR 门牌号规则 IP 地址的划分标准,例:192.168.16.0/24 表示 256 个地址(.0 到 .255)

二、访问公网的三件套

想让 EC2 实例访问互联网,你需要配齐这三样:

必要项 类比 说明
1. Internet Gateway(IGW) 小区出入口 没它就连不出 VPC
2. 路由表配置 导航指示牌 子网的流量需要指向 IGW (0.0.0.0/0 → IGW)
3. 公网 IP(Public IP / EIP) 门外显示的地址 没公网 IP,出得去别人也回不来

默认路由 = 0.0.0.0/0,代表"所有不在 VPC 内的地址"。


三、网络访问控制机制(SG vs NACL)

特性 安全组(SG) 网络 ACL(NACL)
是否状态检测 ✅ 是 ❌ 否
控制对象 EC2 实例(ENI) 子网
方向配置 默认双向(出=入) 必须单独配置入和出
规则数量 限制较少 规则数较多
使用场景 更细粒度控制(推荐) 粗粒度隔离

四、NAT:让私有子网访问公网(但不被访问)

类型 说明 特点
NAT Gateway(托管) AWS 管的,性能高,推荐 ✅ 自动扩展,需公网 IP,必须在公有子网
NAT Instance(自管) 自己建 EC2 做 NAT ❌ 需手动配置(需关掉 ENI 的 source/dest check)

为什么 NAT 网关不能和 EC2 在同一子网?

→ 因为 NAT 要放在公有子网 里,用来"代理"私有子网的访问。


五、VPC Peering:VPC 与 VPC 之间通信的桥梁

特性 说明
是否跨 region 默认不行,需 inter-region peering
是否自动路由 ❌ 需手动为双方设置路由
安全组是否生效 ✅ 要显式配置对方 IP 段
是否支持转发 ❌ 不支持转发(无"中转"功能)

要点记忆:

  • Peering 是点对点桥梁
  • 双向通信 = 双向路由 + 安全组放行

六、其他概念快速扫盲

概念 说明
EIP(弹性 IP) 固定公网 IP,可绑定给任意 ENI
Main Route Table 子网若未明确绑定路由表,则默认用这个
VPN 跨 region 安全连接方式,流量加密
Direct Connect 和 AWS 机房直接拉一根网线,不加密
Transit Gateway 多 VPC/VPN 连接汇总器,支持中转、跨 region 通信
Blackhole Route 阻断某段地址的访问(有这条,但目标资源不存在)

高频考题总结速查表

题型 正确答案 理由
Default route 的目标? A. 0.0.0.0/0 表示所有非本地地址
新建子网绑定的路由表? A. Main route table 默认绑定主路由表
没公网 IP 的实例能 SSH 吗? A. 否 没公网 IP 无法从外部连入
运行中实例如何加公网 IP? B. 分配 EIP → 绑定 ENI 这是唯一可行方案
状态检测过滤的组件? A. SG, C. AWS Network Firewall 记住 SG 是 stateful
NAT Gateway 必须与 EC2 不同子网? ✅ 是 一个公有子网代理一个私有子网
VPC peering 要实现通信? A + D 双向路由 + 安全组

🧭 图示类比:VPC 是个小区

复制代码
VPC = 小区
  ├─ 公有子网(靠近小区大门)
  │   └─ EC2 + 公网 IP → 可出入
  ├─ 私有子网(靠后,靠 NAT 网关)
  │   └─ EC2 + 无公网 IP → 只能出不能进
  ├─ IGW(Internet Gateway) = 小区大门
  ├─ 路由表 = 导航系统
  └─ Security Group = 每户门禁

建议记忆口诀

"出得去靠 IGW,进得来靠 IP;要通信先路由,安全组要放行。"

相关推荐
西猫雷婶3 小时前
STAR-CCM+|雷诺数回顾
云计算
程序员Xu6 小时前
【LeetCode热题100道笔记】二叉树的右视图
笔记·算法·leetcode
程序员Xu7 小时前
【LeetCode热题100道笔记】二叉搜索树中第 K 小的元素
笔记·算法·leetcode
DKPT7 小时前
JVM中如何调优新生代和老生代?
java·jvm·笔记·学习·spring
我真的是大笨蛋10 小时前
K8S-基础架构
笔记·云原生·容器·kubernetes
Amy_au12 小时前
Dotnet 项目手动部署到AWS 和Github action CICD 流程总结
云计算·aws
程序员Xu13 小时前
【LeetCode热题100道笔记】腐烂的橘子
笔记·算法·leetcode
IT199513 小时前
Wireshark笔记-DHCP两步交互流程与数据解析
网络·笔记·wireshark
ST.J13 小时前
SQL与数据库笔记
数据库·笔记·sql
肥肠可耐的西西公主13 小时前
后端(JDBC)学习笔记(CLASS 1):基础篇(一)
笔记·学习