0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS と GCP の主要ストレージサービスを比較してみた(S3 / Cloud Storage ほか)

GCP×AWS 比較シリーズ第7弾。今回は ストレージ全体 を俯瞰する。

ストレージも「一口にストレージ」と言っても オブジェクト・ブロック・ファイル・アーカイブ と種類が分かれる。まず全体地図を描き、主役の S3 ↔ Cloud Storage を詳しく見ていく。


1. ストレージ全体マップ

種類 用途 AWS GCP
オブジェクト 画像/ログ/バックアップ/データレイク S3 Cloud Storage(GCS)
ブロック VMの起動ディスク・DB領域 EBS 永続ディスク(Persistent Disk)
ファイル(NFS等) 複数VMで共有するファイル EFS / FSx Filestore
アーカイブ(寒冷) めったに読まない長期保管 S3 Glacier GCS Nearline/Coldline/Archive
ローカル一時 高速だが揮発する作業領域 インスタンスストア ローカルSSD

ポイント:AWS は Glacier が別サービスっぽく見えるが、GCP では **同じ Cloud Storage の「ストレージクラス」**として扱う(後述)。


2. 主役:S3 ↔ Cloud Storage(オブジェクトストレージ)

最もよく使う。構造はほぼ同じ。

2-1. 用語の対応

概念 AWS(S3) GCP(Cloud Storage)
入れ物 バケット バケット
名前空間 グローバルで一意 グローバルで一意
データ単位 オブジェクト(キー) オブジェクト(名前)
URI s3://bucket/key gs://bucket/object
配置 リージョン ロケーション(リージョン / デュアル / マルチ)
アクセス制御 バケットポリシー / IAM / ACL IAM(推奨)/ ACL
公開ブロック Block Public Access Public Access Prevention
署名付きURL Presigned URL Signed URL
バージョン管理 バージョニング オブジェクトバージョニング
ライフサイクル ライフサイクルルール ライフサイクル管理
イベント通知 S3 Event → Lambda/SQS/SNS Pub/Sub 通知 / Eventarc

2-2. ストレージクラス(料金階層)

「よく読む→安いが取り出し料が高い」の階層。ここのマッピングが頻出

特性 AWS(S3) GCP(Cloud Storage)
標準(高頻度) S3 Standard Standard
低頻度(月数回) S3 Standard-IA Nearline(30日〜)
かなり低頻度(四半期) S3 Glacier Instant Retrieval Coldline(90日〜)
長期アーカイブ S3 Glacier / Deep Archive Archive(365日〜)
自動最適化 S3 Intelligent-Tiering Autoclass(自動でクラス移動)

大きな思想差:GCPはどのクラスでもミリ秒でアクセスできる(Archiveでも即時取り出し可)。AWSのGlacier/Deep Archiveは取り出しに時間がかかることがある(取り出しリクエストが必要)。
一方でGCPの寒冷クラスは 最低保存期間(Nearline 30日 / Coldline 90日 / Archive 365日)があり、早く消すと違約金的に課金される。

2-3. 整合性・性能

AWS S3 GCP GCS
整合性 強整合(read-after-write) 強整合
スループット 自動スケール 自動スケール
大容量転送 aws s3 / DataSync / Snowball gcloud storage(高速並列)/ Transfer Service

3. 基本的な使い方:Cloud Storage(実践)

gsutil または新しい gcloud storage を使う(新規は gcloud storage 推奨)。

3-1. バケット作成

gcloud config set project MY_PROJECT
gcloud services enable storage.googleapis.com

# バケット作成(ロケーションとクラスを指定)
gcloud storage buckets create gs://my-unique-bucket \
  --location=asia-northeast1 \
  --default-storage-class=STANDARD \
  --uniform-bucket-level-access

3-2. アップロード / ダウンロード / 一覧

gcloud storage cp ./file.txt gs://my-unique-bucket/      # アップロード
gcloud storage cp gs://my-unique-bucket/file.txt .       # ダウンロード
gcloud storage ls gs://my-unique-bucket/                 # 一覧
gcloud storage rm gs://my-unique-bucket/file.txt         # 削除

# ディレクトリ同期(S3 sync 相当)
gcloud storage rsync -r ./dir gs://my-unique-bucket/dir

3-3. 公開設定・署名付きURL

# 特定オブジェクトを一時的に共有(署名付きURL・1時間)
gcloud storage sign-url gs://my-unique-bucket/file.txt --duration=1h

