Skip to content
Go back

AWS 知识点 - 亚马逊虚拟私有云 (Amazon Virtual Private Cloud, VPC)

| 0 Views Edit page

借助 Amazon Virtual Private Cloud (Amazon VPC),您可以在自己定义的逻辑隔离的虚拟网络中启动 AWS 资源。
这个虚拟网络与您在数据中心中运行的传统网络极其相似,并会为您提供使用 AWS 的可扩展基础设施的优势。


AWS 组件中英文对照表

VPC 组件(中文)英文用途
VPCVPC
子网Subnets
IP 寻址IP addressing
路由Routing
网关和断点Gateways and endpoints
对等连接Peering connections
流量镜像Traffic Mirroring
中转网关Transit gateways
Amazon VPC 流日志VPC Flow Logs
VPN 连接VPN connections

参考资料:


AWS 全球基础设施

一、AWS 全球基础设施基本概念

AWS 全球基础设施基本概念

  • 区域 (Region) 是分散在世界各地数据中心的物理位置,是相互独立的
  • 可用区 (AZ, Availability Zone) 是指一个 AWS 区域 中的一个或多个数据中心

二、区域及其扩展

区域
区域的扩展

  • AWS Outposts:允许在本地扩展和运行原生 AWS 服务。
  • AWS Wavelength Zone:在 5G 网络的通信服务提供商 (CSP) 中嵌入 AWS 计算和存储服务。
  • AWS Local Zone:将计算、存储、数据库和其他某些初级服务放置在更靠近大量人口聚居的位置,或者靠近行业和 IT 中心的位置,使您能够提供最终用户要求延迟不超过 10 毫秒的应用程序。

三、Amazon CloudFront

Amazon CloudFront

四、截止 2024 年末 AWS 基础设施数量

AWS 基础设施数量


Amazon VPC 概述

一、Amazon VPC 基本概念

Amazon VPC 基本概念

二、Amazon VPC 的 CIDR 块配置

Amazon VPC 的 CIDR 块配置

  • 不同 VPC 的 CIDR 块需要不同
  • VPC 内)子网 的 CIDR 块是 VPC CIDR 块的子集

三、Amazon VPC 组件

Amazon VPC 组件

  • 仅出口 Internet 网关 (Egress Only Internet Gateways) 仅适用于 IPv6 流量,且只适用于出站通信,会阻止互联网到实例的入站通信
  • 互联网网关 适用于 IPv4(和 IPv6)流量,允许出站流量和入站流量。
  • 网络 ACL子网 级别的防火墙。

四、⭐ Amazon VPC 关键知识点

Amazon VPC 关键知识点 01
Amazon VPC 关键知识点 02

  • 子网 不能跨可用区。

VPC 基础知识

VPC 基础

VPC 基础 01
VPC 基础 02
VPC 基础 03
VPC 基础 04
VPC 基础 05
VPC 基础 06
VPC 基础 07

  • 私有 IP 网段(RFC 1918 规范)

    在互联网的地址架构中,专用网络是指遵守 RFC 1918 和 RFC 4193 规范,使用专用IP地址空间的网络。

    • 10.0.0.0 - 10.255.255.255 (10.0.0.0/8):大型网络
    • 172.16.0.0. - 172.31.255.255 (172.16.0.0/12):AWS 默认的 CIDR 块
    • 192.168.0.0 - 192.168.255.255 (192.168.0.0/16):家庭网络
  • 子网 的 CIDR 块中前四个 IP 地址和最后一个 IP 地址无法使用,是 AWS 用于联网目的保留的
  • 公有子网 通过 Internet 网关 联网
  • 私有子网 通过 NAT 实例NAT 网关 联网
  • NAT 实例 是部署在 公有子网 的、供 私有子网 内实例经由它、连接 互联网网关 的、需要自行维护的实例(相对便宜)
  • NAT 网关 是 AWS 提供的、可用区 (AZ) 级别高度可用的、需要绑定弹性 IP 地址的服务
  • VPC 流日志 (VPC Flow Logs) 可以为 VPC子网网络接口 (ENI) 创建流日志

安全组和网络 ACL

一、安全组和网络 ACL 概览

