阿里云
创建阿里云私有仓库(BYOC)
前置准备
由于 BYOC 模式下的资源都部署在您的云账号中,因此在使用之前需要进行一些前置准备工作,以确保顺利进行资源配置和管理:
- 准备专有网络 VPC 和交换机
- 了解资源编排和资源栈(可选)
创建阿里云私有仓库
创建仓库引导
在创建仓库引导页或者左上角仓库列表,单击 新建仓库 ,进入仓库配置页,填写表单进行创建。

创建 BYOC 仓库 · 仓库配置(云厂商阿里云 / 地域 / 内核 4.1 / VPC 环境 / Admin 密码)
| 参数 | 说明 |
|---|---|
| 仓库名称 | 必填项。组织内唯一,最多 32 个字符,只支持包含中文、字母、数字、-、_ |
| 仓库模式 | 必选项。私有仓库(BYOC)。 |
| 云厂商 | 必选项。选择阿里云。 |
| 地域 | 必选项。选择希望部署数据仓库在哪个地域。由于异地通信网络架构复杂,而且延时较大,建议选择与你的应用系统/客户端相同的地域。目前,SelectDB Cloud 已支持云平台多个地域,并会根据客户需求情况,陆续支持更多地域。 |
| 内核版本 | 必选项。SelectDB Core 的版本,从 2.0 版本开始,支持存算分离,底层采用共享存储,数据存储性价比高,按实际使用量计费,无需预先配置容量空间。 |
| VPC 环境 | 必选项。第一次新建 BYOC 仓库,默认选择新 VPC,后续步骤会引导你选择云环境中的 VPC,完成新建仓库。如果你之前已在 VPC 内创建过 BYOC 仓库,你可以直接选择这个 VPC 并新建仓库。 |
下表列出了目前支持的阿里云地域和可用区信息:
| 云平台 | 地域名称 | 地域 ID | 可用区 ID |
|---|---|---|---|
| 阿里云 | 华北 2 (北京) | cn-beijing | H, K |
| 阿里云 | 华东 2 (上海) | cn-shanghai | B, E |
| 阿里云 | 华南 1 (深圳) | cn-shenzhen | D, F |
| 阿里云 | 华南 3 (广州) | cn-guangzhou | B |
| 阿里云 | 德国 (法兰克福) | eu-central-1 | A |
点击 下一步。
阿里云前置准备
在正式创建前,参照说明文档完成前置准备:
- 准备专有网络 VPC 和交换机
- 了解资源编排和资源栈(可选)
点击我已完成进入下一步。

创建 BYOC 仓库 · ① 阿里云前置准备(RAM 授权 / 准备 VPC 交换机 / 了解 ROS)
阿里云资源配置
SelectDB Cloud 会使用阿里云的资源编排服务创建一系列资源并完成用户 VPC 内私有仓库的创建工作。
请使用管理员权限进行资源栈创建,或者是联系管理员为你创建这个资源栈,否则可能会遇到因权限不足导致执行模板失败的情况。

创建 BYOC 仓库 · ② 云资源配置(跳转阿里云控制台 → 打开资源栈页面)
在阿里云资源编排服务中,选择要部署 BYOC 仓库的专有网络 VPC 以及交换机

阿里云 ROS 创建资源栈 · ② 配置参数(选专有网络 VPC 与交换机)
失败时回滚选择是,如有需要,可添加标签或资源组,点击创建,等待部署完成。

阿里云 ROS · 失败回滚 / 超时 / 标签等部署配置,勾安全确认后点「创建」

阿里云 ROS 资源栈详情 · 资源列表(模板创建的 ECS/OSS/RAM/安全组;资源 ID 已脱敏)
仓库初始化
系统进行仓库初始化,约需 5-10 分钟。如遇到仓库初始化 30 分钟以上,或其他无法继续的情形,请 联系客服 寻求帮助。
新建集群
在新建集群引导页或者集群概览页,单击 新建集群 ,进入集群配置页。详细操作请参照 新建集群。

