4. 虚拟接口VIF类型与业务映射
在 AWS Direct Connect 的物理链路(专线)打通之后,真正决定“哪些流量能走专线、以什么身份进入 AWS 云”的,是虚拟接口(Virtual Interface,VIF)。一条物理专线可以承载多个 VIF,每个 VIF 都是逻辑上独立的 BGP 会话与 VLAN 通道。理解 Private VIF、Public VIF、Transit VIF 三者的用途、边界与选型方法,是混合云专线设计中最关键的一步——选错 VIF 类型,往往意味着后续要么无法访问目标服务,要么引入不必要的网关成本与路由复杂度。
三种 VIF 的本质区别
三种 VIF 的差异,本质上是“对端接入的是什么”以及“BGP 会话交换的是什么路由”的差异。
Private VIF 接入的是 VPC 内的私有 IP 资源,通过虚拟网关(Virtual Gateway,VGW)或 Direct Connect 网关(DX Gateway)与 VPC 关联。它交换的是 VPC 的私有网段路由(如 10.0.0.0/16),流量以私有 IP 形式在本地数据中心与 VPC 之间传输。Private VIF 是访问 VPC 内 EC2、RDS、EKS 等私有资源的“标准通道”,也是延迟最可控、路径最直接的接入方式。
Public VIF 接入的是 AWS 的公有 IP 服务端点,例如 S3、DynamoDB、SQS、SNS、KMS、ECR 等。它交换的是 AWS 公布的公有前缀路由,本地数据中心通过专线直接访问这些服务的公有 IP,而不经过公网。Public VIF 的价值在于:让原本走互联网的 AWS 公有服务流量改走专线,获得更稳定的带宽与更低的抖动,同时避免公网出口带宽成本。需要注意的是,Public VIF 只能访问 AWS 公有服务,不能访问 VPC 内的私有 IP。
Transit VIF 接入的是 Direct Connect 网关(DX Gateway),再通过 DX Gateway 关联到 Transit Gateway(TGW)或 VGW。它交换的是通过 DX Gateway 汇聚的多 VPC、多区域路由。Transit VIF 的核心价值是“一对多”:一条 VIF 即可连接多个 VPC、多个账号甚至多个区域,避免为每个 VPC 单独建立 Private VIF。它适合中大型企业、多账号 Landing Zone 架构,是规模化混合云组网的首选。
边界与限制:不能混用的场景
三种 VIF 之间存在明确的边界,混淆使用会导致设计返工。
- Private VIF 不能访问 AWS 公有服务端点。如果本地数据中心需要访问 S3,但只建了 Private VIF,那么 S3 流量只能走公网或 NAT 网关,无法通过专线直达。此时需要额外建立 Public VIF,或使用 S3 接口端点(Interface Endpoint)配合 Private VIF。
- Public VIF 不能访问 VPC 私有 IP。Public VIF 的 BGP 会话只交换 AWS 公有前缀,VPC 的 10.x 网段不会出现在路由表中。若误以为 Public VIF 可以“顺便”访问 EC2 私有地址,会导致路由不可达。
- Transit VIF 必须搭配 DX Gateway 使用。Transit VIF 不能直接关联 VGW,它只能连接到 DX Gateway,再由 DX Gateway 关联 TGW 或 VGW。如果企业只有单个 VPC 且无多账号需求,使用 Transit VIF 会引入 DX Gateway 与 TGW 的额外成本,属于过度设计。
- 同一 VLAN 不能承载多个 VIF。每个 VIF 需要独立的 VLAN ID 与 BGP 会话。在客户网关设备上,必须为每个 VIF 配置对应的子接口与 BGP 邻居。
选型方法:从业务需求反推 VIF 类型
选型不应从“哪种 VIF 更高级”出发,而应从业务访问目标反推。可以按以下判断路径进行:
- 明确访问目标。本地数据中心需要访问的是 VPC 私有 IP、AWS 公有服务端点,还是多个 VPC/多账号资源?
- 判断 VPC 数量与账号结构。如果只涉及 1~2 个 VPC 且同账号,Private VIF 足够;如果涉及 3 个以上 VPC、多账号或跨区域,优先考虑 Transit VIF + DX Gateway。
- 判断是否需要公有服务专线化。如果 S3、DynamoDB 等流量占比高且对稳定性敏感,应规划 Public VIF;若仅少量访问,可评估是否用接口端点替代。
- 核算成本与复杂度。Private VIF 无额外网关费用(VGW 免费);Transit VIF 涉及 DX Gateway 与 TGW 的每小时费用及数据处理费;Public VIF 本身无额外端口费,但需考虑 AWS 侧数据传出计费。
配置要点与示例参数
以一条 10G 专线、客户网关 ASN 65000 为例,规划三个 VIF 的 VLAN 与 BGP 参数:
VIF 类型 VLAN ID AWS 侧 ASN 客户侧 ASN 对端 IP 示例
Private VIF 100 64512 65000 169.254.10.1 / 169.254.10.2
Public VIF 200 64512 65000 169.254.20.1 / 169.254.20.2
Transit VIF 300 64512 65000 169.254.30.1 / 169.254.30.2
在客户网关设备上,需要为每个 VLAN 创建子接口,并配置对应的 BGP 邻居。以 Cisco IOS 风格为例:
interface GigabitEthernet0/0.100
encapsulation dot1Q 100
ip address 169.254.10.2 255.255.255.252
!
router bgp 65000
neighbor 169.254.10.1 remote-as 64512
address-family ipv4 unicast
neighbor 169.254.10.1 activate
配置完成后,通过 show ip bgp summary 观察 BGP 会话状态应为 Established,通过 show ip bgp 确认已收到 AWS 侧发布的路由。Private VIF 应看到 VPC 私有网段,Public VIF 应看到 AWS 公有前缀,Transit VIF 应看到 DX Gateway 关联的多 VPC 路由。若某条 VIF 的 BGP 状态为 Active 或 Idle,应优先检查 VLAN 封装、对端 IP 与 ASN 是否匹配。
选型决策表
| 业务场景 | 推荐 VIF | 关键理由 |
|---|---|---|
| 单账号、1~2 个 VPC 私有资源访问 | Private VIF | 路径最短,无额外网关费用 |
| 本地访问 S3/DynamoDB 等公有服务 | Public VIF | 专线直达公有端点,避开公网抖动 |
| 多账号、多 VPC、跨区域集中组网 | Transit VIF | 一条 VIF 汇聚多 VPC 路由,扩展性强 |
| 既有私有 VPC 又有公有服务访问 | Private + Public VIF | 按目标分流,VLAN 隔离互不影响 |
| 多账号 + 公有服务 + 私有 VPC 混合 | Transit + Public VIF | Transit 承载 VPC 间路由,Public 承载服务流量 |
总结来说,Private VIF 解决“进 VPC”,Public VIF 解决“进 AWS 公有服务”,Transit VIF 解决“进多个 VPC”。选型的核心不是比较功能强弱,而是先明确访问目标与规模,再匹配对应的接入方式。在工程实践中,三者常常并存于同一条物理专线,通过 VLAN 与 BGP 会话实现业务流量的精确映射。