面向 AWS 专业人员的 Google Cloud Platform 简介:存储

更新时间:2018 年 9 月 28 日

比较 Amazon 和 Google 在各自的云端环境中提供的存储服务。我们将讨论以下服务类型:

  • 分布式对象存储,即您可以在其中存储数据对象的冗余键值对存储系统。
  • 块存储,即可以挂接到虚拟机实例的虚拟磁盘卷。
  • 文件存储,即基于文件服务器的网络附加存储。
  • 冷存储,即旨在存储数据备份的存储服务。
  • 冷(归档)存储,即出于合规性或分析目的存储归档数据的存储服务。

本文不讨论数据库或消息队列。

分布式对象存储

Amazon Simple Storage Service (S3)Google Cloud Storage 是托管式服务,用于存储和访问大量不同大小的二进制对象或 Blob。每个服务都可以理解为规模易于扩缩的键值对存储区,其中键是字符串,值是任意二进制对象。

本部分讨论 Amazon S3 的标准存储类别以及 Cloud Storage 的 Multi-Regional 和 Regional 存储类别。Amazon S3 和 Cloud Storage 也都为不常访问的数据和归档数据提供了费用较低的存储类别。有关这些存储类别的信息,请参阅下文中的冷存储冷(归档)存储部分。

服务模式比较

Cloud Storage 和 Amazon S3 采用的服务模式非常相似。这两种服务都是将对象存储在存储分区中。存储分区中的每个对象都由该存储分区中的唯一标识,并且每个对象都具有关联的元数据记录。该元数据记录包含对象大小、最后修改日期和媒体类型等信息。如果您具有相应的权限,可以查看和修改其中一些元数据。此外,您还可以添加自定义元数据。

虽然存储分区是键值对存储区,但存储分区的用户体验与文件系统的用户体验类似(但并不相同)。按照惯例,对象的键通常是诸如“/foo/bar.txt”或“/foo/subdir/baz.txt”之类的路径。Amazon S3 和 Cloud Storage 都提供类似文件系统的 API。例如,list 方法能列出具有相同前缀的所有对象的键,与类似 Unix 的文件系统上的 ls -R 很相似。

除了分布式对象存储这个最显著的用途之外,这两种服务都可用于托管静态网页内容和媒体。

Amazon S3 的功能和术语与 Cloud Storage 的功能和术语之间的对应关系如下:

功能 Amazon S3 Cloud Storage
部署单元 存储桶 存储分区
部署标识符 全局唯一键 全局唯一键
文件系统模拟 受限 受限
对象元数据
对象版本控制
对象生命周期管理
更新通知 事件通知 适用于 Cloud Storage 的 Cloud Pub/Sub 通知、适用于 Cloud Functions 的 Cloud Storage 触发器,以及对象更改通知
服务类别 标准、标准 - 不频繁访问、单区 – 不频繁访问、Amazon Glacier* Multi-Regional、Regional、Nearline、Coldline
部署位置 区域 区域和多区域
价格 按每月存储的数据量、网络出站流量和常见 API 请求的数量计费 按每月存储的数据量、网络出站流量和常见 API 请求的数量计费

* Amazon Glacier 是一款独立于 Amazon S3 的产品。

对象版本控制

Amazon S3 和 Cloud Storage 都支持对象版本控制,其中具有给定键的对象的不同版本存储在不同的版本 ID 下。通过启用版本控制,您可以降低因覆盖对象而导致数据意外丢失的风险。

在 Cloud Storage 中,您可以使用先决条件来支持 PUT 和 DELETE 操作的条件更新。在条件更新中,仅当更新的对象版本与请求中指定的对象版本匹配时,更新请求才会成功。此机制有助于防止更新期间出现争用情况。Amazon S3 不支持条件更新。

对象生命周期管理

Amazon S3 和 Cloud Storage 都允许您根据用户指定的生命周期政策来自动执行对象迁移或删除。

更新通知

