コンテンツにスキップ

クラウドストレージ10社のアップロード上限・料金・特徴を徹底比較|S3/GCS/Azure/R2

カテゴリ:クラウド・比較

クラウドストレージサービスを選ぶとき、単体アップロードの上限・マルチパートアップロードの対応・無料枠・料金・エグレス(転送)コストは重要な比較ポイントです。AWS S3 が事実上の業界標準ですが、コスト・エッジ配信・特定用途によってはより適した選択肢があります。本記事では主要10サービスの仕様と用途別の推奨を整理します。

単体アップロード上限・マルチパート上限・無料枠 比較表

サービス 単体上限 マルチパート上限 無料枠 月額目安(100GB)
AWS S3 5 GB 5 TB 5GB・2,000リクエスト/月(12か月) $2.30〜
Google Cloud Storage 5 TB(単一オブジェクト) 5 TB 5GB(Standard、US東部) $2.00〜
Azure Blob Storage ブロック: 4.75TB、ページ: 8TB 195GB/ブロック × 50,000ブロック 12か月5GB(LRS) $1.84〜
Cloudflare R2 5 GB 5 TB 10GB/月・100万操作/月(恒久) $1.50(エグレス無料)
Backblaze B2 5 GB 10 TB 10GB(恒久) $0.60〜
DigitalOcean Spaces 5 GB 5 TB 250GB + 1TB転送/月($5〜) $5(250GBまで込み)
Wasabi 1 TB 1 TB なし(試用のみ) $0.68(エグレス無料)
MinIO 5 TB(実装依存) 5 TB セルフホスト(無制限) インフラコストのみ
Firebase Storage 実質無制限(GCS利用) GCS準拠 5GB(Sparkプラン) $0.026/GB〜
Supabase Storage 50MB(Free)/ 50GB(Pro) Pro以上で対応 1GB(Freeプラン) $0.021/GB(Pro)

※料金は2026年4月時点の目安です。リージョン・ストレージクラス・利用量によって変動します。エグレス(データ転送)コストは上表に含まれていないものが大半です。

各サービスの特徴と選び方

AWS S3

クラウドストレージの事実上の標準。S3 互換 API を多くのサービスが実装しており、ライブラリやツールのエコシステムが最も充実しています。マルチパートアップロードは aws-sdk で自動化でき、最小チャンクサイズ 5MB・最大 10,000パーツで最大 5TB のオブジェクトをアップロードできます。CloudFront との連携でエッジ配信も容易です。ただしエグレスコストが高く($0.09/GB〜)、大量転送があるサービスではコストが課題になります。

Google Cloud Storage(GCS)

単一オブジェクトの上限が 5TB と大きく、大容量ファイルを単一オブジェクトとして管理したいユースケースに向いています。BigQuery・Vertex AI などの GCP サービスとのシームレスな連携が強みで、データ分析パイプラインを構築する場合の第一候補です。転送コストは S3 より若干安い傾向があります。

Azure Blob Storage

Microsoft エコシステム(Office 365・Active Directory・Azure Functions など)との親和性が高く、エンタープライズ向けの認証・コンプライアンス機能が充実しています。ブロック BLOB は最大 4.75TB のオブジェクト、ページ BLOB(仮想ディスク用)は最大 8TB をサポートします。ホットティア・クールティア・アーカイブティアでコストを最適化できます。

Cloudflare R2

最大の特徴はエグレスコストが無料という点。S3 互換 API を採用しているため、既存の S3 クライアントをほぼそのまま使えます。Workers(エッジコンピューティング)との統合が強力で、エッジで直接ストレージを操作するアーキテクチャが可能です。無料枠が恒久的に 10GB/月あり、個人開発や小規模サービスの出発点に最適です。

Backblaze B2

業界最安値クラスの料金($0.006/GB/月)で、コスト重視のバックアップ・メディアアーカイブ用途に向いています。Cloudflare との「Bandwidth Alliance」でB2からCloudflareへのエグレスが無料になる組み合わせが人気です。S3 互換 API を提供しており、移行も容易です。

DigitalOcean Spaces

月 $5 から 250GB ストレージ + 1TB 転送帯域が含まれる定額制が特徴。小規模サービスで予算を予測しやすいのが利点です。CDN が標準で付属し、設定が簡単です。DigitalOcean Droplets(仮想マシン)と同リージョンで使うと転送が無料になります。

Wasabi

S3 互換でエグレスが無料(Wasabi から直接ダウンロードする場合)、ストレージ料金も安価($0.0068/GB/月)です。ただし、保存から 90日以内に削除したデータにも 90日分の料金が発生する最低保存期間ルールがある点に注意が必要です。バックアップ・コールドデータの長期保管に向いています。

MinIO

オープンソースの S3 互換オブジェクトストレージで、オンプレミスやプライベートクラウドにセルフホストできます。Kubernetes との親和性が高く、Helm チャートが公式提供されています。データをクラウドに出したくない規制産業やオンプレ環境での開発・テスト用途に活用されます。

Firebase Storage

内部的には GCS を使用しており、Firebase SDK を使ったモバイル/Webアプリからの直接アップロードが簡単に実装できます。Firebase Authentication と連携した細かいアクセス制御(Security Rules)が強みです。ただし Spark(無料)プランでは単一ファイルの上限が事実上低く設定されている場合があります。

Supabase Storage

