クラウドストレージ比較まとめ (Amazon S3・Azure Storage・Google Cloud Storage)

前へ << クラウド仮想マシン比較まとめ (Amazon EC2・Azure VM・Google Compute Engine) クラウドデータベース比較 (Amazon RDS・Azure SQL Database・Google Cloud SQL) >> 次へ

Amazon S3 と Azure Storage と Google Cloud Storage

そもそも、クラウド以前のホスティングサービスや VPS においては、 サーバ内部のハードディスクとしてストレージが用意されていました。

しかしながら複数サーバでのストレージ共有をどうするか、 特にクラウドにおいてインスタンスが数百や数千になった場合どうやって共有するか、 またストレージ障害時のフェイルオーバーやバックアップについて、簡単と言える方法はありませんでした。

そして 2006年に Amazon より S3 がリリースされました。主な特徴は下記です。

  • 使った分だけ課金
  • 専用 SDK、専用 API にて操作する
  • 自動的にバックアップを生成
  • 容量無制限
現在では Azure・GCP 各社も似たような特徴を持つストレージサービスを展開しています。 3大クラウドサービスについて、下記のストレージを比較していきましょう。
  • Amazon S3 (Amazon Simple Storage Service)
  • Azure Storage
  • Google Cloud Storage

Amazon S3

Amazon S3 (Amazon Simple Storage Service) は、2006年からサービスが提供されている老舗のストレージサービスです。 「堅牢性 99.999999999%!」とか言っちゃってますが、 SLA の記載は「可用性は 99.99%」です。まぁ、普通です。

典型的には EC2 に Web サーバ + Web アプリケーションを置いて、 画像ファイルやログファイルを S3 に配置する、という構成が一般的です。 EC2 のディスク (EBS) にファイルを置くと、その EC2 から使うことしかできませんが、 S3 に置いておけば複数 EC2 があったとしても、どの EC2 からでもファイルを取得できます。 EC2 から S3 を扱うには、専用の SDK を使ったり、特定の API を叩いたりする必要がありますので、 普通のファイルと全く同じというわけにはいきません。

データは複数リージョンにコピーされるので安心。 自動的に暗号化される仕組みもあります。

1オブジェクト (≒ファイル) の最大容量は 5TB。 ずっと5GBだったのが、2010年に 5TB になりました。 全体容量は制限なし。

S3 に配置したものを、そのまま Web 上で公開する機能があります。 IP アドレスによる制限もかけられます。

ストレージにはタイプが 3種類あります。

  • S3 標準: 料金が高い (2.8円/GB)、即時取得可能
  • S3 標準 - 低頻度アクセス: 料金が少し安い (2.128円/GB)、即時取得可能
  • Amazon Glacier: 料金が最も安い (0.56円/GB)、取得までに時間がかかる

※金額は月額。 2017/07 調べ。東京リージョン、$1=112円

以前は、別リージョンにデータをコピーしないという「S3 低冗長化ストレージ」というものがあり、 おおむね「S3 標準」より 3割安いというのがウリだったのですが、2016年の S3 値下げに伴い、 「S3 標準」の方が安くなってしまったようです。「S3 低冗長化ストレージ」は存在意義がないため、 そのうち廃止されるのではないでしょうか。

Azure Storage

Azure Storage は、Microsft Azure で使うことができるストレージサービスです。 Azure Storage では、下記の 4つのサービスが提供されます。

  • Blob Storage … 任意のオブジェクト (ファイル) を置く。Amazon S3 に相当する。
  • Table Storage … RDBMS のような、行 (レコード) を管理できるイメージ。
  • Queue Storage … マイクロサービスや、バッチを起動する際のキューを管理する。 最大保持は7日間。1つのキューの最大サイズは64KB。
  • File Storage … SMB 3.0 でアクセス可能なストレージ。 マウントすることで、既存のアプリを変更せずに、インスタンス間でのデータ共有が可能となる。

ちょっとわかりづらいですが、Blob Storage も Table Storage も Queue Storage も File Storage も、 内部的には「Azure Storage」という仕組みで構築されているだけであって、それぞれ全く異なるサービスであると考えた方がよいと思います。

