Amazon S3

Amazon S3(Simple Storage Service)は、AWSが提供するオブジェクトストレージサービスです。99.999999999%(イレブンナイン)という業界最高水準の耐久性を持ち、画像・動画・ログファイル・バックアップなど、あらゆるデータを安全・低コストに保存できます。

概要

S3はファイルを「オブジェクト」として「バケット」と呼ばれる論理的なコンテナに保存するサービスです。OSのフォルダのような階層構造はなく、各オブジェクトはキー(ファイル名のようなもの)とデータ本体、メタデータから構成されます。

S3のバケット名はAWS全体でグローバルに一意でなければなりません。また、S3に保存されたオブジェクトはデフォルトで非公開です。意図しない公開を防ぐため、バケットポリシーやACL(アクセスコントロールリスト)で明示的に公開設定を行う必要があります。

主な特徴

CP試験で押さえるポイント

ストレージクラスの比較

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公式の以下のリソースを参照してください(いずれも外部サイトが開きます)。

公式ドキュメント

AWS Black Belt Online Seminar(動画・解説資料)