AWS SAA-C03 S3で落ちない要点20|暗号化・ポリシー・ライフサイクル・レプリケーション完全整理

AWS
  1. まずここで事故らない
    1. S3の最小前提
    2. 「耐久性」と「可用性」は別モノ
    3. S3で頻出の出題テーマ
    4. S3で落ちない要点20
  2. 暗号化で落ちない(SSE-S3 / SSE-KMS / SSE-C+キー管理)
    1. 要点1:SSEの種類を一言で言えるようにする
    2. 要点2:SSE-KMSは“権限セット”で出る
    3. 要点3:バケットポリシーで「暗号化必須」を強制できる
    4. 要点4:転送時暗号化(HTTPS)を強制する鉄板
    5. 要点5:KMSコスト対策に Bucket Key が出る
  3. ポリシーで落ちない(IAM / バケットポリシー / ACL / ブロックパブリック / 所有権)
    1. 要点6:IAMは主体(誰)、バケットポリシーは資源
    2. 要点7:Block Public Accessは最後の砦
    3. 要点8:ACLは原則使わない
    4. 要点9:Object Ownership(Bucket owner enforced)で所有権の罠を回避
    5. 要点10:条件キーを使い分ける
    6. 要点11:S3 Access Points
    7. 要点12:静的Webホスティングは“要件で選ぶ”
  4. ライフサイクルで落ちない(Versioning / ストレージクラス / 削除 / 保持)
    1. 要点13:ストレージクラスは“頻度と復元要件”で選ぶ
    2. 要点14:ライフサイクルは3点セット
    3. 要点15:Versioningは事故対策(上書き/削除)で頻出
    4. 要点16:Object Lock(WORM)は規制・監査で出る
    5. 要点17:Inventory・イベント通知は運用シナリオで刺さる
  5. レプリケーションで落ちない(CRR/SRR+KMS+運用・監査)
    1. 要点18:CRR/SRRはVersioning必須
    2. 要点19:レプリケーション+SSE-KMSはKMS権限で詰む
    3. 要点20:DR要件(RPO/RTO)に対してS3単体で何ができるか
    4. 監査・可視化:何を使う?
  6. 仕上げ:S3で落ちない要点20チェックリスト
    1. 暗号化
    2. アクセス制御
    3. 管理・最適化
    4. レプリケーション
  7. Udemyでの学習
  8. まとめ

まずここで事故らない

SAA-C03のS3は「知っているつもり」で落ちやすい分野です。理由はシンプルで、設定項目が多いのに、試験では“要件に合う最小構成”を選ばされるから。
この記事では、S3で頻出の論点を要点20に圧縮し、暗号化・ポリシー・ライフサイクル・レプリケーションを軸に「落ちない判断基準」を作ります。

S3の最小前提

  • バケット:入れ物(リージョンに属する)
  • オブジェクト:データ本体+メタデータ
  • キー(Key):オブジェクトのパスのように見える識別子(実体はフラット)

「耐久性」と「可用性」は別モノ

  • 耐久性:データが消えない確率(設計思想)
  • 可用性:利用できる時間の割合(サービス提供の安定度)
    試験では「99.999999999% durability」などの数字よりも、要件が“消えない”なのか“止まらない”なのかを見ます。

S3で頻出の出題テーマ

  1. アクセス制御:IAM / バケットポリシー / Block Public Access / 所有権
  2. 暗号化:SSE-S3 / SSE-KMS / SSE-C / 転送時暗号化
  3. データ管理:Versioning / ライフサイクル / ストレージクラス / Object Lock
  4. 複製・DR:CRR/SRR / KMS / 所有者 / レプリケーション範囲

ここからは、試験対策として覚えるべき「要点20」をブロックごとに潰していきます。まずは全体の地図として、この記事の要点を先に提示します。

S3で落ちない要点20

暗号化(1〜5)
1. SSE-S3 / SSE-KMS / SSE-Cの違いを言語化できる
2. SSE-KMSは「KMS権限(キー/ポリシー)」がセットで問われる
3. バケットポリシーで「暗号化必須」を強制できる
4. 転送時暗号化は aws:SecureTransport 条件で強制が鉄板
5. KMSコスト対策に Bucket Key が出ることがある

ポリシー・アクセス制御(6〜12)
6. IAMは“主体(誰)”、バケットポリシーは“資源(どこ)”を軸に考える
7. Block Public Accessは「公開事故を止める最後の砦」
8. ACLは原則避ける(出るのはクロスアカウントの古い設計や例外)
9. Object Ownership(Bucket owner enforced)で所有権の罠を回避
10. 条件キー(IP制限/VPCエンドポイント/HTTPS強制)を使い分け
11. S3 Access Pointsは大規模権限設計で強い(試験でも出る)
12. 静的Webホスティングは「公開=危険」ではなく“要件次第”で設計

