セキュアなワークロードとアプリケーションを設計する
Amazon S3とは
Amazon S3(Simple Storage Service)は、AWSが提供するオブジェクトストレージサービスです。業界をリードする拡張性、データ可用性、セキュリティ、パフォーマンスを提供し、あらゆる規模や業界の企業が、Webサイト、モバイルアプリケーション、バックアップ、アーカイブ、エンタープライズアプリケーション、IoTデバイス、ビッグデータ分析など、さまざまなユースケースでデータを保存および保護するために使用しています。
S3の主な特徴
1. 高い耐久性と可用性
Amazon S3は、99.999999999%(イレブンナイン)の耐久性を提供します。これは、1000万個のオブジェクトを保存した場合、平均して10,000年に1つのオブジェクトが失われる可能性があることを意味します。データは自動的に複数のアベイラビリティゾーン(AZ)に複製されるため、高い可用性も実現されています。
耐久性: 99.999999999% (11 9's)
可用性: 99.99%(S3 Standard)
レプリケーション: 最低3つのAZに自動複製
2. スケーラビリティ
S3は事実上無制限のストレージ容量を提供します。保存できるオブジェクトの数に制限はなく、各オブジェクトは最大5TBまでのサイズに対応しています。容量の事前プロビジョニングは不要で、使用した分だけ料金を支払います。
3. セキュリティ
S3は多層的なセキュリティ機能を提供しています。
- バケットポリシーとIAMポリシーによるアクセス制御
- 保管時の暗号化(SSE-S3、SSE-KMS、SSE-C)
- 転送中の暗号化(SSL/TLS)
- バージョニング機能による誤削除からの保護
- MFA削除による追加のセキュリティ層
S3のストレージクラス
S3には、アクセス頻度やパフォーマンス要件に応じて選択できる複数のストレージクラスがあります。
| ストレージクラス | 用途 | アクセス頻度 |
|---|---|---|
| S3 Standard | 頻繁にアクセスされるデータ | 高頻度 |
| S3 Intelligent-Tiering | アクセスパターンが不明または変化するデータ | 可変 |
| S3 Standard-IA | 低頻度だが即座にアクセスが必要なデータ | 低頻度 |
| S3 One Zone-IA | 再作成可能な低頻度アクセスデータ | 低頻度 |
| S3 Glacier Instant Retrieval | アーカイブデータ(ミリ秒取得) | 極低頻度 |
| S3 Glacier Flexible Retrieval | 長期アーカイブ(分〜時間取得) | アーカイブ |
| S3 Glacier Deep Archive | 最安値の長期アーカイブ(12時間取得) | アーカイブ |
S3の主なユースケース
1. 静的Webサイトホスティング
S3は静的Webサイトのホスティングに最適です。HTML、CSS、JavaScriptファイルをS3に配置し、静的ウェブサイトホスティング機能を有効にすることで、高可用性で低コストなWebサイトを運用できます。
# S3バケットの作成
aws s3 mb s3://my-website-bucket
# ウェブサイトファイルのアップロード
aws s3 sync ./website-files s3://my-website-bucket
# 静的ウェブサイトホスティングの有効化
aws s3 website s3://my-website-bucket --index-document index.html
2. バックアップとアーカイブ
S3の高い耐久性により、重要なデータのバックアップ先として最適です。ライフサイクルポリシーを使用して、古いデータを自動的に低コストのストレージクラス(Glacierなど)に移行できます。
3. ビッグデータ分析
S3はデータレイク構築の基盤として広く使用されています。Amazon Athena、Amazon EMR、AWS Glueなどのサービスと組み合わせることで、S3に保存された大量のデータを直接分析できます。
S3の料金体系
S3の料金は主に以下の要素で構成されます。
- ストレージ料金: 保存するデータ量に基づく(GB/月)
- リクエスト料金: PUT、GET、DELETEなどのAPIリクエスト数に基づく
- データ転送料金: S3からインターネットへのデータ転送量に基づく
- 管理機能料金: S3 Inventory、Analytics、Object Taggingなどの使用料
注意点として、S3へのデータアップロード(PUT)は無料ですが、S3からのデータダウンロード(GET)は有料です。また、同じリージョン内のAWSサービス間のデータ転送は無料です。
まとめ
Amazon S3は、その高い耐久性、可用性、セキュリティ、そして柔軟な料金体系により、現代のクラウドアーキテクチャにおいて不可欠なサービスとなっています。静的Webサイトホスティングから大規模データレイクまで、幅広いユースケースに対応できる汎用性の高さが特徴です。
S3を効果的に活用するには、適切なストレージクラスの選択、ライフサイクルポリシーの設定、セキュリティベストプラクティスの実装が重要です。AWS認定試験でもS3は頻出トピックなので、しっかりと理解を深めましょう。