# IAMで読み取りを付与(バケット単位)
gcloud storage buckets add-iam-policy-binding gs://my-unique-bucket \
  --member=user:foo@example.com --role=roles/storage.objectViewer

3-4. ライフサイクル(自動でクラス移動 / 削除)

{
  "rule": [
    { "action": {"type": "SetStorageClass", "storageClass": "NEARLINE"},
      "condition": {"age": 30} },
    { "action": {"type": "Delete"},
      "condition": {"age": 365} }
  ]
}
gcloud storage buckets update gs://my-unique-bucket --lifecycle-file=lifecycle.json

3-5. AWS(S3)だと

aws s3 mb s3://my-unique-bucket --region ap-northeast-1
aws s3 cp ./file.txt s3://my-unique-bucket/
aws s3 cp s3://my-unique-bucket/file.txt .
aws s3 ls s3://my-unique-bucket/
aws s3 sync ./dir s3://my-unique-bucket/dir
aws s3 presign s3://my-unique-bucket/file.txt --expires-in 3600

CLIの語感(cp/ls/rm/sync/rsync)はほぼ同じ。URIスキームが s3://gs:// で対応。


4. ブロックストレージ:EBS ↔ 永続ディスク

VM(EC2 / Compute Engine)にアタッチする起動・データディスク。

概念 AWS(EBS) GCP(Persistent Disk)
標準SSD gp3 / gp2 pd-balanced / pd-ssd
高IOPS io1 / io2 pd-extreme
HDD st1 / sc1 pd-standard
スナップショット EBS スナップショット PD スナップショット(リージョン跨ぎコピー可)
複数VMから共有 io2 の Multi-Attach(限定) リードオンリーで複数アタッチ可
リサイズ オンライン拡張可 オンライン拡張可
最新の高速世代 Hyperdisk(性能をディスク単位で指定)
# GCP:ディスク作成してVMにアタッチ
gcloud compute disks create my-disk --size=100GB --type=pd-balanced --zone=asia-northeast1-a
gcloud compute instances attach-disk my-vm --disk=my-disk --zone=asia-northeast1-a

5. ファイル共有:EFS/FSx ↔ Filestore

複数のVM/コンテナから NFSでマウントして共有 するファイルシステム。

AWS GCP
NFS共有 EFS Filestore
Windows(SMB)/特殊 FSx(Windows / Lustre 等) (Filestore の各ティア / パートナー製品)
用途 共有ファイル・コンテンツ・HPC 共有ファイル・GKE 永続ボリューム

ざっくり EFS ≒ Filestore。AWS の FSx のような OS/用途特化の品揃えは AWS の方が広い。


6. どれを選ぶ?

こういうデータ AWS GCP
画像/ログ/バックアップ/データレイク S3 Cloud Storage
VMの起動ディスク・DB領域 EBS 永続ディスク
複数VMで共有するファイル EFS Filestore
めったに読まない長期保管 Glacier / Deep Archive GCS Coldline / Archive
超高速・揮発OKの作業領域 インスタンスストア ローカルSSD

7. まとめ

種類 AWS GCP 覚え方
オブジェクト S3 Cloud Storage s3://gs://、クラスは Standard/Nearline/Coldline/Archive
ブロック EBS 永続ディスク gp3↔pd-balanced、新世代は Hyperdisk
ファイル EFS / FSx Filestore NFS共有はほぼ同じ
アーカイブ Glacier GCSの寒冷クラス GCPは別サービスでなく同一バケットのクラス

3行まとめ

  1. S3 ≒ Cloud Storage。CLIの語感もほぼ同じで移行しやすい。
  2. アーカイブの扱いが思想差:AWSは Glacierという別物+取り出し時間、GCPは 同じバケットのクラスで即時取り出し(ただし最低保存期間あり)
  3. ブロックは EBS↔永続ディスク、ファイル共有は EFS↔Filestore とほぼ1対1。

関連記事:

  • [GCP のリソース階層を AWS と比較する(Organization / Folder / Project 編)]
  • [GCP と AWS で比較する IAM とポリシー継承の仕組み]
  • [GCP CLI を AWS CLI と比較する(gcloud / gsutil / bq 編)]
  • [GCP の API 管理サービスを AWS API Gateway と比較する]
  • [Cloud Run と AWS Fargate を比較する(コンテナ実行基盤編)]
  • [AWS と GCP の主要コンピューティングサービスを比較してみた]
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?