开放公网连接和访问
仓库创建完成后,如果需要在公网连接仓库、访问 WebUI 等,需要在阿里云绑定公网 IP 和设置安全组。
绑定公网 IP
点击连接,复制 Master IP。
进入 阿里云实例控制台 ,点击左侧 实例与镜像 > 实例,搜索过滤 IP,确认 专有网络 无误。
点击 操作 > 更多 > 绑定弹性公网IP。
点击创建弹性公网IP,如果已有弹性公网 IP 可用,可跳过创建。
选择付费模式、地域和可用区、带宽、名称等,点击立即购买,完成创建弹性公网IP。
返回绑定弹性公网 IP 页面,绑定刚刚创建的弹性公网 IP,点击确定。
设置安全组
进入 阿里云实例控制台 ,点击左侧 网络与安全 > 安全组,点击创建安全组。
输入安全组名称,选择专有网络,设置访问规则> 入方向,协议类型为自定义 TCP,端口范围 8080,8088,9030,授权对象为可连接访问 SelectDB 仓库的公网 IP,建议设置最小化范围,点击创建安全组,完成创建。
返回实例列表,进入上述步骤实例,切换到安全组标签页,点击修改安全组,增加上述步骤创建的安全组,点击确定,完成安全组设置。
返回 SelectDB Cloud 连接页面,点击 Master IP 公网刷新图标。
至此,您已可以通过公网访问 WebUI 和连接仓库。
仓库使用
仓库的使用操作,以及如果需要删除仓库,请参考文档 仓库使用。
阿里云前置准备
本文主要介绍创建 BYOC 类型仓库涉及的阿里云平台相关操作,包括 准备专有网络 VPC 和交换机、了解资源编排和资源栈 等。
准备专有网络 VPC 和交换机
提示:
- 如果已有符合地域和可用区要求的 VPC 和交换机,并期望将 BYOC 仓库部署在此 VPC 内,可以跳过下面创建专有网络 VPC 和交换机步骤。
- 当前支持的地域和交换机可用区为:
| 云平台 | 地域名称 | 地域 ID | 可用区 ID |
|---|---|---|---|
| 阿里云 | 华北 2 (北京) | cn-beijing | H, K |
| 阿里云 | 华东 2 (上海) | cn-shanghai | B, E |
| 阿里云 | 华南 1 (深圳) | cn-shenzhen | D, F |
| 阿里云 | 华南 3 (广州) | cn-guangzhou | B |
| 阿里云 | 德国 (法兰克福) | eu-central-1 | A |
创建 BYOC 类型仓库前,如果没有符合要求的已有 VPC 和交换机,则需要提前创建专有网络 VPC 和交换机,以下是具体操作。
打开阿里云 专有网络 VPC 控制台,点击 专有网络 > 创建专有网络,进入 VPC 创建页面。

阿里云 · 专有网络列表(点「创建专有网络」进入创建;实例 ID / 名称 / 资源组已脱敏)
选择您期望创建 BYOC 仓库的地域,输入名称、选择 IPv4 网段,输入交换机名称和可用区,点击确定完成创建。

阿里云 · 创建专有网络(地域 / 名称 / IPv4 网段,右侧为网络架构预览)

