RDS Supabase

RDS Supabase是云数据库RDS PostgreSQL提供的托管Supabase服务,您可以利用该能力快速构建基于RDS PostgreSQL的后端服务,适用于早期方案验证(MVP)、AI应用开发、SaaS平台等多种场景。

功能介绍

什么是Supabase?

Supabase是一个开源的后端服务平台(Backend as a Service,BaaS),旨在为开发者提供与Firebase相似的功能。Supabase完全开源并支持自托管。该平台基于PostgreSQL构建,提供了数据库、认证、文件存储及实时功能等核心服务,非常适合需要快速构建应用后端的开发者。

  • Supabase提供了构建应用所需的完整后端功能。您可以选择使用整个套件,也可以仅选择部分组件。

  • Supabase的核心能力包括数据库、认证与授权、对象存储、边缘函数、实时消息、向量以及人工智能(AI)。

RDS Supabase的核心能力

RDS Supabase服务在开源Supabase核心能力的基础上,提供了基于Supabase的主要核心功能,并对RDS PostgreSQL云原生底座进行了技术适配。

  • 数据库(Database)

    • 提供标准的PostgreSQL能力以及额外插件,并支持RDS PostgreSQL自研插件,例如通过Supabaserds_ai插件构建AI应用。

    • 支持通过自动生成的Data API,包括CRUD API、Restful APIGraphQL API等。

  • 认证授权 (Authentication)

    提供一个完整的用户管理系统,支持多种认证方式,并可进行单独集成。

  • 对象存储(Storage)

    • 对象存储服务可以直接对接RDS冷存储服务(内置阿里云OSS)。

    • 完全兼容阿里云OSS协议,能够无缝将应用接入阿里云OSS。

    • 支持断点续传及存储压缩等高级功能。

  • 实时消息(Realtime)

    • 数据变更时,将实时同步至所有连接的客户端。

    • 在所有客户端之间存储并同步所有在线用户的状态。

    • 支持频道(Channel)订阅功能和广播功能。

  • 向量与AI

    • 向量服务

      • 基于内置的rds pgvector插件,进行嵌入向量(embeddings)的存储、索引和访问。

      • 与事务数据存储于同一数据库,能够简化应用程序并提升性能。

    • API集成

      能够便捷地连接至任何大型语言模型(LLM)或嵌入向量(embeddings)的API,包括Hugging Face、SageMaker等。

    • AI助手

      内置百炼Token,可直接通过Qwen提供LLM服务。

应用场景

  • 早期方案验证(MVP)

    帮助创业者和独立开发者尽早发布应用的可用版本,以便迅速进入市场。

    • 在原型设计完成后,只需对表结构进行简单配置,即可快速生成后端服务。

    • 可以快速接入Supabase的鉴权、消息订阅等功能,显著提升产品研发效率。

  • AI应用开发

    通过RDS SupabasePostgreSQL的结合,可以提供一站式的AI应用开发解决方案。

    • RDS PostgreSQL提供基于rds pgvector的多模态数据存储与检索能力。

    • 通过RDS Supabase提供应用程序的API接口。

    • 结合rds_ai能力,可快速整合百炼和PAI平台的模型服务。

  • SaaS平台

    通过RDS Supabase,可以有效支持业务团队快速开展全生命周期的内部平台开发,帮助企业实现对项目数据的实时监控、内容资产的协作管理,并有效提升跨部门的协作效率。

前提条件

如果通过RAM用户使用该功能,该RAM用户必须拥有如下权限。如何授权,请参见RAM资源授权

  • AliyunRDSAIReadOnlyAccessAliyunRDSAIFullAccess:只读访问或管理云数据库服务(RDS)AI应用开发的权限。

  • AliyunVPCFullAccess:管理专有网络(VPC)的权限。

  • AliyunRDSFullAccess:管理云数据库服务(RDS)的权限。

  • AliyunRAMReadOnlyAccess:访问控制(RAM)的只读访问权限,即查看用户、组以及授权信息的权限。

计费说明

  • RDS PostgreSQL实例费用

    开通RDS Supabase项目时,需要在项目中创建RDS PostgreSQL实例,会按照RDS实例规格存储空间收取相应的费用,计费方式与RDS Supabase项目一致。

  • 公网NAT网关费用和EIP费用

    当开通RDS Supabase项目时,选择开启公网NAT,会按量收取公网NAT网关费用EIP费用

重要

通用型Supabase服务平台免费,仅按需收取RDS PostgreSQL实例费用公网NAT网关费用EIP费用。

免费试用

如果您符合免费试用的条件,在开通RDS Supabase项目时,您可以免费在项目中创建高可用系列通用型规格pg.n2.2c.2m (2 核 4G(通用型)))的RDS PostgreSQL实例,详情请参见RDS Supabase免费试用教程

说明

您可以在免费试用页面单击试用规则,查看是否符合免费试用的条件。

注意事项

  • 当前仅支持RDS PostgreSQL 17。

  • 勿删除与修改RDS Supabase项目自动创建的数据库及其关联账号,否则将导致项目不可用。

