Amazon S3は何をするサービスか
Amazon S3(Amazon Simple Storage Service)は、AWSの代表的なオブジェクトストレージです。画像、バックアップ、ログ、配布ファイル、アーカイブデータなどを保存できます。AWS Certified Cloud Practitionerでは、S3そのものの役割だけでなく、どのストレージクラスを選ぶべきか、どう暗号化するか、どう公開・非公開を制御するかが問われやすいポイントです。
まず用語を短く整理します。
- バケット:オブジェクトを入れる入れ物
- オブジェクト:保存するデータ本体。ファイルのように見えるが、S3では「オブジェクト」と呼ぶ
- キー:オブジェクト名。フォルダのように見える階層も、実体はキー名の文字列で表現される
たとえば、photos/2026/travel.jpg というデータがある場合、photos/2026/ は見た目上フォルダに見えますが、S3ではキー名の一部です。この「S3はファイルサーバーではなくオブジェクトストレージである」という理解が、試験対策でも重要です。
試験で押さえるべきS3の全体像
Cloud Practitioner試験では、S3について細かな実装よりも、次の3点を整理しておくと得点しやすくなります。
- 保存用途に応じてストレージクラスを選べる
- 保存時の暗号化を選べる
- アクセス権限や公開設定を制御できる
この3つを順番に見ていきます。
ストレージクラスとは何か
ストレージクラスは、S3に保存するデータのアクセス頻度や復元速度、コストに応じて選ぶ保管方式です。簡単に言えば、よく使うデータは取り出しやすい代わりに高め、めったに使わないデータは安い代わりに制約が増える、という考え方です。
| ストレージクラス | 向いている用途 | 取り出しやすさ | 初心者向けの覚え方 |
|---|---|---|---|
| S3 Standard | 頻繁にアクセスするデータ | すぐ取り出せる | 迷ったら最初の候補 |
| S3 Standard-IA | あまり読まないが、必要時はすぐ取り出したいデータ | すぐ取り出せる | たまに使うデータ向け |
| S3 One Zone-IA | 再作成可能で、さらに安く保存したいデータ | すぐ取り出せる | 1つのAZのみなので安いが注意が必要 |
| S3 Intelligent-Tiering | アクセス頻度が読みにくいデータ | 自動で最適化 | 迷うなら自動最適化という発想 |
| S3 Glacier Instant Retrieval | 長期保存だが即時取り出しも必要なデータ | すぐ取り出せる | Glacier系だが即時取得できる |
| S3 Glacier Flexible Retrieval | 長期保存。取り出し時に待てるデータ | 復元が必要 | 安いが即時アクセス向きではない |
| S3 Glacier Deep Archive | ほとんど参照しない超長期保管 | 復元に長時間かかる | 最安クラスの1つ |
各ストレージクラスを初心者向けに例で理解する
S3 Standard
最も基本的なクラスです。Webサイトの画像、配布ファイル、アプリが日常的に読むデータなど、頻繁にアクセスされるものに向いています。
たとえば、ブログの画像や、アプリのダウンロードファイルを毎日多くのユーザーが読むなら、まずS3 Standardを考えるのが自然です。
S3 Standard-IA
IAは Infrequent Access の略で、アクセス頻度は低いが、必要なときにはすぐ読みたいデータに向いています。バックアップや障害対策用コピーなどが典型例です。
ただし、Standard-IAは保存料金が安い代わりに、取り出し時のコストや最小保管期間に注意が必要です。試験では「安いから何でもIAにすればよい」という考え方は誤りになりやすいです。
S3 One Zone-IA
One Zone-IAは、1つのアベイラビリティーゾーン(AZ)に保存することでコストを下げるクラスです。再生成できるデータや、失われても別の場所から復旧できるデータに向いています。
たとえば、元データから再作成できる一時ファイルや、中間生成物などです。逆に、唯一のバックアップ保存先として使うのは不適切です。
S3 Intelligent-Tiering
アクセス頻度が読みにくい場合に便利なのがS3 Intelligent-Tieringです。S3がアクセス状況を監視し、オブジェクトを自動的にコスト効率のよい階層へ移動します。
たとえば、最初の1か月だけよく読まれ、その後ほとんど参照されない資料置き場などでは、最初からこのクラスを選ぶと運用が楽になります。
試験では、アクセスパターンが予測しづらいという条件が出たら、有力候補になります。
Glacier系(アーカイブ向け)
Glacier系は、長期保存向けのクラスです。共通イメージは、保管コストは安いが、即時利用を前提にしないことです。
- S3 Glacier Instant Retrieval:長期保存向けだが、取り出しは即時にしたい
- S3 Glacier Flexible Retrieval:復元時間を許容できる長期保管向け
- S3 Glacier Deep Archive:法令保管や履歴保存など、めったに取り出さない超長期保管向け
たとえば、数年保存義務がある監査ログや、ほとんど読むことのない過去データはGlacier系が候補になります。試験では、最安、長期保管、復元に時間がかかってよいといった表現が出たら、Glacier系を考えると整理しやすいです。
ストレージクラスの選び方を1分で整理する
- 頻繁に読む → S3 Standard
- たまに読むがすぐ必要 → S3 Standard-IA
- 再作成できるのでさらに安くしたい → S3 One Zone-IA
- アクセス頻度が読めない → S3 Intelligent-Tiering
- 長期保存で即時取得もしたい → S3 Glacier Instant Retrieval
- 長期保存で復元待ちできる → S3 Glacier Flexible Retrieval
- 最安重視の超長期保管 → S3 Glacier Deep Archive
ライフサイクル管理とは何か
S3では、ライフサイクルルールを使って、オブジェクトを時間経過に応じて自動で別クラスへ移したり、削除したりできます。
たとえば次のような流れです。
- 最初の30日間は S3 Standard で保存
- 30日後に S3 Standard-IA へ移行
- 90日後に S3 Glacier Flexible Retrieval へ移行
- 1年後に削除
これは試験でもよくある考え方で、最初は使うが、時間がたつほどアクセス頻度が下がるデータに向いています。ログ、バックアップ、定期レポートなどが典型です。
S3の暗号化を初心者向けに整理する
S3では、保存時の暗号化を選べます。Cloud Practitionerでは、誰が鍵を管理するかで整理すると覚えやすいです。
| 方式 | 鍵を管理する主体 | 初心者向けの理解 |
|---|---|---|
| SSE-S3 | Amazon S3 | 最も基本。S3側が鍵を管理 |
| SSE-KMS | AWS KMS | 鍵管理や監査をより細かく制御したいときに使う |
| SSE-C | 利用者 | 利用者が鍵を提供して暗号化する |
SSE-S3
SSE-S3は、Amazon S3が管理する鍵で暗号化する方式です。現在は、S3バケットにアップロードされる新しいオブジェクトは、保存時に自動的に暗号化されます。初学者はまず、「S3はデフォルトで保存時暗号化される」ことを押さえるとよいです。
SSE-KMS
SSE-KMSは、AWS Key Management Service(AWS KMS)を使う方式です。たとえば、どのユーザーやロールが鍵を使えるか、鍵の利用を監査したいといった要求がある場合に向いています。
試験では、より細かな鍵管理や監査性がキーワードになったら、SSE-KMSを考えると整理しやすいです。
SSE-C
SSE-Cは、利用者が暗号化キーをS3へリクエストごとに提供する方式です。概念としては理解しておく価値がありますが、Cloud Practitionerでは、まずSSE-S3とSSE-KMSの違いを確実に押さえるほうが優先度は高いです。
アクセスコントロール:ACL、バケットポリシー、パブリックアクセスブロック
S3で初心者が混同しやすいのが、アクセス制御です。重要なのは、今の基本はACLよりポリシーベース管理だということです。
ACL
ACL(Access Control List)は、昔からあるアクセス制御方法です。オブジェクト単位・バケット単位で権限を持たせられますが、現在は多くのケースでACLを使わず、ポリシーで管理する構成が推奨されます。
バケットポリシー
バケットポリシーは、JSON形式でバケットに対するアクセス許可を定義する方法です。たとえば、特定のAWSアカウントだけ許可する、特定のIPからだけ許可するといった制御が可能です。
パブリックアクセスブロック
S3には、誤ってバケットやオブジェクトを公開してしまう事故を防ぐために、Block Public Access(パブリックアクセスブロック)があります。これは、公開を防ぐための安全装置と考えると理解しやすいです。
試験では、次のように整理すると分かりやすくなります。
- 公開事故を防ぎたい → パブリックアクセスブロック
- 誰に何を許可するかを定義したい → バケットポリシー
- 古い仕組みとして知っておく → ACL
また、S3 Object Ownershipでは、Bucket owner enforced によりACLを無効化する運用が一般的です。試験でも、ACLを無効化し、ポリシー中心で管理する考え方は押さえておきたいポイントです。
初心者が混同しやすいポイント
「安いクラスが最強」ではない
安いクラスほど、復元待ちや最小保管期間、取り出しコストなどの制約が増えることがあります。試験では、単純な価格比較ではなく、利用パターンに合うかが重要です。
「Glacier = 何でも即時に使える」ではない
Glacier系は長期保存向けです。特に Flexible Retrieval や Deep Archive は、復元時間を許容できる前提で使います。アプリが常時読むデータには普通は向きません。
「暗号化 = すべて同じ」ではない
暗号化方式の違いは、主に鍵を誰が管理するかにあります。問題文に「監査」「細かな制御」「KMSキー」といった表現があれば、SSE-KMSが候補になります。
「公開設定はポリシーだけ見ればよい」ではない
実際には、ACLやバケットポリシーの設定に加えて、パブリックアクセスブロックの設定も確認する必要があります。試験問題でも、「なぜ公開されないのか」「なぜ公開されてしまうのか」を問う形で出ることがあります。
試験直前用の覚え方
- S3はオブジェクトストレージ
- よく使うなら S3 Standard
- たまに使うなら Standard-IA
- アクセス頻度が読めないなら Intelligent-Tiering
- 長期保管なら Glacier系
- 暗号化の基本は SSE-S3
- 鍵管理を強めるなら SSE-KMS
- 公開事故防止は Block Public Access
- 権限管理は今は ACLよりポリシー中心
- 古いデータを安いクラスへ自動移行するのが ライフサイクル
まとめ
Amazon S3は、Cloud Practitionerで非常に重要なストレージサービスです。試験対策としては、単に「保存できるサービス」と覚えるのではなく、どのデータにどのストレージクラスを選ぶか、どう暗号化するか、どう公開を制御するかまでセットで理解することが大切です。
特に、次の3つを押さえると問題文を読みやすくなります。
- アクセス頻度でストレージクラスを選ぶ
- 鍵管理の違いで暗号化方式を選ぶ
- 公開防止と権限管理を分けて考える
この3点が整理できると、S3に関する選択問題はかなり解きやすくなります。
参考資料(AWS公式)
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/intelligent-tiering.html
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/glacier-storage-classes.html
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/restoring-objects-retrieval-options.html
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html
- https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/UsingServerSideEncryption.html
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
- https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/specifying-s3-c-encryption.html
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
- https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/access-control-block-public-access.html
- https://aws.amazon.com/jp/certification/certified-cloud-practitioner/
- https://docs.aws.amazon.com/pdfs/aws-certification/latest/cloud-practitioner-02/cloud-practitioner-02.pdf
