阿里云私网连接(PrivateLink)全流程对接与实战指南
阿里云私网连接(PrivateLink)全流程对接与实战指南
一、私网连接(PrivateLink)核心概念与价值
1.1 什么是私网连接
阿里云私网连接(PrivateLink)是一种基于专有网络(VPC)的私有访问服务,能够在不经过公网的前提下,让VPC或本地数据中心(IDC)通过阿里云内网安全、稳定地访问其他VPC中的自建服务、伙伴SaaS应用及阿里云托管服务(如OSS、RDS)。其核心是构建“私密隧道”,所有流量仅在阿里云内网传输,彻底规避公网攻击、数据泄露、网络波动等风险。
1.2 核心组件解析
- 终端节点(Endpoint):服务使用方侧的接入点,分为接口终端节点(访问VPC内自建服务/跨账号服务)和网关终端节点(访问阿里云托管服务如OSS、SLS)。接口终端节点会在指定交换机创建弹性网卡(ENI)并分配私网IP,作为访问入口;网关终端节点则通过路由表指向目标服务VIP网段。
- 终端节点服务(Endpoint Service):服务提供方侧的共享服务载体,关联负载均衡(NLB/ALB/CLB)实例,将后端服务共享给指定VPC或账号访问。需配置服务白名单(跨账号场景)、自动接受连接等策略。
- 服务白名单:终端节点服务的访问控制列表,仅白名单内的阿里云账号可创建终端节点并连接服务。同账号场景默认自动添加,跨账号必须手动配置。
1.3 核心优势与应用场景
核心优势
- 绝对安全:流量全程内网传输,无公网暴露,抵御DDoS、SQL注入等攻击,数据零泄露风险。
- 网络稳定:内网低时延、高带宽,支持多可用区高可用,时延可控,适合核心业务。
- 成本优化:无需EIP、NAT网关,节省公网带宽费用;内网传输免费,仅按终端节点数量计费。
- 简化运维:双方网络独立,无需配置复杂路由、无需担心网段冲突,天然支持跨账号访问。
典型应用场景
- 企业多VPC架构:同账号/跨账号VPC间私网互联,共享核心服务(如数据库、缓存)。
- 托管服务私网访问:ECS通过私网访问OSS、RDS、API网关等,避免公网传输。
- 混合云IDC接入:本地IDC通过高速通道/VPN连通VPC后,借助PrivateLink访问云上服务。
- 第三方SaaS接入:安全访问阿里云市场SaaS应用,数据不落地公网。
二、前期准备与环境规划
2.1 权限与资源准备
操作前需确保账号具备以下权限:
- 主账号或RAM子账号,已开通私网连接(PrivateLink)服务。
- RAM权限:
privatelink:*、vpc:*、slb:*、ecs:*,用于创建终端节点、终端节点服务、负载均衡等资源。 - 资源规划:服务提供方与使用方需在同一地域(暂不支持跨地域直连,跨地域需打通VPC后配置);规划独立VPC、交换机(至少2个可用区,保证高可用)、安全组(入/出方向精细化控制)。
2.2 网络规划要点
- VPC网段:服务提供方与使用方VPC网段不能重叠,推荐使用10.0.0.0/8、172.16.0.0/12、192.168.0.0/16等私有网段。
- 交换机:每个可用区至少1个交换机,网段从VPC网段中划分,如VPC为10.0.0.0/16,交换机可设10.0.1.0/24、10.0.2.0/24。
- 安全组:接口终端节点关联的安全组需放通目标服务端口(如80、443、3306),出方向默认全放通;网关终端节点依赖VPC路由表,安全组仅需放通内网访问权限。
需要先登录阿里云控制台,点击:阿里云控制台
三、场景一:同账号VPC间私网互联(接口终端节点)
场景说明:同一阿里云账号下,VPC1(使用方)需通过私网访问VPC2(提供方)中部署的服务(如Nginx、MySQL),通过接口终端节点+终端节点服务实现。
3.1 服务提供方(VPC2)配置:创建终端节点服务
步骤1:部署后端服务与负载均衡
在VPC2中创建ECS实例,部署Nginx服务(监听80端口);创建私网类型NLB(网络型负载均衡),添加ECS实例为后端服务器组,配置监听(TCP 80→80),确保负载均衡状态为“运行中”。
步骤2:创建终端节点服务
- 登录阿里云控制台,进入私网连接(PrivateLink)→终端节点服务→创建终端节点服务。
- 配置基础信息:地域选择与VPC2一致;服务资源类型选择网络型负载均衡NLB;选择VPC2中的NLB实例(至少2个可用区,保证高可用);服务名称自动生成(如
ep-svc-bp1xxxx),记录备用。 - 高级配置:自动接受终端节点连接选择“是”(同账号简化流程);关闭“支持同可用区优先”(按需开启);资源组、标签默认,点击确定创建。
- 等待状态变为“可用”(约1-3分钟),同账号场景白名单默认添加当前账号,无需额外配置。
CLI代码示例(创建终端节点服务)
# 配置阿里云CLI(提前安装并配置AccessKey)
aliyun configure --profile private-link
# 创建终端节点服务(替换地域、NLB实例ID、可用区)
aliyun privatelink CreateEndpointService \
--RegionId cn-hangzhou \
--ServiceResourceType NLB \
--ServiceResources.1.ZoneId cn-hangzhou-g \
--ServiceResources.1.ResourceId nlb-bp1xxxx \
--ServiceResources.2.ZoneId cn-hangzhou-k \
--ServiceResources.2.ResourceId nlb-bp1xxxx \
--AutoAcceptConnection true \
--ServiceDescription "VPC2-Nginx-Service"3.2 服务使用方(VPC1)配置:创建接口终端节点
步骤1:创建接口终端节点
- 进入私网连接→终端节点→创建终端节点。
- 配置基础信息:地域选择与VPC2一致;终端节点类型选择接口终端节点;选择VPC1及至少2个可用区的交换机;安全组选择VPC1中放通80端口的安全组。
- 关联终端节点服务:选择“同一账号”,输入VPC2中创建的终端节点服务名称(如
ep-svc-bp1xxxx),点击确定创建。 - 等待状态变为“可用”(约1-3分钟),系统自动在指定交换机创建弹性网卡(ENI),分配私网IP;记录终端节点域名(如
ep-bp1xxxx.cn-hangzhou.privatelink.aliyuncs.com)。
CLI代码示例(创建接口终端节点)
# 创建接口终端节点(替换地域、VPC/交换机ID、安全组ID、服务名称)
aliyun privatelink CreateEndpoint \
--RegionId cn-hangzhou \
--EndpointType Interface \
--VpcId vpc-bp1xxxx \
--SecurityGroupId sg-bp1xxxx \
--ZoneIds.1 cn-hangzhou-g \
--ZoneIds.2 cn-hangzhou-k \
--ServiceName ep-svc-bp1xxxx \
--EndpointDescription "VPC1-Access-VPC2-Nginx"3.3 连通性测试
- 登录VPC1中的ECS实例,执行
ping 终端节点域名,解析返回终端节点弹性网卡私网IP,说明域名解析正常。 - 执行
curl http://终端节点域名,返回VPC2中Nginx首页内容,说明私网访问成功。
四、场景二:跨账号VPC私网互联(接口终端节点)
场景说明:账号A(提供方,VPC2)需共享服务给账号B(使用方,VPC1),核心差异为配置服务白名单,允许账号B访问。
4.1 服务提供方(账号A,VPC2)配置
步骤1:同3.1,部署负载均衡并创建终端节点服务(状态为“可用”)
步骤2:配置服务白名单(添加账号B的UID)
- 进入终端节点服务详情页→服务白名单→添加白名单。
- 输入账号B的阿里云账号UID(可在账号B控制台“账号设置”查看),点击确定,白名单状态变为“已添加”。
- 可选:关闭“自动接受终端节点连接”,手动审核账号B的连接请求,提升安全性。
CLI代码示例(添加服务白名单)
# 添加跨账号白名单(替换服务ID、账号B的UID)
aliyun privatelink AddEndpointServiceWhiteList \
--RegionId cn-hangzhou \
--EndpointServiceId epsvc-bp1xxxx \
--WhiteList 12345678901234564.2 服务使用方(账号B,VPC1)配置
步骤1:同3.2,创建接口终端节点,关联账号A的终端节点服务
- 创建终端节点时,选择“其他账号”,输入账号A的UID及终端节点服务名称。
- 若账号A关闭自动接受,需等待账号A在终端节点服务详情页→“连接”标签页手动“接受”连接请求。
步骤2:连通性测试(同3.3)
五、场景三:私网访问阿里云托管服务(网关终端节点)
场景说明:VPC内ECS通过私网访问OSS、RDS、SLS等阿里云托管服务,无需公网IP,通过网关终端节点实现。以下以OSS私网访问为例。
5.1 创建OSS Bucket(可选,已有Bucket可跳过)
- 登录OSS控制台,创建Bucket,地域选择与VPC一致,权限设为“私有”。
- 上传测试文件(如test.txt),备用。
5.2 创建网关终端节点(VPC侧)
- 进入专有网络VPC→网关终端节点→创建网关终端节点。
- 配置基础信息:地域选择与VPC/OSS一致;名称自定义;专有网络选择VPC;路由表选择VPC关联的路由表(可绑定多个路由表,控制访问范围);服务选择对象存储OSS;资源组、标签默认。
- 访问策略:配置精细化权限,仅允许当前账号RAM用户访问,示例如下:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "oss:*",
"Resource": ["acs:oss:*:*:examplebucket/*"],
"Principal": {"RAM": ["acs:ram::1234567890123456:user/*"]}
}
]
}- 点击确定创建,等待状态变为“可用”;系统自动在路由表添加指向OSS内网VIP网段的路由条目,下一跳为网关终端节点。
CLI代码示例(创建网关终端节点)
# 创建网关终端节点(替换地域、VPC/路由表ID、服务名称)
aliyun vpc CreateVpcGatewayEndpoint \
--RegionId cn-hangzhou \
--VpcId vpc-bp1xxxx \
--RouteTableIds.1 vtb-bp1xxxx \
--ServiceName oss \
--EndpointDescription "VPC-OSS-Private-Access" \
--PolicyDocument "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Action\":\"oss:*\",\"Resource\":[\"acs:oss:*:*:examplebucket/*\"],\"Principal\":{\"RAM\":[\"acs:ram::1234567890123456:user/*\"]}}]}"5.3 OSS私网访问测试
方式1:ECS内网访问(ossutil工具)
# 安装ossutil(Linux示例)
wget https://gosspublic.alicdn.com/ossutil/1.7.1/ossutil64
chmod +x ossutil64
# 配置内网Endpoint(替换为网关终端节点地域对应的OSS内网域名)
./ossutil64 config -e oss-cn-hangzhou-internal.aliyuncs.com -i AccessKeyID -k AccessKeySecret
# 列出Bucket文件(私网访问,无公网流量)
./ossutil64 ls oss://examplebucket/方式2:Python SDK访问(私网Endpoint)
import oss2
# 私网Endpoint(替换为网关终端节点地域对应的OSS内网域名)
endpoint = 'oss-cn-hangzhou-internal.aliyuncs.com'
access_key_id = 'AccessKeyID'
access_key_secret = 'AccessKeySecret'
bucket_name = 'examplebucket'
# 初始化Bucket对象
auth = oss2.Auth(access_key_id, access_key_secret)
bucket = oss2.Bucket(auth, endpoint, bucket_name)
# 上传文件(私网传输)
bucket.put_object_from_file('test.txt', '/local/path/test.txt')
print("私网上传成功")六、本地IDC接入私网连接(混合云场景)
场景说明:本地IDC需通过私网访问阿里云VPC内服务或托管服务,核心是先打通IDC与VPC的网络通道(高速通道/VPN),再借助PrivateLink访问。
6.1 打通IDC与VPC网络通道
- 高速通道(物理专线):企业级高可用,低时延高带宽,适合核心业务,需申请专线接入点,创建VBR(虚拟边界路由器),关联VPC。
- VPN网关(IPsec-VPN):低成本,快速部署,适合测试/非核心业务,创建VPN网关、客户网关,配置IPsec连接,打通IDC与VPC路由。
6.2 配置DNS解析(IDC侧)
IDC服务器需将PrivateLink域名解析请求转发至VPC内PrivateZone入站终端节点,确保域名解析正常。以BIND为例,配置文件如下:
// /etc/named.conf
zone "cn-hangzhou.privatelink.aliyuncs.com" IN {
type forward;
forwarders {
10.0.1.100; // VPC内入站终端节点IP
10.0.2.100;
};
};6.3 IDC访问VPC服务测试
在IDC服务器执行ping 接口终端节点域名,解析返回私网IP;执行curl http://终端节点域名,正常访问VPC内服务,说明混合云私网接入成功。
七、安全配置与权限管控最佳实践
7.1 终端节点访问策略(精细化权限)
网关终端节点与接口终端节点均支持访问策略配置,遵循最小权限原则,避免权限过大导致风险。示例:仅允许指定RAM用户访问OSS,拒绝其他账号访问。
7.2 RAM权限管控(子账号隔离)
使用RAM子账号管理PrivateLink资源,禁止主账号直接操作;为不同岗位配置最小权限策略,如运维仅允许查看终端节点,开发仅允许访问指定服务。示例RAM策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["privatelink:ListEndpoints", "privatelink:DescribeEndpoints"],
"Resource": "*"
},
{
"Effect": "Deny",
"Action": "privatelink:CreateEndpoint",
"Resource": "*"
}
]
}7.3 安全组与网络ACL(流量过滤)
- 接口终端节点关联安全组:仅放通必要端口(如80、443、3306),拒绝所有不必要的入站流量;出方向默认全放通,按需限制。
- 网络ACL:VPC子网绑定网络ACL,配置入/出方向规则,作为安全组的补充,实现二层流量过滤。
7.4 服务白名单与连接审核(跨账号安全)
跨账号场景严格配置服务白名单,仅添加可信账号;关闭自动接受连接,手动审核每一个连接请求,避免恶意接入。
八、常见问题排查与故障处理
8.1 终端节点创建失败
- 原因1:地域不匹配:终端节点与终端节点服务必须同地域,跨地域需先打通VPC。
- 原因2:资源不足:交换机IP不足、安全组配额已满,扩容后重试。
- 原因3:权限缺失:RAM子账号无
privatelink:CreateEndpoint权限,补充权限后重试。
8.2 终端节点域名解析失败
- 原因1:DNS配置错误:VPC内ECS默认使用阿里云内网DNS,无需手动配置;IDC侧需正确配置BIND转发规则。
- 原因2:终端节点状态异常:终端节点未变为“可用”,等待初始化完成或重新创建。
8.3 私网访问超时/拒绝连接
- 原因1:安全组拦截:接口终端节点安全组未放通目标端口,添加入站规则。
- 原因2:路由缺失:网关终端节点未绑定路由表,或路由条目未生效,重新绑定路由表。
- 原因3:访问策略拒绝:终端节点访问策略限制当前账号/IP,修改策略放行。
九、总结与核心要点回顾
阿里云私网连接(PrivateLink)是构建安全、稳定、低成本私网访问架构的核心服务,核心要点如下:
- 核心组件:接口终端节点(VPC间互联)、网关终端节点(托管服务访问)、终端节点服务(服务共享)。
- 场景适配:同账号VPC互联(自动白名单)、跨账号VPC互联(手动白名单+审核)、托管服务私网访问(网关终端节点)、混合云IDC接入(高速通道/VPN+DNS转发)。
- 安全核心:最小权限访问策略、RAM子账号隔离、安全组/网络ACL过滤、跨账号白名单审核。
- 成本优势:内网传输免费、无需公网资源,适合核心业务长期使用。
通过本文的步骤与代码示例,可快速完成私网连接的对接与配置,实现全程私网传输,规避公网风险,提升业务稳定性与安全性。
十、常见问答
Q1:私网连接(PrivateLink)是否支持跨地域访问?
A1:接口终端节点与终端节点服务暂不支持跨地域直连;如需跨地域私网访问,需先通过云企业网(CEN)或VPC对等连接打通两地VPC,再配置PrivateLink。
Q2:网关终端节点和接口终端节点的核心区别是什么?
A2:网关终端节点用于访问阿里云托管服务(如OSS、RDS),通过路由表指向服务VIP网段,无弹性网卡;接口终端节点用于访问VPC内自建服务,创建弹性网卡分配私网IP,支持跨账号共享。
Q3:跨账号VPC私网互联时,必须手动添加服务白名单吗?
A3:是的。同账号场景默认自动添加白名单,跨账号场景必须由服务提供方手动添加使用方账号UID到白名单,否则无法创建终端节点并连接。
Q4:私网访问OSS时,是否需要配置AccessKey?
A4:需要。私网访问仅规避公网传输风险,权限认证仍需AccessKey;建议使用RAM子账号AccessKey,遵循最小权限原则,避免主账号密钥泄露。
Q5:本地IDC通过VPN接入私网连接后,域名解析失败如何解决?
A5:检查IDC侧DNS转发配置(如BIND),确保PrivateLink域名解析请求转发至VPC内入站终端节点IP;关闭IDC侧防火墙对DNS端口(53)的拦截;验证VPC内入站终端节点状态为“可用”。
Q6:终端节点创建后,是否可以修改关联的VPC或交换机?
A6:不可以。终端节点创建后,关联的VPC、地域无法修改;交换机可在终端节点详情页添加/移除可用区交换机,但核心VPC与地域不可变更,规划时需确认网络架构。



