通过 AWS PrivateLink 连接平凯数据库云服务 Starter 或 Essential
本文档介绍如何通过 AWS PrivateLink 连接到你的平凯数据库云服务 Starter 或 Essential 实例。
平凯数据库云服务支持通过 AWS PrivateLink 在 AWS VPC 中对平凯数据库云服务进行高度安全的单向 access,就像 service 部署在你自己的 VPC 中一样。你的 VPC 中会暴露一个私有端点,你可以通过该端点并具备权限后连接到平凯数据库云服务。
借助 AWS PrivateLink,端点连接安全且私密,不会将你的数据暴露在公网。此外,端点连接支持 CIDR 重叠,便于网络管理。
私有端点的 architecture 如下所示:

如需了解私有端点和端点 service 的更详细定义,请参见以下 AWS 文档:
限制
- 目前,平凯数据库云服务仅支持当端点 service 托管在 AWS 时的 AWS PrivateLink 连接。如果 service 托管在其他云服务商,AWS PrivateLink 连接不适用。
- 不支持跨 Region 的私有端点连接。
前提条件
请确保在 AWS VPC 设置中已启用 DNS hostnames 和 DNS resolution。在 AWS Management Console 中创建 VPC 时,这些选项默认是禁用的。
选择端点模型
要通过私有端点连接到你的平凯数据库云服务 Starter 或 Essential 实例,请按照以下步骤操作:
- 选择 平凯云 Starter 或 Essential 实例
- 创建 AWS interface 端点
- 在平凯数据库云服务中授权你的私有端点
- 连接到你的 平凯云 Starter 或 Essential 实例
Step 1. 选择 平凯云 Starter 或 Essential 实例
-
在 My TiDB 页面,点击目标 平凯云 Starter 或 平凯云 Essential 实例的名称,进入其概览页面。
-
点击右上角的 Connect。此时会显示连接对话框。
-
在 Connection Type 下拉列表中,选择 Private Endpoint。
-
记下 Service Name、Availability Zone ID 和 Region ID。
注意
对于 AWS 区域中的每个 VPC,你只需创建一个私有端点。该端点可供该 AWS 区域中同一 VPC 内的所有 平凯云 Starter 或 平凯云 Essential 实例使用,但不能跨 VPC 共享。
Step 2. 创建 AWS interface 端点
如需使用 AWS Management Console 创建 VPC interface 端点,请执行以下步骤:
-
登录 AWS Management Console,并打开 Amazon VPC 控制台 https://console.aws.amazon.com/vpc/。
-
在导航栏点击 Endpoints,然后点击右上角的 Create Endpoint。
会显示 Create endpoint 页面。

