
腾讯云 VPC(Virtual Private Cloud,专有网络)是所有腾讯云计算资源的网络基础。CVM 云服务器、云数据库、负载均衡、容器实例,都必须运行在某个 VPC 的子网内。理解腾讯云 VPC 的设计逻辑,是在腾讯云上搭建任何生产架构的前提。
每个腾讯云账号在每个地域都有一个默认 VPC,新建 CVM 时如果不指定,就会使用这个默认 VPC。默认 VPC 适合快速测试,但不适合正式业务——默认 VPC 的 CIDR 是固定的,网段规划缺乏灵活性,且预置的安全组规则偏宽松。生产环境应该创建自定义 VPC,从网段规划开始做好隔离设计。
VPC 的核心概念
理解腾讯云 VPC 的四个核心组件,是后续配置的基础。
VPC(专有网络) 是地域级资源,一个 VPC 属于一个地域,不能跨地域。香港地域的 VPC 和新加坡地域的 VPC 是两个完全独立的网络,默认互不相通,需要通过云联网或对等连接才能互访。同一地域内的不同 VPC 同样默认完全隔离。每个 VPC 在创建时指定一个私网 CIDR 网段,CIDR 选定后不能修改,只能追加辅助 CIDR。
腾讯云 VPC 支持的私网 CIDR 范围:
- 10.0.0.0/8,子网掩码范围 /16–/28
- 172.16.0.0/12,子网掩码范围 /16–/28
- 192.168.0.0/16,子网掩码范围 /16–/28
子网(Subnet) 是可用区级资源,每个子网属于一个可用区。CVM、数据库等云资源必须部署在某个子网内。一个 VPC 可以包含多个子网,不同子网分布在不同可用区,是实现跨可用区高可用的基础。子网的 CIDR 必须是所在 VPC CIDR 的子集,且同一 VPC 内的所有子网 CIDR 不能重叠。
路由表(Route Table) 控制子网的出流量走向。每个子网有且只有一个关联路由表,一个路由表可以关联多个子网。VPC 创建时自动生成默认路由表,保证 VPC 内部各子网之间的互通,这条默认路由不能删除。自定义路由表用于需要特殊路由策略的场景,例如让某个子网的流量通过 NAT 网关出公网,或者通过 VPN 网关访问本地 IDC。
安全组(Security Group) 是实例级别的有状态防火墙,控制 CVM 实例的入站和出站流量。安全组规则基于协议、端口和源/目标地址配置,有状态意味着如果入站方向允许某个连接,该连接的响应流量自动放行,不需要额外配置出站规则。一个 CVM 实例可以关联多个安全组,一个安全组可以被多个实例共用。
创建 VPC 和子网
规划网段
在创建 VPC 之前,需要先规划好网段。网段规划的核心原则是:同一 VPC 内各子网不重叠,不同 VPC 之间尽量不重叠(为将来的 VPC 对等连接预留空间)。
以一个典型的生产环境为例,部署在香港节点(ap-hongkong)的三层架构:
production-vpc:10.10.0.0/16(香港,生产环境)
├── web-subnet-a:10.10.1.0/24(可用区 a,Web 层)
├── web-subnet-b:10.10.2.0/24(可用区 b,Web 层)
├── app-subnet-a:10.10.3.0/24(可用区 a,应用层)
├── app-subnet-b:10.10.3.0/24(可用区 b,应用层)
└── db-subnet:10.10.10.0/24(数据库层,单可用区)
staging-vpc:10.20.0.0/16(香港,测试环境)
Web 层和应用层各分布在两个可用区,实现跨可用区高可用;数据库层根据业务需求选择是否跨可用区;生产和测试环境使用不同 VPC 隔离,便于权限管理和成本追踪;两个 VPC 使用不同网段(10.10 和 10.20),为将来的 VPC 互联预留空间。
创建 VPC
在腾讯云控制台搜索「私有网络 VPC」,进入后点击「新建」:
# 通过腾讯云 CLI 创建 VPC
tccli vpc CreateVpc \
–VpcName “production-vpc” \
–CidrBlock “10.10.0.0/16” \
–Region “ap-hongkong”
创建子网
VPC 创建完成后,在 VPC 详情页点击「新建子网」,为每个子网指定名称、可用区和 CIDR:
# 创建 Web 层子网(可用区 a)
tccli vpc CreateSubnet \
–VpcId “vpc-xxxx” \
–SubnetName “web-subnet-a” \
–CidrBlock “10.10.1.0/24” \
–Zone “ap-hongkong-2” \
–Region “ap-hongkong”
子网创建时腾讯云会保留部分 IP 地址用于系统使用,一个 /24 子网(256 个地址)实际可分配约 251 个私网 IP,足够大多数业务场景使用。
关于在香港节点部署业务的延迟和配置选型,可以参考腾讯云香港服务器选择指南;关于 CVM 实例创建和配置的完整说明,可以参考腾讯云服务器开户的操作流程。
安全组配置
安全组是腾讯云网络安全配置中最常用的工具,每次新建 CVM 实例都会要求选择或创建安全组。
安全组的默认行为
腾讯云安全组的默认规则:入站方向拒绝所有流量,出站方向允许所有流量。这意味着新创建的 CVM 实例如果没有配置入站规则,外部无法访问任何端口,包括 SSH 的 22 端口。
创建安全组规则
为 Web 服务器创建安全组,允许 HTTP、HTTPS 入站和 SSH 管理入站(限制来源 IP):
# 创建安全组
tccli vpc CreateSecurityGroup \
–GroupName “web-server-sg” \
–GroupDescription “Security group for web servers” \
–Region “ap-hongkong”
# 添加 HTTP 入站规则(允许所有 IP)
tccli vpc CreateSecurityGroupPolicies \
–SecurityGroupId “sg-xxxx” \
–SecurityGroupPolicySet ‘{
“Ingress”: [
{
“Protocol”: “TCP”,
“Port”: “80”,
“CidrBlock”: “0.0.0.0/0”,
“Action”: “ACCEPT”,
“PolicyDescription”: “Allow HTTP”
},
{
“Protocol”: “TCP”,
“Port”: “443”,
“CidrBlock”: “0.0.0.0/0”,
“Action”: “ACCEPT”,
“PolicyDescription”: “Allow HTTPS”
},
{
“Protocol”: “TCP”,
“Port”: “22”,
“CidrBlock”: “YOUR_ADMIN_IP/32”,
“Action”: “ACCEPT”,
“PolicyDescription”: “Allow SSH from admin IP only”
}
]
}’ \
–Region “ap-hongkong”
SSH 端口应限制来源 IP,不对 0.0.0.0/0 开放。将 22 端口对全网开放会让服务器立即暴露在来自全球的暴力破解扫描中,这是生产环境最常见的安全配置失误。
安全组的分层设计
生产环境建议按照服务器角色创建多个安全组,而不是所有实例共用一个宽泛的安全组:
Web 层安全组:允许 80、443 入站(来源 0.0.0.0/0),允许 22 入站(仅限管理员 IP)。
应用层安全组:只允许来自 Web 层子网(10.10.1.0/24 和 10.10.2.0/24)的特定端口入站,不允许公网直接访问应用层。
数据库层安全组:只允许来自应用层子网的数据库端口(MySQL 3306、Redis 6379 等)入站,完全禁止公网访问。
这种分层设计让每一层只接受来自上一层的流量,即使 Web 层服务器被攻破,攻击者也无法直接访问数据库,缩小了攻击的横向移动空间。
路由表配置
VPC 的默认路由表已经包含了保证内部互通的本地路由,大多数情况下不需要修改默认路由表。以下几类场景需要自定义路由规则:
私网子网的 CVM 访问公网:通过 NAT 网关路由出去(见下文 NAT 网关部分)。
访问本地 IDC:通过 VPN 网关或专线网关路由到本地数据中心,需要在路由表中添加目标地址为 IDC 网段、下一跳为 VPN/专线网关的路由条目。
精细化流量控制:将特定子网的流量强制经过安全审计设备,通过自定义路由表实现。
# 为私网子网创建自定义路由表,流量通过 NAT 网关出公网
tccli vpc CreateRouteTable \
–VpcId “vpc-xxxx” \
–RouteTableName “private-rt” \
–Region “ap-hongkong”
# 添加默认路由(0.0.0.0/0 -> NAT 网关)
tccli vpc CreateRoutes \
–RouteTableId “rtb-xxxx” \
–Routes ‘[{
“DestinationCidrBlock”: “0.0.0.0/0”,
“GatewayType”: “NAT”,
“GatewayId”: “nat-xxxx”,
“RouteDescription”: “Route to NAT Gateway”
}]’ \
–Region “ap-hongkong”
NAT 网关:私网 CVM 访问公网
部署在私有子网(无公网 IP)的 CVM 实例,需要通过 NAT 网关才能主动访问互联网(下载软件包更新、调用外部 API 等)。NAT 网关是全托管服务,不需要维护任何 NAT 实例。
NAT 网关有两种类型:标准型 NAT 网关(推荐)支持安全组绑定,可以对 NAT 网关的出站流量做更精细的控制;传统型 NAT 网关功能相对简单,不支持安全组。
创建 NAT 网关时需要绑定至少一个弹性公网 IP(EIP)。私网 CVM 的出站流量到达 NAT 网关后,源地址从 CVM 的私网 IP 替换为 NAT 网关绑定的 EIP,对端看到的请求来源是 EIP 地址。
配置步骤:先创建 NAT 网关并绑定 EIP,再在需要出公网的私有子网的路由表中添加一条默认路由(0.0.0.0/0 → NAT 网关),该子网内的 CVM 即可通过 NAT 网关访问公网,无需单独配置每台 CVM。
注意事项: 腾讯云 VPC 对等连接的对端资源不能使用本端 NAT 网关访问互联网。如果两个 VPC 建立了对等连接,VPC-B 的实例不能通过 VPC-A 的 NAT 网关出公网,需要在 VPC-B 内单独配置 NAT 网关。
VPC 互联:对等连接与云联网
对等连接
对等连接(Peering Connection)用于连接两个 VPC,建立后两个 VPC 内的实例可以通过私网 IP 互访,不经过公网。对等连接支持同地域和跨地域两种模式,但需要满足两个前提:两个 VPC 的 CIDR 不能重叠,且需要在两端的路由表中分别添加指向对方网段的路由条目。
对等连接是点对点的,不具备传递性——VPC-A 和 VPC-B 对等、VPC-B 和 VPC-C 对等,但 VPC-A 和 VPC-C 之间没有连通性,需要单独建立 A-C 的对等连接。
云联网
云联网(CCN,Cloud Connect Network)是腾讯云的多 VPC 互联产品,相当于 AWS Transit Gateway 的功能定位。多个 VPC 加入同一个云联网后,所有 VPC 之间自动互通,不需要为每对 VPC 单独建立对等连接,网络拓扑大幅简化。
云联网支持跨地域互联,香港 VPC 和新加坡 VPC 加入同一云联网后可以通过腾讯云内部骨干网互通,延迟低于公网传输。对于需要在多个亚太节点部署的全球化业务,云联网是实现统一内网互通的标准方案。
弹性公网 IP
弹性公网 IP(EIP)是独立于 CVM 实例存在的公网 IP 地址,可以绑定到 CVM 实例,也可以从实例解绑后保留或绑定到其他实例。普通公网 IP 与实例生命周期绑定,实例终止后 IP 释放;EIP 则由账号持有,可以反复使用。
EIP 在绑定实例时不产生持有费,解绑后处于闲置状态时按小时收费(约 ¥0.20/小时),因此不使用的 EIP 应及时释放,避免产生不必要的闲置费用。
在高可用架构中,EIP 的价值体现在故障转移场景:主实例宕机时,将 EIP 解绑并重新绑定到备用实例,整个切换过程对外部用户透明,公网 IP 地址不变,DNS 无需更新。
账号开通与代理充值
配置腾讯云 VPC 需要有效的腾讯云国际版账号,VPC 本身不收费,费用来自 VPC 内部署的 CVM、数据库、NAT 网关、EIP 等资源。通过 腾讯云账号出售 渠道获取的高权重账号,1 分钟交付,免实名免绑卡,可以直接用于生产环境的 VPC 和 CVM 配置。
对于月均腾讯云消耗在 $200 以上的团队,通过 腾讯云充值赠送账户 充值可以获得赠金返点($100 到账 $110,$500 到账 $600,$1000 到账 $1250),赠金适用于 CVM、NAT 网关、EIP 和所有关联资源费用,付款支持 USDT 和对公转账。