ライフサイクル・管理(13〜17)
13. ストレージクラスは“頻度と復元要件”で選ぶ
14. ライフサイクルは「移行」「期限切れ」「非現行バージョン」が軸
15. Versioningは事故対策(上書き/削除)で頻出
16. Object Lock(WORM)は規制・監査要件で出る
17. Inventory/イベント通知は運用系のシナリオで刺さる

レプリケーション・DR(18〜20)
18. CRR/SRRはVersioning必須+条件あり(削除含む範囲に注意)
19. レプリケーション+SSE-KMSはKMS権限不足で詰みやすい
20. DR要件(RPO/RTO)に対してS3単体で何ができるか判断する

暗号化で落ちない(SSE-S3 / SSE-KMS / SSE-C+キー管理)

S3の暗号化は、問題文で「暗号化が必要」と書いてあっても**“どの暗号化か”で答えが変わる**のが罠です。試験で迷ったら、次の順で要件を分解します。

要点1:SSEの種類を一言で言えるようにする

  • SSE-S3:S3管理の鍵(最も手軽、追加のKMS設計不要)
  • SSE-KMS:KMS管理の鍵(監査/鍵ローテ/権限制御が強い、試験頻出)
  • SSE-C:顧客提供鍵(ユーザーが鍵を毎回提供、運用が重く試験では“要件が強いとき”に登場)

試験の判断軸

  • 監査証跡」「鍵の管理を自社で」「キーの無効化/ローテ」→ SSE-KMS寄り
  • とにかく簡単に暗号化」→ SSE-S3
  • 鍵をAWSに保存させない」→ SSE-C(ただし運用負荷が高い)

要点2:SSE-KMSは“権限セット”で出る

SSE-KMSにすると、IAMだけでなく KMSキー側の権限(Key policy) が絡みます。
試験のありがちな落とし穴はこれです。

  • バケットへのPutObjectは許可しているのに、KMS:Encrypt / GenerateDataKey が足りず失敗
  • レプリケーション先で KMSキーが別 → 送信側/受信側で権限が噛み合わない

覚え方はシンプル:
S3に書ける権限 + KMSで暗号化できる権限 = SSE-KMSが動く

要点3:バケットポリシーで「暗号化必須」を強制できる

「S3に保存するデータは必ず暗号化されている必要がある」系は頻出です。
このとき、**“設定で暗号化をON”**だけだと「ユーザーが暗号化せずにPUTしたら?」が残ります。
試験が求めるのは、ポリシーで強制です。

例(考え方):

  • s3:x-amz-server-side-encryption ヘッダが無いPUTを Deny
  • SSE-KMS必須なら aws:kms を要求する(SSE-S3ではなくKMSを強制)

※記事なのでコードは省略しますが、「Denyで強制」という考え方がポイントです。

要点4:転送時暗号化(HTTPS)を強制する鉄板

「転送中も暗号化(in transit)」は、S3では HTTPS(TLS) を強制するのが定番。
頻出の条件キーが aws:SecureTransport です。

  • aws:SecureTransport = falseDeny
    → HTTPアクセスを拒否できる

要点5:KMSコスト対策に Bucket Key が出る

細かいですが、問題文に「KMSコストを下げたい」や「大量PUTでKMS呼び出しが増える」が出たら S3 Bucket Key を疑います。
Bucket Key は、S3側でデータキーの利用を最適化して KMSリクエスト回数を抑える方向の機能です(“KMSを使う”前提の話)。

ポリシーで落ちない(IAM / バケットポリシー / ACL / ブロックパブリック / 所有権)

S3のアクセス制御は、試験の中でも特に“ひっかけ密度”が高いです。
ここは丸暗記ではなく、**「誰を制御したい?」「どのバケットを制御したい?」**の2軸で整理すると落ちにくくなります。

要点6:IAMは主体(誰)、バケットポリシーは資源

  • IAMポリシー:ユーザー/ロール/グループに付ける → “この人に何をさせる”
  • バケットポリシー:バケットに付ける → “このバケットに誰が何できる”

試験での使い分け例

  • 「特定のアプリロールだけこのバケットにPUTできる」→ IAMでも可、バケットでも可
  • クロスアカウントでアクセスさせたい」→ バケットポリシーが出やすい
  • 「複数バケットにまたがる権限」→ IAMでまとめたくなる

要点7:Block Public Accessは最後の砦

S3公開事故の対策として Block Public Access は超頻出。
ポイントは「バケットポリシーで公開していても、Blockが有効なら止まる」ケースがあること。
問題文が「誤設定で公開されたくない」「会社の標準で公開禁止」と言うなら、Block Public Access を強めに疑います。

要点8:ACLは原則使わない

