Private VIF 是 Direct Connect 的虚拟接口类型,用于通过私有 IP 地址访问 VPC 内的资源,流量不经过公网。
| 对比 | Private VIF | Public VIF |
|---|---|---|
| 访问目标 | VPC 内资源(EC2、RDS 等) | AWS 公共服务(S3、DynamoDB) |
| 使用的 IP | 私有 IP | 公网 IP |
| 关联组件 | VGW 或 Direct Connect Gateway | 无需关联 |
| 典型用途 | 混合云、数据中心连 VPC | 访问 AWS 公共端点 |
示例架构:
本地数据中心 AWS
┌──────────────┐ DX ┌──────────────────────────────────┐
│ 客户路由器 │◄───────────►│ Private VIF │
│ 10.0.0.1 │ │ │ │
│ BGP ASN 65000│ │ ▼ │
└──────────────┘ │ ┌─────────┐ ┌─────────────┐ │
│ │ │ VGW │◄──►│ VPC │ │
│ │ │ │ │ 172.31.0.0/16│ │
▼ │ └─────────┘ │ ┌────────┐ │ │
┌──────────────┐ │ │ │ EC2 │ │ │
│ 本地服务器 │ │ │ │ RDS等 │ │ │
│ 192.168.1.0/24│ │ │ └────────┘ │ │
└──────────────┘ └──────────────────────────────────┘

创建Private VIF时,需要指定使用DXGW还是VGW:

| 场景 | Private VIF + VGW | Private VIF + DXGW |
|---|---|---|
| 同 Region VPC | ✅ 支持 | ✅ 支持 |
| 跨 Region VPC | ❌ 不支持 | ✅ 支持 |
| 跨账户 VPC | ❌ 不支持 | ✅ 支持 |
规则:Private VIF 直连 VGW 时,两者必须在同一 Region。 如需跨 Region 或跨账户,必须使用 Direct Connect Gateway (DXGW) 作为中间层:
Private VIF ──► DXGW ──► VGW (Region A)
└──► VGW (Region B)
└──► VGW (另一个账户)
DXGW 是一个全局路由中转层,它本身不连 VPC,只是把流量转发给 VGW 或 TGW。DXGW 必须通过 VGW 或 Transit Gateway 才能连到 VPC。
上面是DXGW的第一种用法,后面接VGW;第二种用法是接TGW:
Transit VIF ──► DXGW ──► TGW ──► 多个 VPC
创建Private VIF时,它相比于Public VIF一个重要区别是,以下几个选项是optional的:

建立 Private VIF 后,BGP 会话会自动交换路由:
| 方向 | 交换内容 | 说明 |
|---|---|---|
| AWS → 用户 | VPC CIDR 前缀 | 用户的路由器学习到 172.31.0.0/16 等 |
| 用户 → AWS | 本地网络前缀 | AWS 学习到用户的 192.168.0.0/16 等 |
BGP 收到的路由示例:
# 用户的路由器会收到类似这样的路由
172.31.0.0/16 via 10.0.0.2 (AWS VGW)
10.100.0.0/16 via 10.0.0.2 (另一个 VPC,如果有)
Private VIF 不需要用户宣告前缀,因为路由是从 VPC CIDR 自动学习的。
这些字段可选是因为 AWS 能自动分配,但如果有 IP 规划需求或安全要求可以手动填写
Gateway endpoint和VPC DNS resolver不能通过private VIF来访问:

| 资源类型 | 能否通过 Private VIF 访问 | 说明 |
|---|---|---|
| EC2 实例 | ✅ 可以 | Private VIF 的核心用途 |
| Interface Endpoint | ✅ 可以 | 有 ENI 和私有 IP,可达 |
| Gateway Endpoint | ❌ 不能 | 只能从 VPC 内部访问 |
| AWS DNS (VPC DNS) | ❌ 不能(默认) | 本地无法直接解析 AWS 私有 DNS |
默认情况下,本地服务器无法解析 VPC 内的私有 DNS 名称(如 EC2 的私有 DNS)。
解决方案:配置 Route 53 Resolver Inbound Endpoint
本地 DNS 服务器 → Private VIF → Route 53 Resolver Inbound Endpoint → 解析 VPC 私有 DNS