将 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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

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

    启用 API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  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 存储桶之间转移以规划数据迁移。