阿里云 · 配置交换机(名称 / 可用区 / IPv4 网段)后点「确定」创建
了解资源编排和资源栈(可选)
在您的云账号下通过资源编排服务(ROS)执行资源栈模板时,会对 VPC、ECS、OSS 等云资源进行相关操作,因此需要一系列 RAM 权限。
请使用管理员权限进行资源栈创建,或者是联系管理员为你创建这个资源栈,否则可能会遇到因权限不足导致执行模板失败的情况。
ROS 资源编排模版说明
SelectDB 提供的资源编排模板运行在您的云账号下,并且模版代码可见、可审计,不会对您的数据与 VPC 内的其他环境进行操作。您可以通过以下链接获取 SelectDB 提供的资源编排模板:
https://selectdb-cloud-online-bj.oss-cn-beijing.aliyuncs.com/public/aliyun-byoc.yaml
当您通过阿里云 ROS 执行上述资源模板时,它会自动进行 Agent 的创建与部署。然后 Agent 会与 SelectDB Cloud 建立私有连接,并完成仓库初始化流程。
在完成资源编排脚本执行后,您即可从 SelectDB Cloud 平台进入相应仓库,像使用普通的仓库一样,开始新建用于数据分析的计算集群。
如何查看资源栈信息
您可以通过阿里云 资源编排ROS 控制台,查看由 SelectDB 资源栈模板创建的所有资源信息,并可通过资源名称查看特定资源。
注意 所有资源栈模版创建出来的资源,都属于您的云账号,并只在您的 VPC 内使用,不会外泄。
- 虚拟机
- 名称:SelectDBAgent(ECS)
- 用途:用于部署 Agent,Prometheus,FluentBit 等程序
- 终端节点
- 名称:SelectDBEndpoint(VPC Endpoint)
- 用途:与 SelectDB Cloud 平台建立私网连接,从而可以拉取管控指令、推送监控和日志
- 存储桶
- 名称:SelectDBBucket(OSS Bucket)
- 用途:存储数仓数据
- 安全组
- 名称:SelectDBSecurityGroupForEndpoint,SelectDBSecurityGroup(VPC SecurityGroup)
- 用途:分别绑定在终端节点和 SelectDB 创建出的所有 ECS 实例,并通过安全组规则限定特定端口特定来源的流量出站入站
- 子用户/角色
- 名称:(RAM User / RAM Role)
- SelectDBUser(子用户),SelectDBUserAccessKey(aksk),SelectDBUserPolicy(子用户权限)
- SelectDBControlPlaneRole(管控侧角色),SelectDBControlPlaneRolePolicy(管控侧角色权限),SelectDBDataAccessRole(内核侧角色),SelectDBDataAccessRolePolicy(内核侧角色权限)
- 用途:
- 创建出的子用户具备 Agent 所需的最小权限策略,之后进行的所有管控操作均使用该子用户的身份进行操作
- 创建出的角色将会绑定到 ECS 实例,通过该角色可以获取临时凭据,相较于使用永久 ak/sk 的方式更加安全