Amazon S3 和 Cloud Storage 都允许您配置存储分区,以便在创建、删除或更新对象时发出通知。在 Amazon S3 中,此功能称为事件通知。Cloud Storage 有多种服务可以提供类似功能,但通知的目标端点有所不同:

Amazon S3 事件通知支持三种可能的通知端点:

  • Amazon Simple Notification Service (SNS) 主题。
  • Amazon Simple Queue Service (SQS) 队列。
  • AWS Lambda 函数。

同样,GCP 的各种 Cloud Storage 通知服务支持以下端点:

  • 适用于 Cloud Storage 的 Cloud Pub/Sub 通知:Cloud Pub/Sub 主题。
  • Cloud Storage 触发器:Cloud Functions 函数。
  • Cloud Storage 对象更改通知:处理通知有效负载的目标网址或 webhook

服务等级协议

Amazon 和 Google 都提供正常运行时间保证,并制定了相应的政策规定,如果未能履行保证,将向客户帐号进行财务补偿。Amazon 在标准 Amazon S3 服务等级协议 (SLA) 中定义了 Amazon S3 标准存储的保证和政策。Google 在 Cloud Storage 服务等级协议 (SLA) 中定义了 Cloud Storage 的保证和政策。

费用

Amazon S3 标准存储

Amazon S3 标准存储按每月存储的数据量和网络出站流量计费。价格还会因存储区域而异。Amazon S3 标准存储对常见 API 请求收费。

Cloud Storage Multi-regional 和 Regional 存储

与 Amazon S3 标准存储一样,Cloud Storage 的 Multi-regional 和 Regional 存储按每月存储的数据量和网络出站流量计费,并且价格因存储区域而异。Cloud Storage 的 Multi-regional 和 Regional 存储也对常见 API 请求收费。

块存储

GCP 和 Amazon Web Services 都在其计算服务中提供块存储选项。Google Compute Engine 提供的是永久性磁盘,Amazon Elastic Compute Cloud (EC2) 提供的是 Elastic Block Store (EBS)。每种服务都有多种块存储类型,涵盖了一系列价格和性能特征。

服务模式比较

Compute Engine 永久性磁盘和 Amazon EBS 在大多数方面非常相似。无论使用哪一种,磁盘卷都是通过网络附加,但 Compute Engine 和 Amazon EC2 在必要时都能够在本地附加磁盘。虽然与本地附加磁盘相比,联网磁盘操作延时高且吞吐量低,但它们也有许多优点,包括内置冗余、快照以及易于进行磁盘分离和重新附加。

Compute Engine 永久性磁盘与 Amazon EBS 之间的对应关系如下:

功能 Amazon EBS Compute Engine
卷类型 EBS 预配 IOPS SSD、EBS 常规用途 SSD、吞吐量优化型 HDD、Cold HDD 地区标准永久性磁盘 (HDD)、区域永久性磁盘、地区 SSD 永久性磁盘、区域 SSD 永久性磁盘
卷位置规则 必须与附加的实例位于同一地区 必须与附加的实例位于同一地区
附加卷 一次只能附加到一个实例 读写卷:一次只能附加到一个实例
只读卷:可以附加到多个实例
每个实例可附加的卷数量 最多 40 个 最多 128 个
卷大小上限 16 TiB 64 TB
冗余 地区 地区或多地区,取决于卷类型
快照
快照位置 区域 全球

Compute Engine 本地附加磁盘与 Amazon EC2 本地附加磁盘之间的比较如下所示:

功能 Amazon EC2 Compute Engine
服务名称 实例存储(也称为临时存储) 本地 SSD
附加卷 与实例类型相关联 可以附加到任何非共享核心实例
设备类型 因实例类型而异 SSD
每个实例可附加的卷数量 因实例类型而异 最多 8 个
存储空间容量 因实例类型而异 每卷 375 GB
实时迁移
冗余

附加和分离卷

创建磁盘卷后,您可以将卷附加到 Compute Engine 或 Amazon EC2 实例。然后,实例可以像任何其他块设备一样装载和格式化磁盘卷。同样,您可以从实例中卸载和分离卷,使之可以重新附加到其他实例。