开通RDS Supabase项目

  1. 进入RDS控制台首页,在左侧导航栏,单击AI 应用开发

  2. 在上方选择地域后,在RDS Supabase页面单击创建项目

  3. 在弹出的页面中,配置RDS Supabase参数

    参数

    说明

    RDS Supabase项目名称

    根据实际情况填写RDS Supabase项目的名称。

    地域

    RDS Supabase项目所在地域。

    公网NAT

    开启公网NAT网关。RDS Supabase项目的AI助手需要公网NAT网关访问公网。

    重要
    • 如果已经为RDS Supabase项目网络中的交换机配置了公网NAT网关,请勿勾选此参数。您可以在NAT网关管理控制台中查看对应交换机是否开通了公网NAT网关。

    • 开通公网NAT网关,会自动绑定EIP并产生NAT 网关计费EIP计费

    VPC

    选择RDS Supabase项目的专有网络(VPC)。

    • 如果您已创建符合您网络规划的VPC,可直接选择该VPC。

    • 如果您未创建符合您网络规划的VPC,您可以使用默认VPC和交换机。更多详情,请参见专有网络与交换机

    • 如果默认VPC和交换机无法满足您的要求,请先创建VPC和交换机。创建方法,请参见专有网络与交换机

    主可用区及网络

    选择主可用区和交换机。

    付费类型

    支持包年包月按量付费

    引擎

    RDS Supabase项目中RDS PostgreSQL的引擎版本,当前仅支持PostgreSQL 17

    SLR角色授权

    仅首次使用时需要授权,且该授权不会产生任何相关费用。单击前往授权,授权服务关联角色(AliyunServiceRoleForRdsAliyunServiceRoleForRdsPgsqlOnEcs)。

    产品系列

    选择RDS Supabase项目中RDS PostgreSQL的产品系列。

    • 基础系列:单节点的只读实例,性价比高,适用于学习或测试。故障恢复和重启耗时较长。

    • 高可用系列:拥有一个主节点和一个备节点,可实现只读实例的高可用,适用于生产环境,适合80%以上的用户场景。

    规格分类

    选择RDS Supabase项目中RDS PostgreSQL的规格分类。

    • 通用型:独享内存和I/O,共享CPU和存储。具备较低的价格,较高的性价比。

    • 独享型:独享内存、I/O、CPU和存储。具备更优越且稳定的性能。

    说明

    基础系列不支持独享型规格。

    规格

    选择RDS Supabase项目中RDS PostgreSQL的规格。

    说明

    支持的规格请以控制台中的信息为准。规格详情请参见RDS PostgreSQL实例规格列表

    存储空间

    设置RDS Supabase项目中RDS PostgreSQL的存储空间。

    数据库密码

    设置RDS Supabase项目中RDS PostgreSQL的数据库密码。

    Supabase类型

    当前仅支持通用型

    dashboard用户名

    dashboard密码

    设置默认用户supabase的密码。

  4. 确认配置信息无误后,单击立即购买

    创建完成后,在RDS Supabase列表中,可以查看已创建的项目。

登录Supabase控制台(Supabase Dashboard)

  1. 进入RDS控制台首页,在左侧导航栏,单击AI 应用开发

  2. 在上方选择地域后,在RDS Supabase列表中,单击目标项目访问地址列的设置白名单

    说明

    如您之前已设置白名单,可以直接单击外网连接地址,进入Supabase的登录页面。

    image

  3. 在弹出的基本信息页的白名单信息区域,单击添加白名单分组,将目标客户端的IP地址添加到白名单中。

  4. 单击网络信息区域的外网连接地址,即可进入Supabase的登录页面。

    有关Supabase的使用详情,请参见Getting Started | Supabase Docs

    说明
    • 如果您使用与RDS Supabase项目在同一VPC下的ECS进行登录,建议您使用内网连接地址

    • 单击操作列的查看详情,在弹出的基本信息页中,您可以查看实例的详细信息。

删除RDS Supabase项目

  1. 进入RDS控制台首页,在左侧导航栏,单击AI 应用开发

  2. 在上方选择地域后,在RDS Supabase列表中,单击目标项目后的删除

  3. 在弹出的提示框中单击确定

    重要

    删除RDS Supabase项目并不会自动删除在创建该项目时所生成的RDS PostgreSQL实例及开通的NAT网关,您需要手动释放该实例,并删除公网NAT网关EIP

常见问题

如何在RDS Supabase项目的RDS PostgreSQL数据库中查看数据?

在开通RDS Supabase项目并创建RDS PostgreSQL实例的过程中,系统将自动生成相应的数据库。您可以登录到该数据库以查看相关数据。

  1. RDS Supabase列表中,单击目录RDS Supabase项目的托管实例ID,进入RDS PostgreSQL实例的详情页。

  2. 在左侧导航栏单击数据库管理,查看RDS Supabase项目自动创建的数据库名称及其对应的账号。

    说明

    账号密码为在开通RDS Supabase项目时创建的数据库密码

  3. 在左侧导航栏单击白名单与安全组设置白名单,以允许外部设备访问该RDS PostgreSQL实例。

  4. 连接PostgreSQL数据库,查看相关数据。

相关文档及API

附录:获取service API key

  • 方式一:通过API(DescribeInstanceAuthInfo)获取

  • 方式二:通过Supabase控制台获取

    本文以Chrome浏览器(版本139.0.7258.128)为例。

    1. 启用浏览器的Insecure origins treated as secure功能,并将RDS Supabase项目的连接地址添加到该功能的白名单中。

      1. Chrome浏览器中访问chrome://flags/#allow-insecure-localhost

      2. 在搜索框中输入Insecure origins treated as secure,找到该功能并将其启用。

      3. RDS Supabase项目的连接地址(例如外网连接地址)添加到Insecure origins treated as secure功能的白名单中,并重启浏览器。

        image

    2. 获取service API key。

      1. 登录RDS Supabase项目

      2. 单击右上角的image图标,并选择Command menu

        image

      3. 单击Get API keys,然后在新页面中单击Copy service API key即可获取service API key。