-
选择 Endpoint services that use NLBs and GWLBs。
-
输入你在 step 1 获取的 service name。
-
点击 Verify service。
-
在下拉列表中选择你的 VPC。展开 Additional settings 并勾选 Enable DNS name 复选框。
-
在 Subnets 区域,选择你的 平凯云 Starter 或 Essential 实例所在的 availability zone,并选择 Subnet ID。
-
在 Security groups 区域,正确选择你的安全组。
注意
请确保所选安全组允许你的 EC2 实例在 port 4000 上的入站 access。
-
点击 Create endpoint。
如需使用 AWS CLI 创建 VPC interface 端点,请执行以下步骤:
- 获取 VPC ID 和 Subnet ID,可在 AWS Management Console 的相关页面找到。请确保填写你在 step 1 获取的 Availability Zone ID。
- 复制下方命令,将相关参数替换为你获取的信息,然后在终端中 execute。
aws ec2 create-vpc-endpoint --vpc-id ${your_vpc_id} --region ${region_id} --service-name ${service_name} --vpc-endpoint-type Interface --subnet-ids ${your_subnet_id}Tip
在运行命令前,你需要已安装并配置好 AWS CLI。详情参见 AWS CLI configuration basics。
然后你可以通过私有 DNS name 连接到端点 service。
Step 3. 在平凯数据库云服务中授权你的私有端点
注意
此步骤为可选。仅当你希望将访问限制为特定私有端点连接时,才需要配置 Authorized Networks。如果未配置任何规则,则默认允许所有私有端点连接。
创建 AWS interface 端点后,你可以为目标 平凯云 Starter 或 平凯云 Essential 实例授权该端点以限制访问。
-
在 My TiDB 页面,点击目标平凯数据库云服务 Starter 或 Essential 实例的名称,进入其概览页面。
-
在左侧导航栏点击 Settings > Networking。
-
向下滚动到 Private Endpoint 部分,找到 Authorized Networks 表格。
-
点击 Add Rule 添加防火墙规则。
- Endpoint Service Name:粘贴你在 Step 1 获取的 service name。
- Firewall Rule Name:输入用于标识此连接的名称。
- Your VPC Endpoint ID:粘贴你在 AWS Management Console 获取的 22 位 VPC Endpoint ID(以
vpce-开头)。
Tip
- 如果将 Authorized Networks 表留空,则默认允许所有私有端点连接。
- 如需允许来自你的云 Region 的所有 private endpoint 连接(用于测试或开放 access),可在 Your VPC Endpoint ID 字段中输入单个星号(
*)。
-
点击 Submit。
Step 4. 连接到你的 平凯云 Starter 或 Essential 实例
创建 interface 端点后,返回平凯数据库云服务控制台并执行以下步骤:
- 在 My TiDB 页面,点击目标 平凯云 Starter 或 Essential 实例的名称,进入其概览页面。
- 点击右上角的 Connect。此时会显示连接对话框。
- 在 Connection Type 下拉列表中,选择 Private Endpoint。
- 在 Connect With 下拉列表中,选择你偏好的连接方式。对话框底部会显示相应的连接字符串。
- 使用该连接字符串连接到你的 平凯云 Starter 或 Essential 实例。
Tip
如果你无法连接到 平凯云 Starter 或 Essential 实例,原因可能是 AWS 中 VPC 端点的安全组设置不正确。请参见此常见问题获取解决方案。
创建 VPC 端点时,如果遇到错误
private-dns-enabled cannot be set because there is already a conflicting DNS domain for gatewayXX-privatelink.XX.prod.aws.tidbcloud.com in the VPC vpc-XXXXX,说明该 VPC 中已存在一个私有端点。对于相同的私有 DNS 名称,你无需再创建另一个端点。
使用 AWS 设置私有端点(端点独占模型)
注意
目前,端点独占模型仅适用于在部分 AWS 区域中从 2026 年 7 月 1 日开始创建的 平凯云 Essential 实例。如果你的实例不支持此模型,可以改用端点共享模型。
在端点独占模型中,每个 平凯云 Essential 实例使用其各自独立的私有端点。此模型无需在连接时包含账户前缀,但你需要为每个 平凯云 Essential 实例重复执行设置步骤。
要使用独占模型通过私有端点连接到 平凯云 Essential 实例,请执行以下步骤:
如果你有多个实例,则需要为每个要使用 AWS PrivateLink 连接的实例重复执行这些步骤。
Step 1. 选择 平凯云 Essential 实例
- 在平凯数据库云服务控制台的 My TiDB 页面上,点击目标 平凯云 Essential 实例的名称,进入其概览页面。
- 点击右上角的 Connect。此时会显示连接对话框。
- 在 Connection Type 下拉列表中,选择 Private Endpoint,然后点击 Create Private Endpoint Connection。
注意
如果你已经创建了私有端点连接,活动端点会显示在连接对话框中。要创建更多私有端点连接,请点击左侧导航栏中的 Settings > Networking,进入 Networking 页面。
Step 2. 创建 AWS interface 端点
注意
对于每个 平凯云 Essential 实例,对应的端点服务会在实例创建后 3 到 4 分钟自动创建。
在连接对话框中,如果你看到 TiDB Private Link Service is ready 消息,则表示对应的端点服务已就绪。你可以提供以下信息来创建端点。
-
在连接对话框中,点击 How to Generate VPC Endpoint ID,然后填写 Your VPC ID 和 Your Subnet IDs 字段。你可以从 AWS Management Console 中找到这些 ID。对于多个子网,请输入以空格分隔的 ID。
-
点击 Generate Command 获取以下端点创建命令。
aws ec2 create-vpc-endpoint --vpc-id ${your_vpc_id} --region ${your_region} --service-name ${your_endpoint_service_name} --vpc-endpoint-type Interface --subnet-ids ${your_application_subnet_ids}
然后,你可以使用 AWS CLI 或 AWS Management Console 创建 AWS interface 端点。
要使用 AWS CLI 创建 VPC interface 端点,请执行以下步骤:
- 复制生成的命令并在终端中运行。
- 记录刚刚创建的 VPC 端点 ID。
Tip
运行命令前,你需要先安装并配置 AWS CLI。详情请参见 AWS CLI configuration basics。
如果你的服务跨越三个以上的可用区(AZ),你将收到一条错误消息,指出 VPC 端点服务不支持该子网所在的 AZ。当你所选 Region 中除了 平凯云 Essential 实例所在的 AZ 之外还存在额外的 AZ 时,就会出现此问题。在这种情况下,你可以联系 PingCAP Technical Support。
要使用 AWS Management Console 创建 VPC interface 端点,请执行以下步骤:
-
登录 AWS Management Console,并在 https://console.aws.amazon.com/vpc/ 打开 Amazon VPC 控制台。
-
在导航窗格中点击 Endpoints,然后点击右上角的 Create Endpoint。
此时会显示 Create endpoint 页面。