一个 Amazon EBS 卷一次只能附加到一个 Amazon EC2 实例。读/写模式下的 Compute Engine 永久性磁盘具有相同的限制。但是,只读模式下的 Compute Engine 永久性磁盘可以同时附加到多个实例。

在 Amazon EC2 中,您最多可以将 40 个磁盘卷附加到一个 Linux 实例。在 Compute Engine 中则最多可以附加 128 个磁盘卷。

卷快照

Compute Engine 和 Amazon EBS 都允许用户截取和存储磁盘卷的快照。这些快照可供日后用来创建新卷。

两种服务中的快照都是差分快照。初始快照会创建卷的完整副本,但后续快照仅会复制自上一个快照创建以来发生了更改的块。

默认情况下,Amazon EBS 快照仅可在一个区域中使用,必要时必须显式复制到其他区域。这一额外步骤会产生额外的数据传输费用。相比之下,Compute Engine 永久性磁盘快照是全球资源,可以在任何区域使用,且无需额外的操作或费用。

卷性能

对于 Compute Engine 永久性磁盘和 Amazon EBS 而言,磁盘性能都取决于几个因素,包括:

  • 卷类型:每个服务都提供多种不同的卷类型。每种类型都有自己的一组性能特征和限制。
  • 可用带宽:联网卷的吞吐量取决于附加该卷的 Compute Engine 或 Amazon EC2 的可用网络带宽。

本节讨论每种服务的其他性能详情。

Amazon EBS

Amazon EC2 实例类型在网络性能方面差异很大。核心数量较少的实例类型(例如 T2 实例类型)可能没有足够的网络容量,无法为给定 Amazon EBS 磁盘类型实现通告的最大 IOPS 或吞吐量。如需了解详情,请参阅 Amazon EC2 实例配置

此外,某些 Amazon EC2 实例类型是 EBS 优化实例,这意味着它们与附加的 Amazon EBS 卷之间具有专用连接。如果您使用非 EBS 优化的 Amazon EC2 实例类型,则无法保证给定时间内实例与其 EBS 卷之间可用的网络容量。

Compute Engine 永久性磁盘

Compute Engine 按核心分配吞吐量。每个虚拟 CPU 核心的网络出站流量为 2 Gbps,单个实例的上限为 16 Gbps。由于 Compute Engine 的数据冗余因子为 3.3x,因此每次逻辑写入实际上需要的网络带宽是写入的 3.3 倍。核心数量较少的机器类型可能没有足够的网络容量,无法为给定永久性磁盘类型实现通告的最大 IOPS 或吞吐量。如需了解详情,请参阅网络出站流量限额

就 Compute Engine 的各磁盘类型而言,可用的总 I/O 与连接到给定实例的卷的总大小相关。举例来说,如果您有两个连接到实例的 2 TB 标准永久性磁盘,则总可用 I/O 为 3072 次读取 IOPS 和 6144 次写入 IOPS。

本地附加磁盘

除了标准的联网块存储以外,Amazon EC2 和 Compute Engine 都允许用户使用本地附加到运行实例的物理机器的磁盘。这些本地磁盘可提供更快的传输速率。但是,与联网块存储不同的是,它们不是冗余的,并且不能截取快照。

在 Amazon EC2 上,本地磁盘称为实例存储临时存储。这些磁盘可以是 HDD 或 SSD,具体取决于实例类型。磁盘的数量和大小取决于特定的实例类型,并且不可调整。

在 Compute Engine 上,本地磁盘称为本地 SSD。正如其名称所示,本地 SSD 仅为 SSD 类型,几乎可以附加到 f1-micro 和 g1-small 等共享核心类型除外的任何机器类型。每个本地 SSD 的大小固定为 375 GB,每个实例最多可以附加 8 个本地 SSD。

当主机停机维护时,Compute Engine 会自动且无缝地迁移本地 SSD。如需了解详情,请参阅实时迁移

Amazon EC2 实例存储无需额外费用,但 Compute Engine 本地 SSD 会产生额外开支。如需了解详情,请参阅本地 SSD 价格

