AWS認定資格 WEB問題集&徹底解説
ソリューションアーキテクト-プロフェッショナル
AWSサービスの一つであるAmazon Simple Storage Service (Amazon S3)はどんな内容なのでしょうか?また、AWS認定資格のソリューションアーキテクト-プロフェッショナル(SAP)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います
1. サービス概要
Amazon Simple Storage Service (S3)は、インターネット規模で高い耐久性・可用性・スケーラビリティを提供するオブジェクトストレージサービスです。 任意のデータ(画像、動画、ログファイル、バックアップなど)を格納し、Web経由でアクセス可能。 事実上無制限のスケールアウト、99.999999999% (11ナイン)の耐久性、地域冗長を実現しています。
主なユースケースには、バックアップ・アーカイブ、静的ウェブサイトホスティング、ビッグデータ分析基盤のストレージ、メディア配信などがあります。
2. 主な特徴と機能
2.1 ストレージクラス
Amazon S3はアクセス頻度やデータ保持ポリシーに応じて複数のストレージクラスを提供します。
- S3 Standard: 頻繁アクセス向け、低遅延高スループット。
- S3 Intelligent-Tiering: アクセスパターンに応じて自動的に最適コスト層にデータを移動。
- S3 Standard-IA / S3 One Zone-IA: 低頻度アクセスデータ向け、取り出し頻度が少ないが即時アクセス必要な場合に最適。
- S3 Glacier / Glacier Deep Archive: アーカイブ用途。取り出しに数分~数時間かかるが、極めて低コスト。
2.2 バケットとオブジェクト
データは「バケット」と呼ばれるコンテナに格納されます。バケット内にオブジェクト(ファイル)を保存し、キー(パスのような文字列)でアクセスします。バケット名はグローバルユニークで、リージョン単位でデータが冗長化されます。
2.3 バージョニングとライフサイクル管理
バージョニングを有効にすることで、オブジェクト更新履歴を保持可能。 ライフサイクルポリシーを使うと、一定期間後にストレージクラスをより低コスト層へ自動移行したり、削除したりできます。
2.4 暗号化とセキュリティ
保存時暗号化(SSE-S3, SSE-KMS)、クライアント側暗号化、トランジット時のHTTPS利用など、総合的なセキュリティを提供。 アクセスコントロールにはIAMポリシー、バケットポリシー、ACL、S3 Access Pointなどの手法が活用できます。
2.5 イベント通知と統合
S3のオブジェクト操作(作成、削除)をトリガーに、Amazon SQS、SNS、AWS Lambdaへイベント通知可能。 データアクセスログ、サーバーアクセスログ、S3 Inventoryによる監査と可視化も可能。
3. アーキテクチャおよび技術要素
- クライアントがS3 APIやSDK、CLIを介してオブジェクトをPUT/GET。
- データは複数AZに冗長保存され高耐久性を確保。
- 必要に応じてバージョニング、レプリケーション(クロスリージョンレプリケーション)、ライフサイクルポリシーでデータ管理。
- アクセスはIAM、バケットポリシー、Access Pointsによって制御。
- 暗号化とログ機能でセキュリティとコンプライアンスニーズに対応。
完全マネージドで、大規模データ分の拡張も自動的に対応します。
4. セキュリティと認証・認可
- IAMポリシー: ユーザやロールに対してS3リソースへのアクセス権限を付与/制限。
- バケットポリシー: バケット単位でアクセス制御。特定IPアドレス制限やクロスアカウントアクセス許可など。
- アクセスコントロールリスト(ACL): より粗い粒度での権限設定(非推奨傾向)。
- SSE-S3 / SSE-KMS暗号化: SSE-S3はAWS管理キー、SSE-KMSは顧客管理キーで暗号化。
- VPCエンドポイント: パブリックインターネットを経由せずにVPCからS3へプライベート接続。
5. 料金形態
Amazon S3は主に以下に基づく従量課金モデルです:
- ストレージ使用量: GB/月単位で料金が発生。ストレージクラスにより単価は異なる。
- リクエスト数: PUT、GET、LISTリクエストなど、要求回数に応じて課金。
- データ転送料: リージョン外へのデータ転送時に別途料金発生。
- オプション機能: S3 Inventory、Replicasの転送、S3 Batch Operationsなどで追加コスト。
6. よくあるアーキテクチャ・設計パターン
- 静的ウェブホスティング: S3に静的ファイルを格納し、CloudFrontでCDN配信。
- ビッグデータ基盤: S3をデータレイクとして活用し、AthenaやEMR、Redshift Spectrumで解析。
- バックアップ・アーカイブ: 定期バックアップ、ライフサイクル管理による低コストアーカイブ。
- マルチリージョンレプリケーション: グローバル分散、災害対策でCRR(Cross-Region Replication)を利用。
7. 設定・デプロイ手順(ハンズオン例)
- S3コンソールで新規バケットを作成(バケット名、リージョン指定)。
- 暗号化設定やパブリックブロック設定などのオプションを選択。
- オブジェクトをアップロード(GUI、CLI、SDK)。
- 必要に応じてバケットポリシーやIAMポリシーでアクセス制御。
- ライフサイクルポリシーやバージョニング、イベント通知、Inventoryを有効化して管理性・コスト最適化を高める。
8. 試験で問われやすいポイント
8.1 ストレージクラス選択
- Q: 高頻度アクセスで低遅延が必要な場合は?
A: S3 Standard。 - Q: アクセス頻度が不明・変動する場合、コスト最適化は?
A: S3 Intelligent-Tiering。 - Q: 長期保管でコストを最小化し、アクセスはごく稀な場合?
A: S3 GlacierやGlacier Deep Archive。
8.2 アクセス制御とセキュリティ
- Q: パブリックアクセスを防ぐには?
A: バケットポリシーで拒否、パブリックアクセスブロック機能を有効化。 - Q: 暗号化するには?
A: SSE-S3、SSE-KMSを選択。KMSを用いる場合は鍵ポリシーも確認。
8.3 バージョニング・ライフサイクル・レプリケーション
- Q: 削除したオブジェクトを復元可能にする方法は?
A: バージョニング有効化。 - Q: 一定期間後に自動で低コスト層へ移行するには?
A: ライフサイクルルール設定。 - Q: 別リージョンに自動的にオブジェクトをコピー?
A: クロスリージョンレプリケーション(CRR)。
8.4 パフォーマンスと最適化
- Q: 高並行アクセスのボトルネック解消には?
A: プレフィックス分散。オブジェクトキー名にランダム化や日時ディレクトリで並列化。 - Q: 高速アップロード/ダウンロード?
A: S3 Transfer Accelerationを有効化。
8.5 イベント通知と他サービス統合
- Q: オブジェクトが追加されるたびにLambdaで処理?
A: S3イベント通知をLambdaに設定。 - Q: オブジェクトメタデータやアクセス権をまとめて取得?
A: S3 Inventoryで定期的にCSVレポート出力。
8.6 コスト管理
- Q: コスト削減には?
A: 不要なオブジェクト削除、低アクセスデータをIAやGlacierへ移行、ライフサイクル活用。
8.7 類似・関連サービスとの比較
- Q: EBSやEFSとS3の違いは?
A: S3はオブジェクトストレージ(HTTPアクセス)、EBSはブロックストレージ、EFSはNFSファイルシステム共有。
8.8 その他細かな試験ポイント
- S3 URL形式 (バケット名、リージョン名、オブジェクトキー)
- バケット名のグローバルユニーク性
- データ整合性モデル (PUT後のREADは即時整合性、DELETE後のREADは整合性遅延の場合有)