安全组和网络 ACL 概览

  • 网络 ACL 是应用于 子网 级别的。
  • 一个 子网 只能关联一个 网络 ACL,但一个 网络 ACL 可以关联多个 子网
  • 安全组 是应用于 (EC2) 实例 级别的。
  • 同一 安全组 可以应用于不同 子网 中的不同 实例
  • 安全组 是有状态的,网络 ACL 是无状态的

二、有状态和无状态防火墙

第 1 条是入站规则,第 2 条是出站规则

  • 有状态防火墙 将自动允许入站请求的返回流量。

    安全组 上只需要配置 入站规则,不需要配置 出站规则

  • 无状态防火墙 无法区分进站和出站请求是否是同一个请求,因此会检查进和出两个方向的允许规则。

    网络 ACL 上需要配置 入站规则出站规则

三、安全组规则样例

安全组规则样例

  • 安全组 仅支持配置 允许 规则,不支持配置 拒绝 规则。
  • 源可以是单个 IP、IP 范围或另一个安全组(的 ID)。

四、安全组配置最佳实践

安全组配置最佳实践

  • 自上而下只允许必要的流量,拒绝所有其他流量。
  • 安全组 通过 安全组 ID 进行引用。

五、网络 ACL 规则样例

网络 ACL 规则样例

  • 网络 ACL 支持配置 允许拒绝 规则。
  • 规则是按顺序从上到下(编号从小到大)依次匹配的,一旦匹配到一条规则,后续规则不再生效。
  • ⭐ 默认的 网络 ACL 规则是 允许所有入站和出站流量
  • ⭐ 自己创建的自定义 网络 ACL 规则默认是 拒绝所有入站和出站流量

VPC 对等连接 (VPC peering)

一、VPC 对等连接基本概念

基本概念 01
基本概念 02

  • 内网连接两个 VPC
  • 用以连接的两个 VPC 不能有重叠的 CIDR 块。
  • 不支持传递。

    例:A 与 B 相连,B 与 C 相连,此时 A 无法访问到 C。

  • ⭐ 需要手动更新每个 VPC 子网的路由表。
  • 支持跨 AWS 区域和 AWS 账户。

二、最长前缀匹配 (longest prefix matches)

最长前缀匹配案例

三、不受支持的 VPC 对等配置

无法建立 VPC 对等连接的多个情景

  • 两个 VPC 中任意 IPv4/IPv6 CIDR 块重叠都无法建立对等连接。
  • 不支持边界到边界的路由。

VPC 终端节点 (VPC endpoints)

一、VPC 终端节点基本概念

基本概念

  • VPC 终端节点 使得能将 VPC 通过 AWS 的私有网络连接到支持的 AWS 服务,而不用经过 Internet。
  • VPC 终端节点 有两种类型:
    • 网关终端节点:⭐ 只支持 S3DynamoDB
    • 接口终端节点
  • 排查终端节点问题主要是 2 个方向:DNS 解析配置路由表

二、网关终端节点 (Gateway VPC endpoints)