费用

Amazon EBS

Amazon EBS 卷按每月每 GB 计费,对于某些卷类型,则按每月每预配 IOPS 计费。此外,Amazon EBS 的价格因区域而异。如需了解详情,请参阅 Amazon EBS 价格

Compute Engine 永久性磁盘

Compute Engine 永久性磁盘和磁盘快照按每月每 GB 计费。如需了解详情,请参阅 Compute Engine 价格

文件存储

GCP 和 AWS 都在其计算服务中提供文件存储选项。GCP 提供的是 Cloud Filestore,AWS 提供的是 Elastic File System (EFS)。截至 2018 年 9 月,Cloud Filestore 处于测试阶段。

AWS 的文件存储服务与 GCP 的文件存储服务之间的对应关系如下:

功能 Amazon EFS Cloud Filestore
层级/模式 常规用途和最大 I/O。两者都支持突增吞吐量或预配吞吐量模式。 标准和优质
部署位置 区域 地区
协议 NFSv4** NFSv3
加密 支持静态加密和传输中加密 默认情况下,数据在静态存储和传输过程中受加密保护
每个驱动器的最大装载数 不适用(无公开数据) 500
文件大小的最大值 47.9 TB 16 TB
最大写入吞吐量 取决于文件系统大小以及您使用的是突增吞吐量模式还是预配吞吐量模式。 标准: 100 MB/s (10 TB 及以下), 180 MB/s(10 TB 以上)。
优质:700 MB/s
最大读取吞吐量 取决于文件系统大小以及您使用的是突增吞吐量模式还是预配吞吐量模式。

标准: 100 MB/s (10 TB 及以下), 120 MB/s(10 TB 以上)。

优质: 350 MB/s

最大 IOPS 不适用(无公开数据) 标准层级:5000;优质层级:30000
大小上限 不适用(无公开数据) 63.9 TB
价格 按每月平均使用的存储量 (GB) 和部署区域计费。如果使用预配吞吐量模式,还要按预配的吞吐量 (MB) 计费。 按每秒分配的 GB 数、部署区域和服务层级计费。

** Amazon EFS 支持 NFSv4 的部分功能。如需了解详情,请参阅 Amazon EFS 限制

部署位置

使用 Amazon EFS 时,您可以在特定区域内部署文件系统。部署后,该区域内的 Amazon EC2 实例便可以访问该文件系统。若配合使用 Amazon VPC 和 AWS Direct Connect,您还可以将文件系统挂载到本地客户端机器。

使用 Cloud Filestore 时,您可以在特定地区内部署实例。您可以将 Cloud Filestore 实例装载到任何 GCP 地区中的 Compute Engine 实例,只要这两个实例都位于同一网络中即可。截至 2018 年 9 月,Cloud Filestore 没有从 GCP 环境外部装载磁盘卷的方法。

费用

Amazon EFS

Amazon EFS 按每月平均使用的存储量 (GB) 计费。如果使用了预配吞吐量模式,还要按预配的吞吐量 (MB) 计费。Amazon EFS 的价格还会根据您的 Amazon EFS 部署所在的区域而有所不同。

Cloud Filestore

Cloud Filestore 按每秒分配的 GB 数和服务层级(标准或优质)计费。价格还会根据部署 Cloud Filestore 实例的区域而有所不同。

冷存储

对于不需要标准存储层级可用性的数据,Cloud Storage 和 Amazon S3 均提供了费用较低的存储类别。Cloud Storage 提供的是 Cloud Storage Nearline,Amazon S3 提供的是标准 - 不频繁访问(标准-IA)和单区 - 不频繁访问(单区-IA)。

AWS 的冷存储服务与 GCP 的冷存储服务之间的对应关系如下:

