如何将Redash托管服务迁移至自建AWS EC2?现有迁移脚本无法使用
Redash托管站点迁移到自建EC2实例的解决方案
基础报错修复
你执行pip3 install peotry报错是拼写错误,正确的包名是poetry,执行pip3 install poetry即可正常安装。另外你安装redash-toolbelt后找不到redash-migrate命令,是因为PyPI官方发布的版本没有打包迁移工具,只有源码版本包含,切换到对应分支后需要先执行poetry install安装依赖,再用poetry run redash-migrate才能调用对应命令。
无CLI权限的最优迁移方案
这个方案不需要你持有托管站点的服务器CLI权限,只要你有两个站点的Admin账号权限即可完成全量数据迁移,无需依赖有兼容问题的redash-toolbelt分支:
前置准备
- 分别获取app.redash.io托管站点的Admin用户API Key、自建EC2 Redash实例的Admin用户API Key,API Key可以在两个站点的「用户设置」页面直接获取
- 确认你的EC2实例安全组已开放出站访问app.redash.io 443端口的权限
迁移步骤
- 导出托管站点全量数据,执行如下请求,将
<托管站Admin API Key>替换为实际值:
curl -H "Authorization: Key <托管站Admin API Key>" https://app.redash.io/api/export > redash_full_export.json
该导出接口会返回所有查询、仪表盘、数据源配置、用户信息(密码自动脱敏)、权限配置等全量业务数据,数据量较大时导出可能需要等待数分钟,不要中断请求
- 将导出的
redash_full_export.json文件上传到你的EC2实例,执行导入操作,将<EC2站Admin API Key>、<EC2站点公网IP/域名>替换为实际值:
curl -X POST -H "Authorization: Key <EC2站Admin API Key>" -H "Content-Type: application/json" -d @redash_full_export.json http://<EC2站点公网IP/域名>/api/import
- 导入完成后登录自建Redash实例,核对仪表盘、查询、数据源配置是否完整。数据源连接密码、用户账号密码因导出时脱敏,需要你手动重新填写、通知用户重置密码后即可正常使用。
内容的提问来源于stack exchange,提问作者netthing
相关产品推荐
相关产品推荐

