价格文档账号

配置 Cloudflare R2 存储

为工作区配置 Cloudflare R2 对象存储:免出网流量费,完美兼容 S3 API,适合跨地域与云端渲染。

为什么首选 Cloudflare R2

当你的渲染机不在同一个办公室(例如美术在家办公、或租用 RunPod / Vast.ai 云端算力)时,工作区必须使用对象存储。

在所有 S3 兼容存储中,Cloudflare R2 是最推荐的选择:

  1. 0 出网流量费(Zero Egress Fees): 传统云厂商(如 AWS S3、阿里云 OSS)通常按每 GB 收取高昂的下行流量费。当几台 4090 节点并发从存储中拉取数十 GB 的贴图资产包时,流量账单往往超过服务器算力本身的租用费用。Cloudflare R2 完全不收取任何出网流量费。
  2. 完整支持 HTTP Range 分段读取: danio 采用 Pack 数据包技术,渲染机只需拉取指定镜头用到的具体文件条目。R2 完美支持标准 S3 的 Range 字节偏移读取,避免无意义的整包下载。
  3. 全球 Anycast 边缘网络: 无论你的算力实例位于北美、欧洲还是亚洲,均可通过 Cloudflare 的全球边缘节点就近低延迟访问。

步骤 1:在 Cloudflare 创建存储桶

  1. 登录 Cloudflare 控制台。
  2. 在左侧侧边栏中点击 R2 对象存储(首次使用需开通 R2 服务,绑定信用卡或 PayPal,每月提供 10 GB 免费存储额度)。
  3. 点击 创建存储桶(Create bucket)。
  4. 输入存储桶名称(例如 danio-render-store),存储桶位置(Location)建议保持为 自动(Automatic),随后点击 创建存储桶。

步骤 2:生成 S3 兼容 API 凭据

为了让 danio 能读写 R2,需要生成一对具有 S3 兼容协议的 API 凭证:

  1. 在 R2 对象存储概览页面,点击右侧的 管理 R2 API 令牌(Manage R2 API Tokens)。
  2. 点击 创建 API 令牌(Create API Token)。
  3. 配置权限:
    • 权限:选择 对象读和写(Object Read & Write)。
    • 指定存储桶:可以选择“所有存储桶”或仅限刚才创建的 danio-render-store。
    • TTL:根据你的安全策略选择有效期,或保持为永久有效。
  4. 点击底部 创建 API 令牌。
  5. 页面会展示凭据,请立即复制保存(离开页面后 Secret 将无法再次查看):
    • 访问密钥 ID(Access Key ID)
    • 机密访问密钥(Secret Access Key)
    • S3 API 终结点(Endpoint):格式类似于 https://<account_id>.r2.cloudflarestorage.com。

步骤 3:在 danio 中配置存储

打开 danio 主机界面:

场景 A:新建工作区时配置

在首次启动或「新建工作区」向导中,存储类型选择 S3,填入以下参数:

  • Endpoint:填入刚才复制的 R2 Endpoint,例如 https://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.r2.cloudflarestorage.com。
  • 存储桶:填入存储桶名称,如 danio-render-store。
  • 区域(Region):必须填写 auto。
  • Access Key 与 Secret Key:填入对应的令牌凭证。
  • 路径风格(Path style):保持关闭(R2 默认支持虚拟主机风格与路径风格)。

场景 B:已有工作区迁移到 R2

如果你的工作区原来使用共享目录或本地存储:

  1. 打开 工作区详情 → 存储。
  2. 点击右侧的 迁移到… 按钮。
  3. 存储类型选 S3,填入上述 R2 的各项参数后点击确认。
  4. danio 会在后台平滑同步已有数据包,迁移期间无需停机,可正常提交与渲染。

步骤 4:连通性测试与验证

点击保存或迁移前,danio 会自动对填写的 S3 终结点发起完整的兼容性与权限校验:

  • 签名验证(Signature v4)
  • 分片上传(Multipart Upload,超过 16MB 的大包分片上传)
  • 字节范围读取(HTTP Range,按需精准拉取条目)
  • 预签名 URL 生成与 SHA-256 完整性核验

全部测试通过后,存储状态显示为 正常,工作区即可无缝接入云端节点。

进阶:配置受限的渲染节点凭证(可选)

为保障资产安全,danio 支持在工作区存储设置中额外填写一对 渲染机用的密钥:

  1. 在 Cloudflare 中再生成一枚 API 令牌,权限只赋予 对象只读(Object Read)。
  2. 在 danio 存储 设置中展开“渲染机密钥”,填入该只读凭证。
  3. 这样加入工作区的云端临时渲染机仅能读取渲染所需的 pack,无法擅自删除或覆写存储桶中的其他资产,进一步提升安全性。