阿里云 ROS 资源栈 · 资源列表(查看资源栈创建出的全部云资源;资源 ID 已脱敏)
资源栈模板创建的子用户的权限说明
初次执行完资源栈模板后会创建一个子用户,用于后续在您的 VPC 内管控数据仓库相关组件,以下为该子用户权限示例以及说明:
注意 创建出来的子用户隶属于您的云账号,并只在您的 VPC 内使用,不会外泄。
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:TagResources",
"ecs:UnTagResources",
"ecs:DescribeInstances",
"ecs:StopInstance",
"ecs:StartInstance",
"ecs:RebootInstance",
"ecs:RenewInstance",
"ecs:DeleteInstance",
"ecs:ModifyInstanceAttribute",
"ecs:ModifyInstanceChargeType",
"ecs:ModifyInstanceAutoRenewAttribute",
"ecs:ModifyInstanceSpec",
"ecs:ModifyPrepayInstanceSpec",
"ecs:AttachInstanceRamRole",
"ecs:DetachInstanceRamRole",
"ecs:ResizeDisk",
"ecs:DescribeTags",
"ecs:AddTags",
"ecs:RemoveTags",
"ecs:DescribeSecurityGroups",
"ecs:AuthorizeSecurityGroup",
"ecs:AuthorizeSecurityGroupEgress",
"ecs:DescribeSecurityGroupAttribute",
"ecs:DeleteSecurityGroup",
"slb:DescribeLoadBalancers",
"slb:DescribeLoadBalancerAttribute",
"slb:DeleteLoadBalancer",
"slb:DescribeLoadBalancerListeners",
"slb:StartLoadBalancerListener",
"slb:DeleteLoadBalancerListener",
"slb:DescribeVServerGroups",
"slb:DescribeVServerGroupAttribute",
"slb:ModifyVServerGroupBackendServers",
"slb:RemoveVServerGroupBackendServers",
"slb:RemoveBackendServers",
"slb:DeleteVServerGroup",
"slb:DescribeAccessControlLists",
"slb:DescribeRules",
"slb:CreateRules",
"slb:DeleteRules",
"slb:DescribeTags",
"slb:AddTags",
"slb:RemoveTags"
],
"Resource": [
"acs:ecs:cn-beijing:*:*",
"acs:vpc:cn-beijing:*:*",
"acs:slb:cn-beijing:*:*"
],
"Effect": "Allow",
"Condition": {
"StringEquals": {
"acs:ResourceTag/resource-created-by": [
"selectdb"
]
}
}
},
{
"Action": [
"vpc:DescribeVpcs",
"vpc:DescribeVSwitches",
"ecs:DescribeDisks",
"ecs:CreateInstance",
"ecs:RunInstances",
"ecs:CreateSecurityGroup",
"slb:CreateLoadBalancer",
"slb:CreateLoadBalancerTCPListener",
"slb:CreateVServerGroup",
"slb:AddVServerGroupBackendServers",
"slb:CreateAccessControlList",
"slb:AddAccessControlListEntry",
"slb:RemoveAccessControlListEntry",
"slb:DeleteAccessControlList"
],
"Resource": [
"acs:ecs:cn-beijing:*:*",
"acs:vpc:cn-beijing:*:*",
"acs:slb:cn-beijing:*:*"
],
"Effect": "Allow"
},
{
"Action": "oss:*",
"Resource": [
"acs:oss:*:*:selectdb-bucket-*",
"acs:oss:*:*:selectdb-bucket-*/*"
],
"Effect": "Allow",
"Condition": {
"StringEquals": {
"oss:BucketTag/resource-created-by": [
"selectdb"
]
}
}
},
{
"Effect": "Allow",
"Action": "ram:PassRole",
"Resource": "acs:ram:*:*:role/selectdb-data-access-role-*",
"Condition": {
"StringEquals": {
"acs:Service": [
"ecs.aliyuncs.com"
]
}
}
}
]
}
具体权限划分如下:
- ECS 权限:
- 管理 ECS 实例
YAML "ecs:TagResources", "ecs:UnTagResources", "ecs:DescribeDisks", "ecs:RunInstances", "ecs:DescribeInstances", "ecs:StopInstance", "ecs:StartInstance", "ecs:RebootInstance", "ecs:RenewInstance", "ecs:DeleteInstance", "ecs:ModifyInstanceAttribute", "ecs:ModifyInstanceChargeType", "ecs:ModifyInstanceAutoRenewAttribute", "ecs:ModifyInstanceSpec", "ecs:ModifyPrepayInstanceSpec", "ecs:AttachInstanceRamRole", "ecs:DetachInstanceRamRole", "ecs:ResizeDisk", "ecs:DescribeTags", "ecs:AddTags", "ecs:RemoveTags", - 管理 ECS 安全组
YAML "ecs:DescribeSecurityGroups", "ecs:AuthorizeSecurityGroup", "ecs:AuthorizeSecurityGroupEgress", "ecs:DescribeSecurityGroupAttribute", "ecs:CreateSecurityGroup", "ecs:DeleteSecurityGroup", - VPC & SLB 权限:
- 获取 VPC 相关资源信息
YAML "vpc:DescribeVpcs", "vpc:DescribeVSwitches", - 管理负载均衡器 SLB 资源
YAML "slb:DescribeLoadBalancers", "slb:DescribeLoadBalancerAttribute", "slb:DeleteLoadBalancer", "slb:DescribeLoadBalancerListeners", "slb:StartLoadBalancerListener", "slb:DeleteLoadBalancerListener", "slb:DescribeVServerGroups", "slb:DescribeVServerGroupAttribute", "slb:ModifyVServerGroupBackendServers", "slb:RemoveVServerGroupBackendServers", "slb:RemoveBackendServers", "slb:DeleteVServerGroup", "slb:DescribeAccessControlLists", "slb:DescribeRules", "slb:CreateRules", "slb:DeleteRules", "slb:DescribeTags", "slb:AddTags", "slb:RemoveTags", "slb:CreateLoadBalancer", "slb:CreateLoadBalancerTCPListener", "slb:CreateVServerGroup", "slb:AddVServerGroupBackendServers", "slb:CreateAccessControlList", "slb:AddAccessControlListEntry", "slb:RemoveAccessControlListEntry", "slb:DeleteAccessControlList" - OSS 权限:
- 管理 OSS 存储桶以及对存储桶及其内容进行读写操作(针对特定桶)
YAML { "Action": "oss:*", "Resource": [ "acs:oss:*:*:selectdb-bucket-*", "acs:oss:*:*:selectdb-bucket-*/*" ], "Effect": "Allow", "Condition": { "StringEquals": { "oss:BucketTag/resource-created-by": [ "selectdb" ] } } } - RAM 权限:
- 允许将刚建出来的内核侧数据访问角色传递给虚机(MS/FE/BE)
YAML { "Effect": "Allow", "Action": "ram:PassRole", "Resource": "acs:ram:*:*:role/selectdb-data-access-role-*" "Condition": { "StringEquals": { "acs:Service": [ "ecs.aliyuncs.com" ] } } }