基于已有数据库创建Dify实例

更新时间:
复制 MD 格式

如果您已拥有RDS PostgreSQL、RedisAnalyticDB PostgreSQL版等数据库资源,可以在部署Dify实例时选择复用已有数据库,无需重复创建新资源,从而节省成本并简化网络架构。

适用场景

基于已有数据库创建Dify实例适用于以下场景:

  • 已有RDS PostgreSQL、RedisAnalyticDB PostgreSQL版实例,希望复用现有资源以降低成本。

  • 需要将Dify实例部署在特定的VPC网络中,与现有业务系统互通。

  • 对数据库实例规格、版本或配置有特殊要求,需要自行管控数据库资源。

说明

如果您没有现成的数据库资源,建议使用一键部署Dify功能,系统将自动创建所需的全部数据库资源。详情请参见一键部署Dify实例

支持的数据库版本

基于已有数据库创建Dify实例时,数据库需满足以下版本要求:

数据库类型

用途

支持的版本

RDS PostgreSQL

元数据存储(应用配置、用户信息等)

14.0及以上版本

云数据库Redis

缓存加速与会话管理

6.0及以上版本

AnalyticDB PostgreSQL

知识库的向量存储与语义检索

支持向量检索功能的版本

说明

向量数据库为可选配置。如果您暂时不需要使用Dify的知识库功能,可以不配置AnalyticDB PostgreSQL版实例,后续需要时再添加。

前提条件

  • 已拥有阿里云账号,且账号已完成实名认证。

  • 当前账号已授予云数据库RDS(AliyunRDSFullAccess)、云数据库Redis版(AliyunKvstoreFullAccess)、专有网络VPC(AliyunVPCFullAccess)、云服务器ECS(AliyunECSFullAccess)、计算巢(AliyunComputeNestUserFullAccess)、资源编排ROS(AliyunROSFullAccess)和数据管理DMS(AliyunDMSFullAccess)的权限策略。

  • 已创建满足版本要求的RDS PostgreSQL实例和Redis实例,且实例处于运行中状态。

  • 已有数据库实例与待部署的Dify实例处于同一VPC网络内,确保网络互通。

  • 已在数据库实例的白名单中放通Dify实例所在ECSIP地址或安全组。

操作步骤

  1. 登录AI原生数据库服务控制台

  2. 在左侧导航栏,选择Agent开发平台 > 定制化开发

  3. Dify页签中,单击一键部署Dify。页面将跳转至计算巢服务的部署配置页面。

  4. 配置付费类型

    • 按量付费:按实际使用时长计费,适合开发测试或短期使用场景。

    • 包年包月:预付费模式,适合长期稳定使用的生产环境。

  5. 选择部署地域。请确保所选地域与已有数据库实例所在地域一致。

  6. 配置网络资源,选择已有数据库实例所在的专有网络交换机,确保Dify实例与已有数据库实例处于同一VPC网络中。

  7. 配置元数据数据库。在数据库配置区域,选择使用已有实例,然后在下拉列表中选择您已有的RDS PostgreSQL实例。

    • 选择目标RDS PostgreSQL实例。

    • 输入数据库的高权限账号密码。系统将使用该账号自动创建Dify所需的数据库和表结构。

    重要

    请确保使用的数据库账号具有高权限(即创建数据库和用户的权限),否则Dify实例初始化将失败。

  8. 配置Redis缓存。选择使用已有实例,在下拉列表中选择您已有的Redis实例,并输入Redis的连接密码。

  9. (可选)配置向量数据库。如需使用Dify知识库功能,选择使用已有实例,在下拉列表中选择您已有的AnalyticDB PostgreSQL版实例,并输入对应的数据库账号和密码。如暂不需要,可跳过此步骤。

  10. 确认配置信息和预估费用,阅读并勾选服务协议,然后单击立即创建

  11. 等待部署完成。部署过程通常需要10~15分钟,您可以在计算巢控制台查看部署进度。

执行结果

部署完成后:

  • Dify实例自动注册到AI原生数据库服务控制台。您可以在Agent开发平台 > 定制化开发页面的Dify页签中查看和管理该实例。

  • 您选择的已有数据库实例同步注册到控制台,与Dify实例关联,便于统一运维管理。

  • Dify实例提供独立的访问地址,您可以通过该地址访问Dify控制台,开始创建AI应用。

常见问题

Dify无法连接已有数据库怎么办?

请依次检查:Dify实例与数据库实例是否处于同一VPC;数据库实例的白名单是否已放通Dify所在ECSIP地址;数据库账号和密码是否正确;数据库实例是否处于运行中状态。

已有数据库版本不满足要求怎么办?

建议将数据库实例升级至支持的版本,或创建一个新的满足版本要求的数据库实例。RDS PostgreSQL升级方法请参见升级数据库大版本