功能 Amazon S3 标准-IA Amazon S3 单区-IA Cloud Storage Nearline
首字节延迟时间 数毫秒(与 Amazon S3 标准相同) 数毫秒(与 Amazon S3 标准相同) 数毫秒(与 Cloud Storage Regional 存储相同)
部署位置 区域 地区 区域
最短存储期 30 天 30 天 30 天
服务等级协议 有 (Amazon S3 SLA) 有 (Amazon S3 SLA) 有 (Cloud Storage SLA)
价格 按每月存储的数据量、网络出站流量、最小对象大小、存储时间、存储区域和常见 API 请求数量计费 按每月存储的数据量、网络出站流量、最小对象大小、存储时间、存储区域和常见 API 请求数量计费 按每月存储的数据量、网络出站流量、存储时间、存储区域和常见 API 请求数量计费

费用

Amazon S3 标准-IA 和单区-IA

Amazon S3 标准-IA 和单区-IA 均按每月存储的数据量和网络出站流量计费。价格还会因存储区域而异。由于 Amazon S3 的最小对象大小为 128KB,因此小于 128KB 的对象均按 128KB 收费。如果您在最短存储期限之前删除或修改数据,剩余期间仍将收取费用。例如,如果在存储对象 5 天后删除对象,则仍将收取该对象剩余 25 天的存储费用。

此外,Amazon S3 标准-IA 和单区-IA 还按常见 API 请求数量和检索的数据量 (以 GB 为单位) 计费。

Cloud Storage Nearline

Cloud Storage Nearline 按每月存储的数据量和网络出站流量计费。价格还会因存储区域而异。如果您在最短存储期限之前删除或修改数据,剩余期间仍将收取费用。例如,如果在存储对象 5 天后删除对象,则仍将收取该对象剩余 25 天的存储费用。

Cloud Storage Nearline 也对常见 API 请求收费。

如需详细了解 Cloud Storage Nearline 价格,请参阅 Cloud Storage Nearline 价格

冷(归档)数据存储

对于不需要定期访问或快速检索的数据,Google 和 Amazon 都提供了冷存储选项。Cloud Storage 额外提供了名为 Cloud Storage Coldline 的存储类别,Amazon 提供的则是 Amazon Glacier。

AWS 的冷存储服务与 GCP 的冷存储服务之间的对应关系如下:

功能 Amazon Glacier Cloud Storage Coldline
首字节延迟时间 几分钟到几小时 数毫秒(与 Cloud Storage Regional 存储相同)
检索类型 加急、标准、批量。加急用户还可以选择按需检索或预配检索。 不适用
部署位置 区域 区域
最短存储期 90 天 90 天
服务等级协议 有 (Cloud Storage SLA)
价格 按每月存储的数据量、存储的文件大小、检索类型、检索请求数、网络出站流量、存储区域、存储时间和常见 API 请求数量计费 按每月存储的数据量、网络出站流量、存储区域、存储时间和常见 API 请求的数量计费

费用

Amazon Glacier

Amazon Glacier 按以下项目计费:

  • 每月存储的数据量
  • 存储的文件大小
  • 检索类型
  • 检索请求数
  • 网络出站流量
  • 存储区域
  • 使用加急检索类型时,可以选择按需检索或预配检索

如果您在最短存储期限之前删除或修改数据,剩余期间仍将收取费用。例如,如果在存储对象 5 天后删除对象,则仍将收取该对象剩余 85 天的存储费用。

与其他 Amazon S3 存储类别一样,Amazon Glacier 也对常见 API 请求收费。

如需详细了解 Amazon Glacier 的价格,请参阅 Amazon Glacier 价格

Cloud Storage Coldline

Cloud Storage Coldline 按每月存储的数据量和网络出站流量计费。价格还会因存储区域而异。如果您在最短存储期限之前删除或修改数据,剩余期间仍将收取费用。例如,如果在存储对象 5 天后删除对象,则仍将收取该对象剩余 85 天的存储费用。

Cloud Storage Nearline 也对常见 API 请求收费。

如需详细了解 Cloud Storage Coldline 的价格,请参阅 Cloud Storage Coldline 价格

后续事项

查看其他“面向 AWS 专业人员的 GCP 简介”文章:

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
面向 AWS 专业人员的 Google Cloud Platform 简介