PostgreSQL ベースの BaaS(Backend as a Service)である Supabase のストレージ機能。Supabase Auth との RLS(Row Level Security)ベースのアクセス制御が独自の強みです。Free プランはファイルサイズ上限が 50MB と低いため、大容量ファイルには Pro プラン(50GB/ファイル)以上が必要です。

用途別おすすめ

用途 第1候補 理由
小規模 SaaS の出発点 Cloudflare R2 エグレス無料・無料枠が恒久的・S3互換
大容量メディアアーカイブ Backblaze B2 + Cloudflare 最安値ストレージ+エグレス無料の組み合わせ
エッジ配信・グローバル展開 Cloudflare R2 / AWS S3 + CloudFront CDN統合・低レイテンシ配信
コスト最重視 Wasabi / Backblaze B2 業界最安値クラスのストレージ料金
エンタープライズ・コンプライアンス AWS S3 / Azure Blob 豊富な認証・暗号化・監査機能
モバイルアプリ直接アップロード Firebase Storage / Supabase Storage SDKと認証の統合が容易
オンプレミス・プライベートクラウド MinIO S3互換・セルフホスト・OSS
GCP サービスとの連携 Google Cloud Storage BigQuery・Vertex AI とのシームレス連携

マルチパートアップロードとは

大容量ファイルを小さなパーツに分割して並列アップロードする仕組みがマルチパートアップロードです。S3 では 100MB を超えるファイルに推奨され、5GB を超えるファイルには必須です。主なメリットは以下のとおりです。

  • 並列アップロードによるスループット向上
  • ネットワーク断時に失敗したパーツのみ再送信できる(再開可能)
  • 単体リクエストの 5GB 制限を回避して最大 5TB を送信できる
// AWS SDK v3 でのマルチパートアップロード例
import { S3Client, CreateMultipartUploadCommand,
         UploadPartCommand, CompleteMultipartUploadCommand } from '@aws-sdk/client-s3';

const s3 = new S3Client({ region: 'ap-northeast-1' });

async function multipartUpload(bucket, key, file) {
    // アップロードの開始
    const { UploadId } = await s3.send(new CreateMultipartUploadCommand({
        Bucket: bucket, Key: key,
    }));

    const chunkSize = 10 * 1024 * 1024; // 10MB
    const parts = [];

    for (let i = 0; i * chunkSize < file.size; i++) {
        const chunk = file.slice(i * chunkSize, (i + 1) * chunkSize);
        const { ETag } = await s3.send(new UploadPartCommand({
            Bucket: bucket, Key: key,
            UploadId, PartNumber: i + 1,
            Body: chunk,
        }));
        parts.push({ ETag, PartNumber: i + 1 });
    }

    // パーツの結合(完了)
    await s3.send(new CompleteMultipartUploadCommand({
        Bucket: bucket, Key: key,
        UploadId, MultipartUpload: { Parts: parts },
    }));
}

この記事で使えるテストファイル(無料)

よくある質問

個人開発で最もコスパの良いクラウドストレージは?

無料枠が大きいCloudflare R2(10GB/月の無料ストレージ、エグレス料金無料)がコスパに優れています。

S3とGCSの主な違いは?

S3はリージョン指定が必須ですがGCSはマルチリージョンを標準サポートします。料金体系はほぼ同等ですが、GCSはニアラインなど多段階のストレージクラスが特徴です。

エグレス料金(転送料金)が無料のサービスは?

Cloudflare R2はエグレス料金が完全無料です。Backblaze B2もCloudflare経由であれば無料になるBandwidth Allianceがあります。

📚 関連記事

PNG vs WebP vs AVIF|画像フォーマットの選び方と変換方法

PNG / JPEG / WebP / AVIF の特徴・用途・ブラウザ対応状況を比較。picture 要素での出し分け、DevLab の画像フォーマット変換ツールの使い方も解説。

2026-04-18

Whois でドメイン情報を調べる方法|有効期限・ネームサーバー・登録者

Whois でわかること (登録者・有効期限・レジストラ・NS)、GDPR によるプライバシー保護の影響、ドメイン管理の実務的な使い方を解説。

2026-04-18

HTTP ステータスコード完全ガイド|よくあるエラーの原因と対処法

開発者が頻出する HTTP ステータスコード (200/301/302/400/401/403/404/413/422/429/500/502/503/504) の意味・原因・対処法を解説。301 vs 302 の SEO 影響、400 vs 422 の使い分けも。

2026-04-18

cURL コマンドを JavaScript fetch・Python requests に変換する方法|DevTools 連携

Chrome DevTools の Copy as cURL を fetch / axios / Python requests / PHP cURL / Go net/http に変換する手順を解説。主要 cURL オプション (-X / -H / -d / -F / -u / -b / -L) の変換パターン、認証トークンの扱い、注意点まで。

2026-04-16

Cookie のセキュリティフラグ完全ガイド|Secure / HttpOnly / SameSite / __Host-

Cookie のセキュリティ属性 Secure / HttpOnly / SameSite (Strict/Lax/None) / __Host- __Secure- プレフィックス / 4096 バイト制限を解説。CSRF / XSS / セッションハイジャック対策と、Laravel / Express の実装例。

2026-04-16

JWT のセキュリティベストプラクティス|alg none 攻撃 / 有効期限 / 署名検証

JWT (JSON Web Token) の代表的な脆弱性 6 種類 (alg none 攻撃 / 鍵混同 / 無期限トークン / payload への機密情報 / 失効不可 / 弱いシークレット) と対策。リフレッシュトークンパターン、失効リスト、HttpOnly Cookie 格納まで。

2026-04-16