网关终端节点

  • 网关终端节点 新建过程:
    1. 选择 网关终端节点 类型
    2. 选择连接到 S3/DynamoDB 服务
    3. 选择 VPC
    4. 选择 路由表(需要连接服务的EC2 所在 子网路由表

      路由表在网关终端节点创建后会自动新增一条记录

    5. 支持配置 策略

三、接口终端节点 (Interface VPC endpoints)

接口终端节点 01
接口终端节点 02

  • 创建 接口终端节点 将新建一个 弹性网络接口 (Elastic network interfaces, ENI)

    弹性网络接口VPC 中表示虚拟网卡的逻辑网络组件。您可以创建并配置网络接口,并将其连接到同一可用区中启动的实例。

  • 接口终端节点 新建过程:
    1. 选择 接口终端节点 类型
    2. 选择连接到相应的 AWS 服务
    3. 选择 VPC
    4. 选择 子网(需要连接服务的EC2 所在 子网

      这里与 网关终端节点 选择 路由表 不同:
      选择的是子网

    5. 启用私有 DNS 名称

      启用私有 DNS 名称
      启用后,调用相应服务的共有 DNS 会解析成私有地址。

    6. 如果有的话,配置相应服务的 安全组
    7. 支持配置 策略

VPC 终端节点策略 (VPC endpoint policy)

VPC 终端节点策略 的考点通常以“涉及访问 S3 的终端节点的内容,然后让你设计控制 S3 存储桶的访问”这种形式出现。

一、VPC 终端节点策略基本概念

终端节点策略 01
终端节点策略 02

  • ⚠ 并非所有的 AWS 服务都支持 终端节点策略
  • 终端节点策略 是在服务原有 IAM 用户策略服务特定策略 以外的多一层保障

二、⭐ S3 存储桶策略在 VPC 终端节点场景下的应用

S3 存储桶策略与 VPC 终端节点策略的相关考点

  • aws:SourceIp 条件只能用来限制 共有 IPS3 存储桶 的访问
  • 要限制 VPC 终端节点S3 存储桶 的访问需要使用 aws:sourceVpceaws:sourceVpc

示例:
两种 S3 存储桶策略的示例

三、通过网关终端节点访问 S3 存储桶失败时的排障

EC2 通过网关终端节点访问 S3 的流程

  • 依次确认以下 6 点:
    1. EC2 的安全组出口规则
    2. VPC 终端节点策略
    3. 子网的路由表
    4. VPC 要启用 DNS 解析
    5. S3 存储桶 策略
    6. IAM 用户 策略

AWS Site-to-Site VPN

一、AWS Site-to-Site VPN 基本概念

AWS Site-to-Site VPN

  • 虚拟专用网关 (Virtual Private Gateway, VGW) 是 VPC 级别的
  • 会创建两条 VPN 隧道进行冗余

二、AWS Site-to-Site VPN 的路由配置

路由配置

  • 公司数据中心和 VPC 的 CIDR 块需要不同

三、AWS Site-to-Site VPN 与 Internet 访问

本地设备通过 VPN 连接 Internet 的两个案例
AWS EC2 实例通过 VPN 连接访问客户侧 Internet 的案例

四、AWS VPN CloudHub

AWS VPN CloudHub


AWS Client VPN 与软件 VPN

一、AWS Client VPN 基本概念

AWS Client VPN 基本概念

二、软件 VPN(⚠️ 非 AWS 托管)

相当于自行搭建节点。

软件 VPN


AWS Direct Connect(DX) 与 Direct Connect Gateway

一、AWS Direct Connect 基本概念

AWS Direct Connect 基本概念

  • 建立的是专用私有连接
  • 本地数据中心 <—> AWS Direct Connect 位置 <—> 某区域内的某 VPC

二、AWS Direct Connect 虚拟接口

AWS Direct Connect 虚拟接口

  • 访问 S3 等具有公有域名的 AWS 服务使用的是 公共虚拟接口 (Public virtual interface)
  • 访问 VPC 内资源使用的是 私有虚拟接口 (Private virtual interface)
  • VPC 终端节点 是无法使用 私有虚拟接口 (Private virtual interface) 访问的

    VPC 终端节点 不支持边界到边界的路由。
    需要访问 S3 等公共服务时,直接使用 公共虚拟接口 (Public virtual interface) 即可。

三、AWS Direct Connect 连接的类型

AWS Direct Connect 连接的类型

  • ⭐ 无论那种方案都需要 1 个月以上的时间。

    涉及到传输大容量数据的考题,需要注意时间限制。

四、AWS Direct Connect 加密

AWS Direct Connect 加密

五、AWS Direct Connect 网关

AWS Direct Connect 网关

  • 本地数据中心连接到多 区域VPC 时使用

六、AWS Direct Connect 网关 + Transit Gateway

AWS Direct Connect 网关 + Transit Gateway


Transit VPC & Transit Gateway

一、Transit VPC 基本概念

非 AWS 托管,只是 AWS 建议的异地数据中心建立连接的方式。

Transit VPC 基本概念

  • 通过 VPN 实现的网络中转中心

二、网络复杂性随着规模增加

网络复杂性随着规模增加

三、Transit Gateway

Transit Gateway

  • 可以跨 区域
  • 可以跨 AWS 账户
  • ⭐ 支持边界到边界的路由

架构模式之 Amazon VPC

架构模式 01
架构模式 02
架构模式 03


Edit page