オブジェクトストレージ入門 — S3互換でバックアップと配信を安く
本記事はアフィリエイト広告を含みます。価格・仕様は2026年6月時点の目安です。最新は各公式サイトでご確認ください。
TL;DR
バックアップや静的ファイルの保管先を「自前のファイルサーバー」や「サーバーのローカルディスク」で抱え込むと、容量の上限・冗長化・遠隔地保管のすべてを自分で運用することになります。ここを S3互換オブジェクトストレージ に逃がすと、容量は実質無制限・耐久性は事業者側が担保・遠隔地コピーも設定一つになります。
- オブジェクトストレージ = ファイルを「キーとデータの組」として平らに格納する方式。階層ディレクトリではなくフラットな名前空間で管理する
- S3互換 = Amazon S3 の API を事実上の標準として各社が実装。ツールやライブラリをほぼ無改修で別事業者へ載せ替えられる
- 主な用途 = バックアップ、静的サイト・メディア配信、ログ・監査データの長期保管
- 料金は3要素 = 保存量・リクエスト数・下り(egress)転送量。egress課金が思わぬ請求の原因になりやすい
- オブジェクトロック(イミュータブル)で、ランサムウェアや誤操作による上書き・削除を一定期間封じられる
- CDN と組み合わせると、配信コストとレイテンシを同時に下げられる
具体的な単価は事業者・リージョン・プランで変動するため、本記事では金額を断定しません。必ず各公式サイトで確認してください。
オブジェクトストレージとは何か
ストレージには大きく3つの方式があります。違いを押さえると、どこで使うべきかが見えてきます。
ブロック/ファイル/オブジェクトの違い
| 方式 | データの扱い | アクセス手段 | 代表的な使いどころ |
|---|---|---|---|
| ブロックストレージ | 固定長ブロックの集まり | OSがディスクとしてマウント | DB・OSの起動ディスク・低レイテンシ用途 |
| ファイルストレージ | 階層ディレクトリとファイル | NFS/SMBなどで共有マウント | 社内ファイルサーバー・共有フォルダ |
| オブジェクトストレージ | キーとデータ+メタデータの組 | HTTP(S) API(REST) | バックアップ・配信・ログ・大量の非構造データ |
オブジェクトストレージは、ファイルを 「オブジェクト」 という単位で扱います。1つのオブジェクトは「データ本体」「一意なキー(名前)」「メタデータ」で構成され、HTTP経由のAPIで読み書きします。
ポイントは、ディレクトリ階層が 本当には存在しない ことです。photos/2026/cover.jpg のようなキーはスラッシュを含む1本の文字列で、見かけ上フォルダのように扱えるだけです。この フラットなキーバリュー構造 が、数億オブジェクト規模でも破綻しにくいスケーラビリティを生みます。
なぜローカルディスクやファイルサーバーより向くのか
- 容量の上限を意識しなくてよい:ディスク増設や再構築を自分で抱えない
- 耐久性を事業者が担保する:複数拠点への自動複製で、ディスク故障を運用から切り離せる
- 遠隔地保管が設定だけで済む:3-2-1バックアップの「オフサイト1部」を作りやすい
逆に、DBのデータファイルやOSの起動ディスクのような 低レイテンシ・頻繁な部分書き換え にはブロックストレージが向きます。オブジェクトストレージは「丸ごと置く・丸ごと取り出す」用途が得意で、ファイルの一部だけを書き換える操作には向きません。
3-2-1の考え方そのものは 3-2-1バックアップ戦略の記事 で扱っています。オブジェクトストレージはその「オフサイト1部」の置き場として相性が良い選択肢です。
S3互換とは — APIが事実上の標準
S3互換とは、Amazon S3 のAPI仕様に合わせて実装されたオブジェクトストレージ を指します。Amazon S3 が広く普及した結果、その操作API(バケット作成、オブジェクトのPUT/GET、署名付きURLの発行など)が事実上の業界標準になりました。
S3互換が効く理由=移行性
S3互換であることの最大の利点は、ツールとコードを載せ替えられる ことです。
aws s3コマンドや AWS SDK が、エンドポイントを差し替えるだけで他社サービスにも使える- バックアップツール(restic、rclone など)が「S3互換」を1つの接続先として扱える
- 事業者を乗り換えるとき、アプリ側の書き換えを最小化できる
特定事業者のロックインを避けたい場合、「S3互換APIに対応しているか」は選定の基本チェック項目になります。なお互換といっても細部の挙動差はあるため、本番投入前には実際の読み書き・削除・ロック挙動を必ず検証してください。
主な用途
バックアップ(オフサイト保管)
最も定番の使い方です。サーバーやNASのバックアップを、遠隔地のオブジェクトストレージへ転送して保管します。restic や rclone などのツールはS3互換を直接扱えるため、保管先として指定するだけで運用に組み込めます。
静的サイト・メディア配信
画像・動画・CSS/JS・ダウンロード配布物などの静的ファイルを置き、HTTP経由で配信します。後述のCDNと組み合わせると、配信元の負荷とレイテンシを同時に下げられます。
ログ・監査データの長期保管
アクセスログや監査ログのように「書いたら基本読み返さないが、消してはいけない」データの保管先に向きます。後述のオブジェクトロックを併用すると、改ざん・削除を一定期間封じた状態で長期保管できます。
大量の非構造データ
センサーデータ、スキャン画像、生成物のアーカイブなど、件数が多く部分書き換えの少ないデータの受け皿に適しています。
基本用語 — バケット/オブジェクト/エンドポイント/アクセスキー
最初の構築でつまずきやすいのが用語です。4つだけ押さえれば動かせます。
| 用語 | 意味 |
|---|---|
| バケット(Bucket) | オブジェクトを入れる最上位の入れ物。名前は一意である必要がある |
| オブジェクト(Object) | 格納するファイル本体。キー(名前)とメタデータを持つ |
| キー(Key) | バケット内でオブジェクトを一意に指す名前。スラッシュを含められる |
| エンドポイント(Endpoint) | APIの接続先URL。事業者・リージョンごとに異なる |
| アクセスキー/シークレットキー | API認証用の鍵ペア。署名生成に使う |
最小の使い方(rclone の例)
rclone でS3互換ストレージへバックアップを送る基本手順です。具体的なエンドポイント名やリージョンは事業者の管理画面で確認してください。
- 事業者の管理画面でバケットを作成し、アクセスキー/シークレットキー を発行する
- rclone の設定でストレージ種別を「S3互換」とし、エンドポイント・キー・リージョン を登録する
- 接続先に別名(リモート名)を付ける
- ローカルディレクトリをバケットへ同期する
# リモート名 mys3、バケット my-backup へ同期する例
rclone sync /srv/data mys3:my-backup --progress
aws CLI を使う場合も同様で、--endpoint-url でS3互換のエンドポイントを指すだけで、コマンド体系はAmazon S3と同じです。
aws s3 cp ./backup.tar.gz s3://my-backup/ --endpoint-url https://<事業者のエンドポイント>
エンドポイント・リージョン名は事業者ごとに異なります。値はいずれも各事業者の管理画面・公式ドキュメントで確認してください。
料金モデルの考え方 — egress課金の罠
オブジェクトストレージの料金は、おおむね次の3要素で構成されます。
| 課金要素 | 内容 | 注意点 |
|---|---|---|
| 保存量 | 保管しているデータ量(GB/月など) | 容量に比例。小さく見えても積み上がる |
| リクエスト数 | PUT/GET/LISTなどのAPI呼び出し回数 | 小さいファイルが大量だと無視できない |
| 下り転送(egress) | ストレージから外へ出る通信量 | 最も読み違えやすい。配信が多いほど膨らむ |
egress(下り転送)に注意する理由
データを 保管している間 のコストより、取り出して配信する ときのコストが請求を押し上げるケースが少なくありません。配信トラフィックが多いサービスでは、保存料より下り転送料のほうが大きくなることもあります。
下り転送の負担を抑える定番が、後述の CDNとの組み合わせ です。CDN側にキャッシュさせれば、オリジン(ストレージ)からの取り出し回数そのものを減らせます。事業者によっては下り転送の扱いやCDN連携時の課金が大きく異なるため、料金は 保存・リクエスト・転送の3軸 で見積もってください。
具体的な単価は事業者・リージョン・プランで変動します。本記事では金額を断定しません。最新の料金は各公式サイトでご確認ください。
オブジェクトロック(イミュータブル)でランサム対策
オブジェクトロックは、オブジェクトを 指定期間または無期限で「上書き・削除できない」状態に固定 する機能です。多くのS3互換ストレージが対応しています。
なぜランサムウェア対策になるのか
ランサムウェアの被害が深刻化する典型は、バックアップごと暗号化・削除される パターンです。攻撃者が管理者権限を奪っても、オブジェクトロックで保護された世代は ロック期間中は変更も削除もできません。これにより「攻撃後でも確実に巻き戻せる世代」を残せます。
- 保持期間(リテンション):指定した期間中は削除・上書きを拒否する
- リーガルホールド:期間に関わらず、解除されるまで変更を禁止する
- 運用上は、バックアップ用バケットにロックを設定し、世代ごとに保持期間を与える形が基本
オブジェクトロックは、ランサム対策を「単一の防御」でなく層で重ねる考え方の一部です。バックアップ以外の層を含めた全体像は ランサムウェア多層防御の記事 で扱っています。
オブジェクトロックを有効にするには、多くの場合バケット作成時に設定が必要です。後付けできるかは事業者の仕様によります。導入前に公式ドキュメントで確認してください。
CDNと組み合わせた配信
静的ファイルの配信では、オブジェクトストレージを オリジン(配信元)、CDNを キャッシュ・配信レイヤー として組み合わせるのが定番構成です。
組み合わせる効果
- レイテンシ低下:利用者に近いエッジから配信するため表示が速い
- オリジン負荷の軽減:キャッシュヒットした分はストレージへ取りに行かない
- 下り転送コストの抑制:オリジンからの取り出し回数が減るため、egress課金を抑えられる
配信の流れはシンプルです。
- 静的ファイルをバケットへ置く
- CDNのオリジンに、そのバケット(またはエンドポイント)を指定する
- 利用者はCDNのドメイン経由でアクセスし、エッジにキャッシュされたファイルを受け取る
- キャッシュが無い初回のみ、CDNがオリジンへ取りに行く
CDNとオブジェクトストレージを同一事業者・同一ネットワーク内で完結させると、オリジン取り出し時の転送料が優遇される構成もあります。事業者ごとに連携方法と課金条件が異なるため、配信量が多い場合はこの点を含めて選定してください。
まとめ
| 観点 | 要点 |
|---|---|
| 仕組み | フラットなキーバリューでファイルを「オブジェクト」として格納。HTTP API でアクセス |
| S3互換 | S3のAPIが事実上の標準。ツール・コードを載せ替えられる=移行性が高い |
| 用途 | バックアップ・静的配信・ログ長期保管・大量の非構造データ |
| 料金 | 保存量+リクエスト+下り転送の3軸。egress課金を見落とさない |
| ランサム対策 | オブジェクトロックで一定期間の上書き・削除を封じる |
| 配信 | CDNと組み合わせてレイテンシ・オリジン負荷・転送料を同時に下げる |
オブジェクトストレージは、容量・耐久性・遠隔地保管を事業者側に委ねて、自前運用の負担を減らす保管先です。選ぶときは「S3互換か」「料金が3軸でどう積み上がるか」「オブジェクトロックに対応するか」を確認すると、用途に合った1社を選びやすくなります。
各サービス公式
※価格・仕様・提供リージョンは変動します。最新の料金とオブジェクトストレージの対応状況は各公式サイトでご確認ください。