不同VPC默认网络隔离,无法互通。通过创建对等连接,并为两端VPC分别配置路由,可以实现VPC私网互通。对等连接功能支持同账号/跨账号、同地域/跨地域VPC互通,配置前请确保两端VPC的网段不重叠。
工作原理
使用对等连接实现 VPC 互连的工作流程如下:
创建VPC对等连接:
配置路由:为两端VPC分别配置指向对端VPC的路由,建立双向通信链路。
VPC 互连后,发起端和接收端没有任何差别,相当于在同一个网络中,部署在两端 VPC 中的资源可使用私网 IP 互访。
VPC对等连接的主要优势:VPC 数量较少时配置简单、同地域免费且不限制带宽。
当有如下需求时,需要使用云企业网:
大量VPC互连:每个转发路由器支持连接 1000 个 VPC,而单个 VPC 默认支持建立10个同地域对等连接和20个跨地域对等连接。
简化组网配置:转发路由器支持 Hub-Spoke 组网,支持路由学习与同步,实现全网路由动态更新。VPC数量超过3个时,建议使用云企业网。
特定组网场景:需要实现云上组播时,只能使用云企业网。对等连接仅支持两个VPC之间私网互连。
需要注意,转发路由器针对同地域连接也会收取连接费和流量处理费,而同地域对等连接免费。当有大量 VPC 互连、大带宽、低成本的综合需求时,可同时使用 VPC 对等连接和云企业网,实现复杂混合组网。
使用限制
以下情况不支持创建 VPC 对等连接:
两端 VPC 归属于不同站点的账号,即中国站账号与国际站账号。
两端 VPC 归属于不同类型的地域,即公有云地域、金融云地域和政务云地域。
两个 VPC 之间仅能创建1个VPC对等连接。
VPC对等连接不具备路由传递能力。
例如,VPC 1和VPC 2、VPC 3分别使用对等连接实现私网互通,但VPC 2和VPC 3不能通过VPC 1做中转互通。
多账号共享VPC时,资源所有者可以创建/修改/删除对等连接,而资源使用者没有操作权限。
创建/删除对等连接
对等连接支持同账号/跨账号、同地域/跨地域VPC互通,配置前请确保两端VPC的网段不重叠。
其中,跨地域对等连接:
支持非跨境、跨境。
非跨境:中国内地地域到中国内地地域、非中国内地地域到非中国内地地域。
跨境:中国内地地域到非中国内地地域。需前往跨境云专线申请企业资质,跨境专线由中国联通提供。
支持铂金、金两种链路类型,提供不同质量的流量传输服务,对应不同的计费单价。
铂金(服务可用性承诺:99.995%):适用于对链路抖动、链路时延非常敏感,对链路质量要求较高的业务。例如证券交易、在线语音、视频会议、实时游戏等。
金(服务可用性承诺:99.95%):适用于对链路质量不敏感的业务。例如数据同步、文件传输等。
控制台
如果初次使用VPC对等连接,需要确保两端VPC所属账号都开通CDT功能。
创建对等连接
前往专有网络控制台 - VPC对等连接,在页面上方选择VPC所在的地域,单击创建对等连接。
创建对等连接:根据两端VPC实例所属的账号和地域,选择接收端账号类型和接收端地域类型。
接收端账号类型:
同账号:系统会自动接受请求并建立连接。
跨账号:需要使用接收端账号前往专有网络控制台 - VPC对等连接,在页面上方选择 VPC 所在的地域,在目标对等连接的操作列单击接收。
接收端也可以拒绝或删除连接请求,可以参考VPC对等连接的状态机了解完整流程。
接收端地域类型为跨地域时,需配置链路类型和接收端地域。
为对等连接两端VPC实例添加指向对端的路由条目:
如需使用IPv6地址互访,需配置指向对端VPC实例的IPv6网段的路由条目。
当发起端CIDR与接收端CIDR重叠时,即使配置路由也无法连通。建议将业务迁移到网段不重叠的VPC中,重新建立对等连接。
使用发起端 VPC 所属账号:
在对等连接列表页,查看目标对等连接的接收端CIDR。
单击发起端VPC实例列的配置路由条目,选择该 VPC 中需连通的资源所在交换机绑定的路由表,配置目标网段为接收端CIDR。
使用接收端 VPC 所属账号:
在对等连接列表页,查看目标对等连接的发起端CIDR。
单击接收端VPC实例列的配置路由条目,选择该 VPC 中需连通的资源所在交换机绑定的路由表,配置目标网段为发起端CIDR。
修改跨地域对等连接
单击目标跨地域对等连接的实例ID,支持编辑跨地域对等连接的带宽(Mbps)和链路类型。
删除对等连接
VPC对等连接删除后,私网互访能力将会中断,且删除后无法恢复,需确保在对业务无影响的情况下谨慎操作。
在目标对等连接的操作列单击删除。可以选择去删除路由条目,在路由条目列表页签下或删除指向VPC对等连接的路由条目。也可以勾选确认不影响业务,删除上述所有对等连接及配置的路由条目,系统将强制删除VPC对等连接。
API
创建对等连接
调用CreateVpcPeerConnection创建VPC对等连接。
两端VPC属于不同账号时,需使用接收端账号调用AcceptVpcPeerConnection接受VPC对等连接。
接收端可以调用RejectVpcPeerConnection拒绝VPC对等连接。
使用两端 VPC 所属账号,分别调用GetVpcPeerConnectionAttribute查询两端VPC的网段。
使用两端 VPC 所属账号,分别调用CreateRouteEntry创建指向对等连接的路由条目。
修改跨地域对等连接
调用ModifyVpcPeerConnection修改跨地域VPC对等连接的带宽或链路类型。
删除对等连接
调用DeleteRouteEntry删除指向对等连接的路由条目。
调用DeleteVpcPeerConnection删除VPC对等连接。
Terraform
同账号对等连接
Resources:alicloud_vpc_peer_connection、alicloud_route_entry
Data Sources:alicloud_account
# VPC所属账号
data "alicloud_account" "default" {}
provider "alicloud" {
alias = "local"
region = "cn-hangzhou" #发起端VPC所属地域。
}
provider "alicloud" {
alias = "accepting"
region = "cn-beijing" #接收端地域。可以和发起端地域相同,需要根据接收端VPC所属地域配置。
}
# 发起端VPC ID
variable "local_vpc_id" {
default = "vpc-bp1c******"
}
# 接收端VPC ID
variable "accepting_vpc_id" {
default = "vpc-2zev******"
}
# 创建VPC对等连接
resource "alicloud_vpc_peer_connection" "example_peer_connection" {
provider = alicloud.local
peer_connection_name = "example_peer_connection_name"
vpc_id = var.local_vpc_id # 发起端VPC ID
accepting_ali_uid = data.alicloud_account.default.id # 接收端账号 ID
accepting_region_id = "cn-beijing" # 接收端VPC所属地域
accepting_vpc_id = var.accepting_vpc_id # 接收端VPCID
bandwidth = 1024 # 带宽,单位:Mbps。仅发起端地域和接收端地域不同时,可以配置。
link_type = "Gold" # 链路类型,仅发起端地域和接收端地域不同时,可以配置。
}
# 为发起端VPC配置路由
resource "alicloud_route_entry" "example_local_route" {
provider = alicloud.local
route_table_id = "vtb-bp1a******" # 发起端实例所属交换机绑定的路由表
destination_cidrblock = "172.16.0.0/12" # 接收端VPC网段
nexthop_type = "VpcPeer" # 下一跳为VPC对等连接
nexthop_id = alicloud_vpc_peer_connection.example_peer_connection.id
}
# 为接收端VPC配置路由
resource "alicloud_route_entry" "example_acceptor_route" {
provider = alicloud.accepting
route_table_id = "vtb-2ze1******" # 接收端实例所属交换机绑定的路由表
destination_cidrblock = "10.0.0.0/8" # 发起端VPC网段
nexthop_type = "VpcPeer" # 下一跳为VPC对等连接
nexthop_id = alicloud_vpc_peer_connection.example_peer_connection.id
}
跨账号对等连接
Resources:alicloud_vpc_peer_connection、alicloud_vpc_peer_connection_accepter、alicloud_route_entry
provider "alicloud" {
alias = "local"
region = "cn-hangzhou" #发起端地域
}
#接收端地域。可以和发起端地域相同,需要根据接收端VPC所属地域配置。
variable "accepting_region" {
default = "cn-beijing"
}
#接收端账号
variable "accepting_uid" {
default = "1234******"
}
#接收端账号AK
variable "access_key_id" {
description = "The AccessKey ID for operating your infrastructure"
}
#接收端账号SK
variable "access_key_secret" {
description = "The AccessKey Secret for operating your infrastructure"
}
provider "alicloud" {
alias = "acceptor"
region = var.accepting_region
access_key = var.access_key_id
secret_key = var.access_key_secret
}
# 发起端VPC ID
variable "local_vpc_id" {
default = "vpc-2ze0******"
}
# 接收端VPC ID
variable "accepting_vpc_id" {
default = "vpc-wz9e******"
}
# 创建VPC对等连接
resource "alicloud_vpc_peer_connection" "example_peer_connection" {
provider = alicloud.local
peer_connection_name = "example_peer_connection_name"
vpc_id = var.local_vpc_id # 发起端VPC ID
accepting_ali_uid = var.accepting_uid # 接收端账号ID
accepting_region_id = var.accepting_region # 接收端地域
accepting_vpc_id = var.accepting_vpc_id # 接收端VPC ID
bandwidth = 1024 # 带宽,单位:Mbps。仅发起端地域和接收端地域不同时,可以配置。
link_type = "Gold" # 链路类型,仅发起端地域和接收端地域不同时,可以配置。
}
# 接收端接受对等连接请求
resource "alicloud_vpc_peer_connection_accepter" "example_peer_connection_accepter" {
provider = alicloud.acceptor
instance_id = alicloud_vpc_peer_connection.example_peer_connection.id
}
# 为发起端VPC配置路由
resource "alicloud_route_entry" "example_local_route" {
provider = alicloud.local
route_table_id = "vtb-2zel******" # 发送端实例所属交换机绑定的路由表
destination_cidrblock = "192.168.0.0/24" # 接收端VPC网段
nexthop_type = "VpcPeer" # 下一跳为VPC对等连接
nexthop_id = alicloud_vpc_peer_connection.example_peer_connection.id
}
# 为接收端VPC配置路由
resource "alicloud_route_entry" "example_acceptor_route" {
provider = alicloud.acceptor
route_table_id = "vtb-wz95******" # 接收端实例所属交换机绑定的路由表
destination_cidrblock = "172.16.0.0/12" # 发起端VPC网段
nexthop_type = "VpcPeer" # 下一跳为VPC对等连接
nexthop_id = alicloud_vpc_peer_connection.example_peer_connection.id
}
配置示例
三个VPC互访
为VPC对等连接配置路由时,可以:
将对端VPC网段设为目标网段,所有实例均可以互相访问,简化管理。
配置更精细的路由,将对端VPC中的交换机网段或特定实例的IP地址设为目标网段,增强安全性。但新增实例需要通信时,须手动更新路由表。
例如,VPC1 配置了指向 VPC2 交换机3网段和 VPC3 中 ECS04 的路由,因此 VPC1 资源仅可与交换机3资源、ECS04 私网通信。VPC2 和 VPC3 配置了指向对端 VPC 网段的路由,资源可完全互访。
多个VPC与中心VPC互连
例如,分支VPC均可访问中心VPC部署的服务,但分支VPC间无法互访。典型场景:
多部门隔离:不同业务部门VPC不能互通,但需访问中心VPC的共享服务。
多用户隔离:服务部署在独立VPC内,提供给多个用户。每个用户VPC都与服务VPC互通,但用户VPC之间无法互通。
问题排查
对等连接配置完成后网络不通
检查项 | 常见问题 | 推荐解决方案 |
网段配置 | 对等连接的两端VPC网段重叠 | 将业务迁移到网段不重叠的VPC中,重新建立对等连接。 |
对等连接的两端VPC使用公网网段 | 使用IPv4网关实现公网私用,确保流量能够正确地到达目标VPC。 | |
路由配置 | 仅为一端VPC配置指向对端VPC网段的路由 | 使用两端 VPC 所属账号,分别为各自 VPC 配置路由:选择资源所在交换机绑定的路由表,配置目标网段为对端VPC的IPv4 或 IPv6 CIDR地址段。 |
路由条目的目标网段配置错误 | ||
路由条目的路由表配置错误 | ||
访问规则配置 | 互访实例的安全组、所在交换机绑定的网络ACL限制了对端IP的出入流量 | 为互访实例的安全组、所在交换机绑定的网络ACL配置放行对端IP的出/入方向规则。 |
详细排查步骤如下:
检查网段:在目标对等连接的详情页查看发起端CIDR和接收端CIDR。
确认两端VPC网段是否重叠。
网段重叠时,如果配置对端VPC网段作为目标网段,流量会优先匹配系统路由,在VPC内部转发,无法抵达对端VPC。
如果交换机网段不重叠,可以配置对端交换机网段作为目标网段。但新建交换机需要使用与现有交换机网段不重叠的网段。因此,建议将业务迁移到网段不重叠的VPC中,重新建立对等连接。
如果交换机网段重叠,由于无法配置比系统路由更明细的路由,只能将业务迁移到网段不重叠的 VPC,重新建立对等连接。
确认两端VPC是否使用公网网段。
VPC 将RFC 1918之外的 IP 地址空间(如 30.0.0.0/16)视为公网网段。当 VPC 中的资源具备公网访问能力时,流量会优先访问公网,无法通过对等连接到达目标 VPC。需要使用IPv4网关实现公网私用,确保流量正确路由到目标VPC。
检查路由:单击目标对等连接实例ID,检查路由条目列表。
与发起端CIDR和接收端CIDR对比,确认两端VPC都已配置了指向对端的路由,且目标网段属于对端VPC。
单击路由表ID,查看已绑定交换机,确认其与实例所属交换机绑定。如果实例部署在多个交换机,且绑定不同路由表,需确保在每个路由表中均添加指向对端的路由。
检查访问控制规则。
确认互访ECS实例的安全组均已配置放行对端IP的出/入方向规则。
确认已将对端IP添加到互访RDS实例的访问白名单。
确认与交换机绑定的网络 ACL 已配置放行对端 IP 的出入方向规则。
使用对等连接实例详情页面的路径分析功能可以进行问题排查,根据提示信息解决连通性问题。路径分析不支持双向同时检测,单向路径可达时需进行反向路径分析,确保双向连通性。
创建对等连接时无法选择目标VPC
请确认选择的地域和账号与目标VPC的地域和拥有者一致。
页面上方显示发起端地域,当前账号为发起端账号。接收端账号和地域在创建对等连接时配置。
监控运维
您可以查看跨地域对等连接的流量带宽、丢包率等监控信息。结合云监控服务创建阈值报警规则,可实时监控连接状态,及时发现和解决网络拥堵或故障问题。
同地域对等连接不支持查看监控指标。
控制台
对等连接监控
前往专有网络控制台 - VPC对等连接,在页面上方选择VPC所在的地域。
单击目标跨地域VPC对等连接实例监控列的
图标,查看流量带宽与丢包情况等监控信息。
云监控告警
前往云监控控制台 - 报警规则,单击创建报警规则。
为VPC对等连接的监控指标项配置各报警级别的阈值,当相应指标达到阈值后,报警联系人组将接收到报警通知,也可以在目标报警规则的操作列,点击报警历史查看报警时间线。
在目标报警规则的操作列,修改/禁用/删除规则。
API
参考对等连接云监控指标,调用PutResourceMetricRules为VPC对等连接指定监控项设置多条阈值报警规则。
调用EnableMetricRules启用一个或多个报警规则。
调用DisableMetricRules禁用报警规则。
调用DeleteMetricRules删除一个或多个报警规则。
Terraform
参考对等连接云监控指标配置阈值报警规则。
Resources:alicloud_cms_alarm_contact、alicloud_cms_alarm_contact_group、alicloud_cms_alarm
# 监控的对等连接实例ID
variable "vpc_peer_id" {
default = "pcc-28cv******"
}
# 创建报警联系人
resource "alicloud_cms_alarm_contact" "example_cms_alarm_contact" {
alarm_contact_name = "example_cms_alarm_contact_name"
describe = "example_vpc_peer_alarm"
channels_mail = "xxx@xxx.com" # 需修改为实际的Email地址
lifecycle {
ignore_changes = [channels_mail]
}
}
# 创建报警联系人组
resource "alicloud_cms_alarm_contact_group" "example_cms_alarm_contact_group" {
alarm_contact_group_name = "example_cms_alarm_contact_group"
contacts = [alicloud_cms_alarm_contact.example_cms_alarm_contact.id] # 报警联系人
}
# 创建报警规则
resource "alicloud_cms_alarm" "example_cms_alarm" {
name = "example_cms_alarm_name"
project = "acs_vpcpeer" # 云产品的数据命名空间
metric = "IntranetRX" # 监控项名称
period = 60 # 统计周期
contact_groups = [alicloud_cms_alarm_contact_group.example_cms_alarm_contact_group.alarm_contact_group_name]
effective_interval = "06:00-20:00" # 生效时间
metric_dimensions = <<EOF
[
{
"instanceId": "${var.vpc_peer_id}"
}
]
EOF
escalations_critical { # Info级别报警
statistics = "Sum" # 报警统计方法
comparison_operator = ">=" # 阈值比较符
threshold = 104857600 # 阈值
times = 2 # 报警重试次数
}
}
更多信息
计费说明
同地域VPC对等连接:两端VPC属于同账号或跨账号,均不收取任何费用。
跨地域VPC对等连接:统一由云数据传输CDT按出向流量收取流量传输费。
计费单价根据地域到地域粒度、链路类型来确定。支持铂金、金两种链路类型,提供不同质量的流量传输服务。
计费周期为每小时。如果在计费周期内切换链路类型,将按照较高服务等级的单价进行计费。
如图,跨地域跨账号的VPC1和VPC2建立了对等连接。若 VPC1 和 VPC2 通过对等连接流出的流量分别为200GB和100GB,链路类型选择金,华北5(呼和浩特)到华南3(广州)的跨地域流量费单价为0.48元/GB。依据出向流量计费规则:
账号A需要支付的费用为:0.48元/GB × 200GB = 96元
账号B需要支付的费用为:0.48元/GB × 100GB = 48元
VPC对等连接的状态机
从发起端发送创建请求开始,VPC对等连接会经过各个阶段。
如果创建的是同账号VPC对等连接,系统会自动发起连接请求并自动接受请求,VPC对等连接变为已激活状态。
VPC对等连接状态说明
支持的地域
公有云支持的地域
区域 | 支持VPC对等连接的地域 |
亚太-中国 | 华东1(杭州)、华东2(上海)、华东5 (南京-本地地域-关停中)、华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华南1(深圳)、华南2(河源)、华南3(广州)、西南1(成都)、中国香港、华中1(武汉-本地地域)、华东6(福州-本地地域-关停中) |
亚太-其他 | 日本(东京)、韩国(首尔)、新加坡、马来西亚(吉隆坡)、印度尼西亚(雅加达)、菲律宾(马尼拉)、泰国(曼谷) |
欧洲与美洲 | 德国(法兰克福)、英国(伦敦)、美国(硅谷)、美国(弗吉尼亚) |
中东 | 阿联酋(迪拜)、沙特(利雅得) 重要 沙特(利雅得)地域由合作伙伴运营。 |
金融云支持的地域
区域 | 支持VPC对等连接的地域 |
亚太 | 华南1 金融云、华东2 金融云、华北2 金融云(邀测) |
政务云支持的地域
区域 | 支持VPC对等连接的地域 |
亚太 | 华北2 阿里政务云1 |
配额
配额名称 | 描述 | 默认限制 | 提升配额 |
vpc_quota_cross_region_peer_num_per_vpc | 单个VPC支持的跨地域VPC对等连接数量 | 20个 | |
vpc_quota_intra_region_peer_num_per_vpc | 单个VPC支持的同地域VPC对等连接数量 | 10个 | |
vpc_quota_peer_num | 单个阿里云账号单地域支持的VPC对等连接数量 | 20个 | |
vpc_quota_peer_cross_border_bandwidth | 跨境带宽允许的最大值 | 1024 Mbps | |
vpc_quota_peer_cross_region_bandwidth | 跨地域带宽允许的最大值 | 1024 Mbps |