-
在 Endpoint settings 区域中,根据需要填写名称标签,然后选择 Endpoint services that use NLBs and GWLBs 选项。
-
在 Service settings 区域中,输入生成命令中的服务名称
${your_endpoint_service_name}(--service-name ${your_endpoint_service_name})。 -
点击 Verify service。
-
在 Network settings 区域中,从下拉列表中选择你的 VPC。
-
在 Subnets 区域中,选择 平凯云 Essential 实例所在的可用区。
Tip
如果你的服务跨越三个以上的可用区(AZ),你可能无法在 Subnets 区域中选择 AZ。当你所选 Region 中除了 平凯云 Essential 实例所在的 AZ 之外还存在额外的 AZ 时,就会出现此问题。在这种情况下,请联系 PingCAP Technical Support。
-
在 Security groups 区域中,正确选择你的安全组。
注意
确保所选安全组允许你的 EC2 实例通过端口
4000或自定义端口进行入站访问。 -
点击 Create endpoint。
Step 3. 创建私有端点连接
- 返回平凯数据库云服务控制台。
- 在 Create AWS Private Endpoint Connection 页面上,输入你的 VPC 端点 ID。
- 点击 Create Private Endpoint Connection。
Tip
你可以在目标 平凯云 Essential 实例的 Networking 页面上查看和管理私有端点连接。要访问此页面,请点击左侧导航栏中的 Settings > Networking。
Step 4. 启用私有 DNS
在 AWS 中启用私有 DNS。你可以使用 AWS CLI 或 AWS Management Console。
要使用 AWS CLI 启用私有 DNS,请从 Create Private Endpoint Connection 页面复制以下 aws ec2 modify-vpc-endpoint 命令,并在 AWS CLI 中运行。
aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${your_vpc_endpoint_id} --private-dns-enabled或者,你也可以在实例的 Networking 页面上找到该命令。找到私有端点后,在 Action 列中点击 ... > Enable DNS。
要在 AWS Management Console 中启用私有 DNS:
-
前往 VPC > Endpoints。
-
右键点击你的端点 ID,然后选择 Modify private DNS name。
-
选中 Enable for this endpoint 复选框。
-
点击 Save changes。

Step 5. 连接到你的 平凯云 Essential 实例
接受私有端点连接后,你会被重定向回连接对话框。
- 等待私有端点连接状态从 System Checking 变为 Active(大约 5 分钟)。
- 在 Connect With 下拉列表中,选择你偏好的连接方法。对应的连接字符串会显示在对话框底部。
- 使用该连接字符串连接到你的实例。
Tip
如果你无法连接到实例,原因可能是 AWS 中 VPC 端点的安全组设置不正确。请参见此常见问题了解解决方法。
故障排查
I cannot connect to a 平凯云 Starter or Essential instance via a private endpoint after enabling private DNS. Why?
你可能需要在 AWS Management Console 中正确设置 VPC 端点的安全组。前往 VPC > Endpoints。右键点击你的 VPC 端点,然后选择合适的 Manage security groups。应选择 VPC 内允许你的 EC2 实例通过 Port 4000 或自定义端口进行入站访问的安全组。