最近の設計ではACLは避けがちですが、試験では以下のような“歴史的/例外的”文脈で出ます。

  • 他アカウントからログを配信してもらう古いパターン
  • 所有権がズレて読み出せない → ACL/所有権の話になる

とはいえ結論はだいたいこれ:
**「ACLで頑張る」より「Object Ownershipで所有権問題を潰す」**が正解になりやすいです。

要点9:Object Ownership(Bucket owner enforced)で所有権の罠を回避

クロスアカウントでオブジェクト所有者が書き込み側になると、バケット所有者が扱いにくくなります。
この罠を避けるために、Object Ownership(Bucket owner enforced) を使う設計が頻出です。
(ACLを無効化し、バケット所有者がオブジェクトを所有する方向)

要点10:条件キーを使い分ける

SAA-C03でよく見る条件パターン:

  • HTTPS強制aws:SecureTransport
  • IP制限:送信元IPで許可/拒否(オフィス固定IPなど)
  • VPCエンドポイント経由に限定:VPC Endpoint条件(インターネットを通さない要件)
  • 特定のプレフィックスのみ許可:パス(キー)で制御して“部署ごと”を表現

要点11:S3 Access Points

「部署ごとにアクセスを分けたい」「同一バケットに対して複数アプリがそれぞれ別の制御」
この条件が出たら S3 Access Points が正答になりやすいです。
バケットポリシーを1枚に肥大化させず、アクセスポイントごとにポリシーを分割できます。

要点12:静的Webホスティングは“要件で選ぶ”

静的Webホスティング(S3 Website)は「簡単に公開」できますが、HTTPSや認証の要件があると、CloudFrontを前段に置く設計が出ます。
試験でよくある分岐:

  • 「世界中に高速配信」「HTTPS」「WAF」→ CloudFront + S3
  • 「とにかく簡易な静的サイト」→ S3 Website(ただし公開範囲に注意)

ライフサイクルで落ちない(Versioning / ストレージクラス / 削除 / 保持)

ライフサイクルは「コスト最適化」だけでなく、「保持」「監査」「復元時間」が絡んできます。
問題文のキーワードで、答えがガラッと変わるので注意です。

要点13:ストレージクラスは“頻度と復元要件”で選ぶ

代表的な判断軸だけ押さえればOKです。

  • Standard:頻繁アクセス
  • Standard-IA:たまにアクセス、取り出し料金あり
  • One Zone-IA:1AZで良い(安いがAZ障害耐性は下がる)
  • Intelligent-Tiering:アクセス頻度が読めない(自動階層化)
  • Glacier系(Instant/Flexible/Deep Archive):長期保管、復元要件により選択

試験のコツ:
数年保管」「監査でたまに取り出す」「復元は数時間でもOK」などの条件が、Glacier系を指します。

要点14:ライフサイクルは3点セット

ライフサイクルルールは、問題で混ぜてきます。

  • 移行(Transition):一定日数後にIAやGlacierへ
  • 期限切れ(Expiration):一定日数後に削除
  • 非現行バージョン(Noncurrent):Versioning有効時の古い版の扱い

「Versioning有効」なのに「削除したのに容量が減らない」
→ 非現行バージョンの期限切れを設定していない、という“あるある”が試験に出ます。

要点15:Versioningは事故対策(上書き/削除)で頻出

  • 誤上書き
  • 誤削除
  • ランサムウェア対策(文脈として)

これらが出たら、まず Versioning
さらに強い要件として「削除も簡単にできないように」→ MFA Delete(ただし運用負荷あり)や Object Lock に繋がります。

要点16:Object Lock(WORM)は規制・監査で出る

「改ざん不可」「一定期間は削除不可」「法令で保持」
こういう要件は WORM(Write Once Read Many) の世界で、S3なら Object Lock が候補になります。
モード(Compliance/Governance)の概念もありますが、試験的には「削除できない要件ならObject Lock」をまず出せればOKです。

要点17:Inventory・イベント通知は運用シナリオで刺さる

  • 「バケット内オブジェクトの一覧が欲しい」「メタデータを定期的に棚卸し」→ S3 Inventory
  • 「PUTされたらLambdaで処理」「アップロードをトリガにETL」→ イベント通知(Event Notification)

単発暗記より、“要件→機能”で繋げると強いです。

レプリケーションで落ちない(CRR/SRR+KMS+運用・監査)

レプリケーションは「設定項目が多い」上に、暗号化・所有権・削除の扱いまで絡むので、S3の中でも難所です。
ただし、試験の“よくある形”は決まっています。

要点18:CRR/SRRはVersioning必須

  • CRR(Cross-Region Replication):別リージョンへ複製
  • SRR(Same-Region Replication):同一リージョン内で複製

どちらも基本として Versioningが必要
問題文が「レプリケーションしたい」なら、選択肢にVersioningが含まれているかを必ず確認します。