S3 と同様に、Blob Storage を扱うには、専用の SDK を使ったり、特定の API を叩いたりする必要があります。 データは複数リージョンにコピーされます。 Azure Storage に配置したファイルをそのまま Web 上で公開する機能があります。 IP アドレスによる制限もかけられます。

S3 の Glacier と同様に、Azure Blob Storage にもホット (Hot) と (Cool) があり、

  • ホット: 金額が高い。可用性が高い。(同一リージョン内からの) 読み書きが無料。
  • クール: 金額が安い。可用性が低い。(同一リージョン内からであっても) 読み書きが有料。
という関係性になっています。

Google Cloud Storage

GCP では、"Google Cloud Storage" という名称で提供されています。

これにはいくつかの種類があり、「ストレージクラス」として分類されています。

  • Multi-Regional Storage … 地域冗長。データ保存料金が高い。
  • Regional Storage … 地域冗長なし (東南アジア/北東アジア/西ヨーロッパ/米国中部/米国東部/米国西部 の各地域をまたがない)。
  • Nearline Storage … データ保存料金がとても安い。最小保存時間は 30 日。月一程度でしか取得しないファイルを置くのに最適。
  • Coldline Storage … データ保存料金が最も安い。最小保存時間は 90 日。年一回程度でしか取得しないバックアップファイルなどをを置くのに最適。

オブジェクトライフサイクルルールというものを設定することで、 Nearline や Coldline への変更、あるいは削除が可能です。 例えば、

  • ファイル生成から 30日が経過したものを Coldline Storage に変更。
  • ファイル生成から 500日が経過した Coldline Storage を削除。
といったことが行なえます。

また、Google Cloud Storage から Amazon S3 へ、あるいはその逆といった、 転送設定も可能です。

各クラウドストレージサービスの対応表

なんでもかんでも Storage と名付けてしまった Azure のせいで比較がしづらいですが、以下に各サービスの対応表をまとめます。

- AWS Azure GCP
1. ファイル置き場 S3 Blob Storage Cloud Storage
2. あまり使わないファイル置き場 S3 標準 - 低頻度アクセス、Glacier Blob Storage の クール Cloud Storage の Nearline・Coldline
3. NoSQL DynamoDB Table Storage Google Datastore
4. キュー SQS (Simple Queue Service) Queue Storage Google Pub/Sub、Google Task Queue
5. ファイル共有 EFS (Elastic File System) File Storage Red Hat Gluster Storage または Avere vFXT (たぶん)

ストレージサービス機能比較

以下、「1. ファイル置き場」を中心に機能比較します。

- Amazon S3 Azure Blob Storage Google Cloud Storage
ストレージ全体容量上限 無制限 実質無制限? (200ストレージアカウント×500TB/ストレージアカウントだが、上限引き上げ申請可能) 無制限?
オブジェクト数上限 無制限 無制限 無制限
1オブジェクト容量上限 5TB 約4.7TB(?) 5TB
レプリケーション クロスリージョンレプリケーション (CRR)
バージョニング × (多分)
Webでの公開
Webでの公開 - IP アドレス制限 ◯ Shared Access Signature (SAS)
Webでの公開 - 期限付き公開 ?
Webでの公開 - リダイレクト ? ?
Webでの公開 - 認証 × × ×
Webでの公開 - SSL
ライフサイクル管理 ×?
イベント駆動 ◯ (Lambda) ◯ (Azure Functions) ◯ (Cloud Function)
アクセスログ
マウント △ (s3fs, FUSE) △ (FUSE) △ (FUSE)
SQLでオブジェクト内部を検索 Amazon Athena, S3 Select, Glacier Select × ×
DWH エンジンからの検索 Amazon Redshift Spectrum ×? ×?
高速アップロード
大規模データアップロード AWS Snowball, AWS Snowball Edge, AWS Snowmobile × ×
管理画面からのファイル操作
前へ << クラウド仮想マシン比較まとめ (Amazon EC2・Azure VM・Google Compute Engine) クラウドデータベース比較 (Amazon RDS・Azure SQL Database・Google Cloud SQL) >> 次へ