Amazon Simple Storage Service (Amazon S3)は、AWSが提供する業界をリードするオブジェクトストレージサービスです。その高いスケーラビリティ、データ可用性、セキュリティ、パフォーマンスにより、世界中のあらゆる規模や業界のお客様に利用されています。
本記事では、S3の基本概念から、ストレージクラス・セキュリティ・データ保護・活用機能までの要点を整理します。
- S3の基本概念(オブジェクト・バケット・キー)と耐久性・可用性
- アクセス頻度やコスト要件に応じたストレージクラスの使い分け
- S3 Block Public Access・IAM・バケットポリシー・暗号化などのセキュリティ機能
- バージョニング・レプリケーション・データ整合性モデル
- 静的ウェブホスティング・署名付きURL・イベント通知などの活用機能
S3の基本概念
S3は、データをオブジェクトとしてバケットと呼ばれるコンテナに保存します。オブジェクトはファイル本体とそのファイルを記述するメタデータで構成され、バケット内でキー(キー名)によって一意に識別されます。
| 指標 | 値 |
|---|---|
| データ耐久性 (イレブンナイン) | 99.999999999% |
| 可用性 | 99.99% |
S3の最大の特長は、その比類ない耐久性です。複数のデータセンターとデバイスにデータを自動的に複製することで、データの耐久性と可用性を確保しています。また、容量が無制限であり、使用した分だけ料金を支払う従量課金制のため、ストレージのプロビジョニングを心配する必要がありません。
多様なストレージクラス
S3は、アクセス頻度やコスト要件に応じて最適なストレージクラスを提供しています。
| ストレージクラス | 特徴 |
|---|---|
| S3標準 | 最もスタンダードなクラスで、アクセス頻度の高いデータ向けに最適です。新規作成時にデフォルトで選択されます。 |
| S3標準- 低頻度アクセス (S3 Standard-IA) | アクセス頻度は低いが、必要な時に素早くデータを取り出したい場合にコストを抑えられます。データ取り出し時に料金が発生します。 |
| S3 One Zone-低頻度アクセス (S3 One Zone-IA) | データを1つのアベイラビリティーゾーン (AZ) にのみ保存することで、Standard-IAよりもさらに安価に利用できますが、可用性は低くなります。 |
| S3 Intelligent-Tiering | アクセスパターンが不明確なデータや変化するデータに最適です。アクセスパターンに基づいて4つのアクセス層間でデータを自動的に移動し、ストレージコストを最適化します。 |
| S3 Glacier | 低コストでセキュアな長期データ保存およびアーカイブサービスです。監査用データなど、業務では使用しないが長期間保管が必要なデータに適しています。データ取り出しに時間とコストがかかる点に注意が必要です。 |
| S3 Glacier Instant Retrieval | S3 Glacierの最新クラスで、アーカイブデータ向けに最も低コストでありながら、ミリ秒単位でデータを取り出せます。 |
| S3 Glacier Deep Archive | S3 Glacierの中で最も低コストなアーカイブストレージクラスで、数時間でデータを取り出すことが可能です。 |
| S3 Express One Zone | 単一AZ内での高パフォーマンスと1桁ミリ秒単位の一貫したデータアクセスを提供する、最もレイテンシーの影響を受けやすいアプリケーション向けのストレージクラスです。 |
強力なセキュリティ
S3は、デフォルトでバケットとオブジェクトはプライベートであり、アクセス許可を明示的に付与した場合にのみアクセスできます。
- S3 バケットとオブジェクトへのパブリックアクセスをブロック (S3 Block Public Access):デフォルトで有効化されており、意図しないパブリックアクセスを防ぎます。
- AWS Identity and Access Management (IAM):ユーザー、グループ、ロールに対して、S3リソースへのアクセスをきめ細かく制御できます。
- バケットポリシー:S3バケットと、その中のオブジェクトに対するリソースベースの許可をJSON形式で設定できます。
- アクセスコントロールリスト (ACL):個々のバケットやオブジェクトに対して読み書きの許可を付与できますが、一般的にはバケットポリシーやIAMポリシーの使用が推奨されます。
- サーバーサイド暗号化 (SSE):保存時のデータを保護するための暗号化オプションを提供します。S3がキーを管理するSSE-S3、AWS Key Management Service (KMS) がキーを管理するSSE-KMS、お客様がキーを提供するSSE-Cがあります。データ転送中の暗号化も可能です。
データ保護と可用性
- S3バージョニング:同じバケット内でオブジェクトの複数のバージョンを保持する機能で、誤って削除または上書きされたオブジェクトの復元に役立ちます。
- S3レプリケーション(クロスリージョンレプリケーションを含む):オブジェクトを同じまたは異なるAWSリージョンにある他のS3バケットに複製し、データの耐久性、可用性、災害対策を向上させます。
- データ整合性モデル:新しいオブジェクトのPUTとDELETE操作に関して、すべてのAWSリージョンで書き込み後読み取りの強力な整合性を提供します。
その他の活用機能
- 静的ウェブホスティング:S3バケットにHTMLファイルをアップロードすることで、静的なウェブサイトをホストできます。
- 署名付きURL:有効期限付きのURLを作成し、一時的にデータへのアクセスを許可できます。
- S3イベント通知:特定のS3イベント(オブジェクトの作成、更新、削除など)が発生した際に、AWS Lambda関数やAmazon SNS、Amazon SQSなどの他のAWSサービスをトリガーできます。
まとめ
S3は、単なるストレージサービスにとどまらず、データレイク、バックアップ、アーカイブ、ウェブホスティングなど、幅広いユースケースでAWSクラウド環境の基盤として利用されています。
参考資料
本記事は以下の公式資料を参照して作成しています。
公式資料
- Amazon S3 とは(ユーザーガイド) - AWS公式(基本概念・機能の根拠)
- Amazon S3 ストレージクラス - AWS公式(ストレージクラスの根拠)



