Amazon S3
Amazon S3(Simple Storage Service)は、AWSが提供するオブジェクトストレージサービスです。99.999999999%(イレブンナイン)という業界最高水準の耐久性を持ち、画像・動画・ログファイル・バックアップなど、あらゆるデータを安全・低コストに保存できます。
概要
S3はファイルを「オブジェクト」として「バケット」と呼ばれる論理的なコンテナに保存するサービスです。OSのフォルダのような階層構造はなく、各オブジェクトはキー(ファイル名のようなもの)とデータ本体、メタデータから構成されます。
S3のバケット名はAWS全体でグローバルに一意でなければなりません。また、S3に保存されたオブジェクトはデフォルトで非公開です。意図しない公開を防ぐため、バケットポリシーやACL(アクセスコントロールリスト)で明示的に公開設定を行う必要があります。
主な特徴
- 耐久性: 99.999999999%(11個の9)。データが失われる確率が極めて低い
- 可用性: 99.99%(Standardクラスの場合)
- 容量の上限なし: 保存できるデータ量に制限はありません(1オブジェクトの最大サイズは5TB)
- リージョンをまたぐ複製: クロスリージョンレプリケーション(CRR)で別リージョンに自動コピー可能
- デフォルト非公開: 意図しない公開を防ぐブロックパブリックアクセス機能を持つ
CP試験で押さえるポイント
- S3の耐久性は99.999999999%(イレブンナイン)。可用性(99.99%)と混同しないこと
- オブジェクトはデフォルトで非公開。静的Webサイトホスティングの際はバケットポリシーで公開許可が必要
- ストレージクラスの使い分けはCP試験の頻出テーマ。アクセス頻度とコストのトレードオフを理解する
- ライフサイクルポリシーでオブジェクトを自動的に安価なクラスへ移行したり削除したりできる
- バージョニングを有効にすると、誤削除・誤上書きから旧バージョンを復元できる
- 静的Webサイトホスティング機能により、S3単体でHTMLファイルの配信が可能
ストレージクラスの比較
S3にはアクセス頻度やコスト要件に応じた複数のストレージクラスがあります。CP試験ではどのシナリオにどのクラスが適切かを問う問題が頻出です。
| クラス名 | 主な用途 | アクセス頻度 | コスト感 | 取り出し遅延 |
|---|---|---|---|---|
| Standard | 汎用。Webコンテンツ、アプリデータ | 頻繁 | 保存コスト高め | 即時(ミリ秒) |
| Intelligent-Tiering | アクセスパターンが不明・変動するデータ | 不明・変動 | 監視費用あり | 即時(ミリ秒) |
| Standard-IA | バックアップ、災害対策(低頻度アクセス) | 低頻度 | 保存安め・取り出し課金 | 即時(ミリ秒) |
| One Zone-IA | 再作成可能なデータのバックアップ | 低頻度 | Standard-IAより約20%安 | 即時(ミリ秒) |
| Glacier Instant Retrieval | 医療画像・ニュースアーカイブ(月1回程度) | アーカイブ | 安い | 即時(ミリ秒) |
| Glacier Flexible Retrieval | バックアップアーカイブ(数時間以内で可) | アーカイブ | かなり安い | 数分〜数時間 |
| Glacier Deep Archive | 長期保管(コンプライアンス対応など) | 年1回以下 | 最安値 | 12時間以上 |
ポイント:「すぐ取り出せる必要があるか」「どれくらいの頻度でアクセスするか」によってクラスを選びます。Glacierはコストが安い分、データ取り出しに時間がかかります。
主要な機能
ライフサイクルポリシー
ライフサイクルポリシーを設定することで、オブジェクトの経過日数に応じて自動的に処理を実行できます。たとえば「30日経過したらStandard-IAへ移行」「90日経過したらGlacierへ移行」「365日後に削除」といったルールを設定できます。コスト最適化に非常に有効です。
バージョニング
バージョニングを有効にすると、同じキーのオブジェクトが更新・削除されても以前のバージョンが保持されます。誤削除・誤上書きへの対策として有効です。バージョニングを有効にすると、一度有効化した後は無効化(disabled)はできず「一時停止(suspended)」のみとなります。
静的Webサイトホスティング
S3バケットに静的なHTMLファイル、CSS、JavaScriptなどを保存し、Webサーバーなしでサイトを公開できます。ただしサーバーサイドのコード(PHP、Node.jsなど)は実行できません。設定には、バケットポリシーで公開アクセスを許可する必要があります。
関連サービスとの違い・使い分け
S3はオブジェクトストレージです。ブロックストレージ(EBS)やファイルストレージ(EFS)との違いについてはEBSとEFSのページで詳しく説明しています。
| サービス | 種類 | 主な用途 | 特徴 |
|---|---|---|---|
| Amazon S3 | オブジェクトストレージ | バックアップ・静的ファイル配信 | URLでアクセス。無制限容量 |
| Amazon EBS | ブロックストレージ | EC2のOSディスク・DB | EC2にアタッチして使用。単一AZ |
| Amazon EFS | ファイルストレージ | 複数EC2の共有ファイル | 複数インスタンスから同時マウント |
確認問題
付録:公式ドキュメント・Black Belt 動画
さらに深く学びたい方は、AWS公式の以下のリソースを参照してください(いずれも外部サイトが開きます)。