また、レプリケーションの“範囲”も注意:

  • 既存オブジェクトは自動では複製されない(条件や設定次第)
  • 削除マーカーや削除の伝播は設計/設定に依存する

試験はここを曖昧にして「最も適切なもの」を選ばせます。

要点19:レプリケーション+SSE-KMSはKMS権限で詰む

CRR/SRRでSSE-KMSを使うと、暗号化の章で触れたとおり KMS権限が両側で必要になります。
ありがちな失敗パターン:

  • 複製先バケットへの権限はあるが、複製先KMSキーに権限がない
  • レプリケーションロールにKMS権限が足りない

試験対策の合言葉:
「S3の権限」+「KMSの権限」+「複製ロール」

要点20:DR要件(RPO/RTO)に対してS3単体で何ができるか

DR(災害対策)系のシナリオでは、RPO/RTOが匂わされます。

  • 「リージョン障害でもデータを失いたくない」→ CRRを疑う
  • 「同一リージョン内でコピーが必要」→ SRR
  • 「読み取り遅延なく別リージョンで使う」→ アプリ側の設計も含めて検討(S3だけでは完結しない場合もある)

監査・可視化:何を使う?

運用・監査系の頻出もまとめておきます。

  • CloudTrail:API操作(誰がPut/Deleteしたか)
  • S3サーバアクセスログ:アクセスログ(要件次第で出る)
  • S3 Storage Lens:利用状況や最適化の可視化(組織全体の把握)

仕上げ:S3で落ちない要点20チェックリスト

SAA-C03本番直前に必ず確認したい、S3の“落とし穴回避チェックリスト”です。
暗号化・ポリシー・ライフサイクル・レプリケーションの頻出論点を20項目に集約しているので、「何となく理解」を「確実に選べる判断基準」に仕上げる最終確認として使ってください。

暗号化

  • SSE-S3 / SSE-KMS / SSE-C の違いを説明できる(要点1)
  • SSE-KMSはKMS権限が別途必要(要点2)
  • ポリシーで暗号化必須を“Deny”で強制(要点3)
  • aws:SecureTransport でHTTPS強制(要点4)
  • KMSコスト最適化のBucket Keyを思い出せる(要点5)

アクセス制御

  • IAM(主体)とバケットポリシー(資源)の使い分け(要点6)
  • Block Public Accessの役割と優先度(要点7)
  • ACLは原則避け、例外を説明できる(要点8)
  • Object Ownershipで所有権トラブルを防ぐ(要点9)
  • 条件キー(IP/VPCE/HTTPS/Prefix)を使い分け(要点10)
  • Access Pointsのユースケース(要点11)
  • 静的サイトはCloudFront併用が頻出(要点12)

管理・最適化

  • ストレージクラスを頻度/復元要件で選ぶ(要点13)
  • ライフサイクル:移行/期限切れ/非現行(要点14)
  • Versioningの目的(誤削除/誤上書き)を言える(要点15)
  • Object Lock(WORM)の要件を判断できる(要点16)
  • Inventory/イベント通知の使いどころ(要点17)

レプリケーション

  • CRR/SRRはVersioning必須(要点18)
  • SSE-KMS併用時のKMS権限不足に注意(要点19)
  • DR要件に合わせてCRR/SRRを選ぶ(要点20)

Udemyでの学習

S3は、用語暗記だけだと「ポリシー条件」や「KMS権限の絡み」を本番で取り違えがちです。一度でもコンソールで設定して詰まった経験が、そのまま得点力になります。

Udemyで選ぶときの基準はこの3つがおすすめです。

  • SAA-C03対策として“ハンズオン”が多い(S3/CloudFront/KMS/IAMを触る)
  • 模試が付いていて、解説で選択肢の切り捨て理由が書かれている
  • S3のセキュリティ(ポリシー/暗号化)に時間を割いている

SAA-C03対策で評価の高いUdemy講座をまとめて確認できます。👇

まとめ

SAA-C03のS3は、暗号化・ポリシー・ライフサイクル・レプリケーションが絡み合うため、ふわっと理解していると落とし穴にハマりやすい分野です。

対策のコツは、S3の論点を「要点20」に絞り、**①暗号化(SSEの選択+KMS権限+HTTPS強制)→②アクセス制御(IAM/バケットポリシー/Block Public Access/所有権)→③データ管理(Versioning/ライフサイクル/ストレージクラス/Object Lock)→④レプリケーション(CRR/SRR+KMS+範囲)**の順で、要件から逆算できる判断軸を作ることです。

最後はUdemyなどで一度ハンズオンを回し、ポリシー条件やKMS権限の“詰まりどころ”を体験しておくと、本番で迷う時間が一気に減ります。S3は「設定できる=選べる」なので、この記事のチェックリストを使って弱点を潰し、確実に得点源にしていきましょう。

タイトルとURLをコピーしました