「S3ってよく聞くけど、普通のストレージと何が違うの?」「オブジェクトストレージって何?」
AWSを学び始めると、EC2と並んで必ず出てくるのがS3(エススリー)です。画像の保存からバックアップ、Webサイトのホスティングまで、ありとあらゆる場面で使われています。
この記事では、プログラミング初心者やエンジニア転職を考えている方に向けて、S3の基本を身近な例を使ってわかりやすく解説します。
S3とは?一言でいうと「クラウド上の無限の倉庫」
S3(Amazon Simple Storage Service)とは、AWSが提供するオブジェクトストレージサービスです。
もっとシンプルに言うと、「インターネット上にある、ほぼ無限に使える貸し倉庫」のようなものです。
パソコンのハードディスクやUSBメモリとは違い、以下のような特徴があります。
- 容量の上限がない(必要な分だけ使える)
- 使った分だけ支払い(1GB単位で課金)
- 世界中どこからでもアクセス可能
- データが消えにくい(99.999999999%の耐久性)
この「99.999999999%(イレブンナイン)」という耐久性は、1万個のファイルを保存した場合、1個のファイルが失われるのに約1,000万年かかる計算です。つまり、ほぼ消えないと考えて大丈夫です。
オブジェクトストレージとは?
S3は「オブジェクトストレージ」という種類のストレージです。これを理解するために、他のストレージと比較してみましょう。
ストレージの種類
| 種類 | 特徴 | 例え |
|---|---|---|
| ブロックストレージ | データを固定サイズのブロックに分割して保存 | 本棚(決まった場所に本を入れる) |
| ファイルストレージ | フォルダ階層でファイルを管理 | 引き出し付きの書類棚 |
| オブジェクトストレージ | データに固有のIDを付けてフラットに保存 | 倉庫(荷物にタグを付けて保管) |
オブジェクトストレージでは、ファイルを「オブジェクト」として扱い、それぞれに固有のID(キー)とメタデータ(付加情報)を付けて保存します。
倉庫に荷物を預けるとき、「この荷物は○○さんのもの、中身は衣類、保管期限は1年」というタグを付けるイメージです。
オブジェクトストレージのメリット
- スケーラビリティ:容量を気にせず保存できる
- 耐久性:データが複数の場所に自動的に複製される
- コスト効率:使った分だけの支払いで済む
- HTTPでアクセス:Webブラウザからも直接アクセス可能
S3の基本用語を覚えよう
S3を理解するために、最低限知っておきたい用語を紹介します。
バケット(Bucket)
バケットは、オブジェクトを入れる「容器」です。ファイルを保存する前に、まずバケットを作成する必要があります。
バケット名は世界中で一意(ユニーク)である必要があります。つまり、他の誰かが使っている名前は使えません。
例えば「my-company-images-2025」のように、会社名や用途を含めた名前にすることが多いです。
オブジェクト(Object)
オブジェクトは、S3に保存されるデータそのものです。画像、動画、ドキュメント、バックアップファイルなど、あらゆる種類のファイルをオブジェクトとして保存できます。
1つのオブジェクトの最大サイズは5TBです。
キー(Key)
キーは、バケット内でオブジェクトを識別するための名前です。
例:images/2025/profile.jpg
スラッシュ(/)を含めることで、フォルダのような階層構造を表現できます。ただし、S3には実際のフォルダは存在せず、キー名の一部としてスラッシュを使っているだけです。
リージョン
バケットを作成するときに、どのリージョン(地域)に作成するかを選びます。東京リージョン(ap-northeast-1)を選べば、データは日本国内のAWSデータセンターに保存されます。
ユーザーに近いリージョンを選ぶことで、アクセス速度が向上します。
S3は何に使うの?代表的なユースケース
S3は非常に汎用的なサービスで、さまざまな用途に使われています。
1. 静的Webサイトのホスティング
HTML、CSS、JavaScriptで作られた静的なWebサイトをS3だけで公開できます。サーバー(EC2)を立てる必要がないため、低コストで簡単にWebサイトを運用できます。
2. 画像・動画の保存・配信
Webアプリケーションのユーザーがアップロードした画像や動画の保存先として、S3はよく使われます。CloudFront(CDN)と組み合わせれば、世界中に高速配信も可能です。
3. バックアップ・アーカイブ
サーバーのバックアップやログファイルの長期保存に最適です。後述する「ストレージクラス」を使い分けることで、コストを大幅に削減できます。
4. データレイク
企業が持つ大量のデータ(構造化・非構造化問わず)を集約して保存する「データレイク」の基盤としてもS3は使われています。
ストレージクラスを理解しよう
S3には、用途に応じたストレージクラスがあります。データのアクセス頻度に応じて使い分けることで、コストを最適化できます。
| ストレージクラス | 特徴 | 用途 |
|---|---|---|
| S3 Standard | 高頻度アクセス向け、最も標準的 | 頻繁にアクセスするデータ |
| S3 Intelligent-Tiering | アクセスパターンに応じて自動最適化 | アクセス頻度が予測しにくいデータ |
| S3 Standard-IA | 低頻度アクセス向け、取り出し料金あり | 月1回程度のアクセス |
| S3 One Zone-IA | 単一AZに保存、さらに低コスト | 再作成可能なデータ |
| S3 Glacier Instant Retrieval | アーカイブ用、ミリ秒で取り出し可能 | 四半期に1回程度のアクセス |
| S3 Glacier Flexible Retrieval | アーカイブ用、取り出しに数分〜数時間 | 年に1〜2回のアクセス |
| S3 Glacier Deep Archive | 最も低コスト、取り出しに12時間以上 | 7〜10年の長期保存 |
どのストレージクラスを選べばいい?
迷ったら「S3 Intelligent-Tiering」がおすすめです。
Intelligent-Tieringは、データへのアクセスパターンを自動的に分析し、最適なストレージ層に移動してくれます。30日間アクセスがなければ低頻度アクセス層に、90日間アクセスがなければさらに低コストの層に自動移動します。
手動で管理する手間がなく、コストも最適化できるため、最初のうちはこれを選んでおけば間違いありません。
S3の料金体系
S3の料金は、主に以下の要素で決まります。
1. ストレージ料金
保存しているデータ量に対して課金されます。東京リージョンのS3 Standardの場合、最初の50TBまでは1GBあたり月額約0.025ドル(約4円)です。
2. リクエスト料金
データの読み書き(PUT、GET、DELETEなど)に対して課金されます。1,000リクエストあたり数円程度です。
3. データ転送料金
S3からインターネットへのデータ転送(ダウンロード)に課金されます。S3へのアップロードは無料です。
無料利用枠
AWSアカウント作成から12ヶ月間は、以下が無料で使えます。
- S3 Standard:5GBまで
- GETリクエスト:20,000件/月
- PUTリクエスト:2,000件/月
学習目的なら、この無料枠内で十分に試せます。
S3を使う流れ(ざっくり解説)
実際にS3を使う基本的な流れを見てみましょう。
- バケットを作成:名前とリージョンを指定
- アクセス設定:パブリックアクセスのブロック設定(デフォルトで有効)
- オブジェクトをアップロード:ファイルをドラッグ&ドロップ
- アクセス権限の設定:必要に応じてポリシーを設定
- オブジェクトにアクセス:URLまたはAPIでアクセス
AWSマネジメントコンソール(Webブラウザ)から直感的に操作できるので、初心者でも簡単に始められます。
セキュリティで知っておくべきこと
S3は便利ですが、設定を間違えるとデータ漏洩につながる可能性があります。以下のポイントを押さえておきましょう。
パブリックアクセスのブロック
2023年以降に作成されたバケットは、デフォルトでパブリックアクセスがブロックされています。これは意図しないデータ公開を防ぐための重要な設定です。
Webサイトホスティングなど、意図的に公開する場合を除き、この設定は有効のままにしておきましょう。
バケットポリシーとIAMポリシー
S3へのアクセス権限は、バケットポリシー(バケット側で設定)とIAMポリシー(ユーザー側で設定)の2つで制御できます。
「誰が」「何を」「できるか」を明確に定義することが大切です。
暗号化
S3に保存するデータはサーバーサイド暗号化を有効にすることで、保存時に自動的に暗号化されます。2023年以降、新しいオブジェクトはデフォルトで暗号化されるようになりました。
2025年のS3トピック
S3も常に進化しています。2025年の主なトピックをいくつか紹介します。
S3 Tables
2024年末に発表されたS3 Tablesは、Apache Iceberg形式のテーブルをS3内で直接管理できる機能です。データレイクやデータウェアハウスとの連携がより簡単になりました。
オブジェクトタグ付け料金の値下げ
2025年3月から、オブジェクトタグ付けの料金が約35%値下げされました。タグを活用したコスト管理やアクセス制御がより手軽になっています。
S3 Batch Operationsの整合性検証
大量のオブジェクトに対して、チェックサム(データ整合性の検証値)を一括で計算・検証できるようになりました。コンプライアンスやデータ監査に便利な機能です。
まとめ
この記事で解説した内容をまとめます。
| 項目 | ポイント |
|---|---|
| S3とは | AWSが提供するオブジェクトストレージ。クラウド上の無限の倉庫 |
| 特徴 | 容量無制限、99.999999999%の耐久性、従量課金 |
| 基本用語 | バケット(容器)、オブジェクト(データ)、キー(識別名) |
| 用途 | Webホスティング、画像保存、バックアップ、データレイクなど |
| ストレージクラス | アクセス頻度に応じて選択。迷ったらIntelligent-Tiering |
| 料金 | ストレージ量+リクエスト数+データ転送量。無料枠あり |
| セキュリティ | パブリックアクセスブロック、暗号化はデフォルト有効 |
S3は、AWSの中でも最も基本的で、最も使われているサービスのひとつです。EC2と合わせて、まずは無料枠を使って実際に触ってみましょう。
「ファイルをアップロードして、URLでアクセスできた!」という体験をすれば、クラウドの便利さを実感できるはずです。
SKサービスでは未経験からのエンジニア転職をサポート
SKサービス株式会社では、完全未経験からエンジニアを目指す方を積極採用しています。
正社員として安定した環境で働きながら、さまざまなプロジェクトで実践経験を積むことができます。受託開発も手掛けており、スキルアップに応じてキャリアの幅を広げていける環境です。
「AWSを仕事で使えるようになりたい」「クラウドエンジニアとしてキャリアを築きたい」という方、まずはお気軽にご相談ください。