将 Cloud Storage 数据迁移到其他位置

Last reviewed 2022-06-20 UTC

创建 Cloud Storage 存储桶时,您需要选择其永久地理位置。随着业务需求的变化,数据的存储位置也可能需要更改。例如,您的数据可能更适合存储在高可用性多区域存储桶、费用更低的单区域存储桶,或者只是需要迁移到另一个区域。

本教程将帮助您选择最符合您需求的位置,然后向您展示如何设置新的 Cloud Storage 存储桶并使用 Storage Transfer Service 将数据迁移到新的位置。

目标

  • 为 Cloud Storage 数据选择新位置。
  • 定义转移策略。
  • 将数据转移到新位置。

费用

在本文档中,您将使用 Google Cloud 的以下收费组件:

从 2022 年 4 月 2 日到 2022 年 12 月 31 日,Storage Transfer Service 会暂停收取在使用该服务时通常会产生的多种转移费用。此次暂停收费旨在帮助您将 Cloud Storage 中的数据迁移到与您的用例最匹配的位置。

2022 年 12 月 31 日之后,使用 Storage Transfer Service 时,适用以下 Cloud Storage 价格:

  • 向 Cloud Storage 发出的 API 请求网络出站数据传输会产生费用。
  • 如果您的数据在冷层级(Nearline、Coldline 或 Archive)存储桶中、已经删除并且尚未达到最短存储期限,您将需要支付提前删除费用
  • 如果您的数据在冷层级(Nearline、Coldline 或 Archive)存储桶中,您将需要支付检索费用

您可使用价格计算器根据您的预计使用情况来估算费用。 Google Cloud 新用户可能有资格申请免费试用

准备工作

  1. 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  3. 确保您的 Google Cloud 项目已启用结算功能

  4. 启用 Cloud Storage and Storage Transfer Service API。

    启用 API

  5. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  6. 确保您的 Google Cloud 项目已启用结算功能

  7. 启用 Cloud Storage and Storage Transfer Service API。

    启用 API

  8. 在 Google Cloud 控制台中,激活 Cloud Shell。

    激活 Cloud Shell

    Cloud Shell 会话随即会在 Google Cloud 控制台的底部启动,并显示命令行提示符。Cloud Shell 是一个已安装 Google Cloud CLI 且已为当前项目设置值的 Shell 环境。该会话可能需要几秒钟时间来完成初始化。

  9. 在 Google Cloud 控制台中,进入 IAM 和管理页面,向您的账号授予 Storage Admin 和 Access Context Manager Admin 角色。

    转到“IAM 和管理”页面

    Storage Admin 角色具有以下权限:

    • firebase.projects.get
    • resourcemanager.projects.get
    • resourcemanager.projects.list
    • storage.buckets.*
    • storage.objects.*

选择新位置

选择 Cloud Storage 存储桶的位置时,请考虑可用性、价格和性能方面的差异,如下表所示。

区域 双区域 多区域
可用性
  • 跨可用区的数据冗余(同步)
  • RTO(恢复时间目标)=0:发生可用区级故障时自动进行故障切换和故障恢复(无需更改存储路径)
  • 可用性高于给定存储类别的区域
  • 跨区域的数据冗余(异步)
  • 可在 15 分钟内完成复制的增强型复制选项
  • RTO(恢复时间目标)=0:发生区域级故障时自动进行故障切换和故障恢复(无需更改存储路径)
  • 可用性高于给定存储类别的区域
  • 跨区域的数据冗余(异步)
  • RTO(恢复时间目标)=0:发生区域级故障时自动进行故障切换和故障恢复(无需更改存储路径)
性能
  • 200 Gbps(每个区域中的每个项目)
  • 可申请更高的带宽配额以扩展到 Tbps 级别
  • 200 Gbps(每个区域中的每个项目)
  • 可申请更高的带宽配额以扩展到 Tbps 级别
  • 50 Gbps(每个区域中的每个项目)
  • 有限的性能扩缩,可变的读取性能
价格
  • 存储价格最低
  • 无复制费用
  • 读取同一区域内的数据时不会产生出站数据传输费用
  • 存储价格最高
  • 写入时会产生复制费用
  • 读取任一区域内的数据时均不会产生出站数据传输费用
  • 存储价格高于单区域价格,但低于双区域价格
  • 写入时会产生复制费用
  • 读取数据时始终会收取传出数据传输费用

位置建议

使用要求 推荐的存储桶位置 工作负载示例
  • 优化的延迟时间和带宽
  • 数据存储费用最低
  • 跨可用区冗余
区域
  • 分析
  • 备份和归档
  • 优化的延迟时间和带宽
  • 跨区域冗余
双区域1
  • 分析
  • 备份和归档
  • 灾难恢复
  • 跨地理位置的数据访问权限
  • 跨区域冗余
多区域
  • 内容传送
  1. 如果您需要较短且可预测的恢复点目标 (RPO),请启用收费的增强型复制功能。
  • 为了最大限度地提高性能并降低总拥有成本,请将数据和计算共置在相同区域。单区域位置和双区域位置都适合用于此目的。
  • 为避免产生数据复制费用,请将短期有效的数据集存储在区域中。
  • 对于中等性能和临时分析工作负载,多区域存储是经济实惠的选择。

  • 转移到新的存储桶时,请考虑当前存储类别是否仍符合您的需求。

规划并开始转移

确定新位置后,请参阅在 Cloud Storage 存储桶之间转移以规划数据迁移。