変更要約: 軸B網羅: 構築ブロック(コンピュート/DB/ストレージ/ネットワーク=s4、分析/ML/IoT/メディア/統合=s5)のカタログ節を追加
2.3データ層の選択と暗号化
適切なデータ層と保護——RDS/Aurora/DynamoDB/S3 ストレージクラスの選択、KMS による暗号化、Secrets Manager、保存時/転送時の暗号化——を理解します。要件に合うデータストアを安全に選びます。
データ層はアクセスパターンで選びます。関係データは RDS/Aurora、キー値・大規模低遅延は DynamoDB、オブジェクトは S3。すべて KMS で暗号化できます。
2.3.1データストアと暗号化
- RDS/Aurora:関係データ/トランザクション。マルチ AZ で HA、リードレプリカで読み取りスケール。
- DynamoDB:キー値・大規模低遅延。サーバーレス、グローバルテーブルでマルチリージョン。
- S3 ストレージクラス:アクセス頻度で Standard/Intelligent-Tiering/Glacier を使い分けコスト最適化。
- KMS/Secrets Manager:KMS で保存時暗号化(エンベロープ暗号化)、Secrets Manager で資格情報を管理・自動ローテーション。
「関係データ=RDS/Aurora」「キー値・超低遅延・サーバーレス=DynamoDB」「オブジェクト+階層化コスト最適化=S3 ストレージクラス(Intelligent-Tiering/Glacier)」「鍵管理/保存時暗号化=KMS」「DB パスワードの自動ローテーション=Secrets Manager」 は SAP-C02 で頻出です。アクセスパターンから逆算してストアを選ぶのが鉄則です。
アクセス頻度が読めないデータは S3 Intelligent-Tiering が自動で階層化しコストを最適化します。長期保管・めったにアクセスしないアーカイブは Glacier 系が安価です。
データストアはアクセスパターンから逆算します。関係/トランザクションは RDS/Aurora(Aurora は分散ストレージ・最大 15 の リードレプリカ・Global Database でクロスリージョン・Serverless v2)、キー値/超低遅延/サーバーレスは DynamoDB(パーティションキー 設計・オンデマンド/プロビジョンド・DAX でマイクロ秒・グローバルテーブル)、分析/DWHは Redshift、全文検索は OpenSearch、キャッシュは ElastiCache、オブジェクトは S3(クラス:Standard/Intelligent-Tiering/Standard-IA/One Zone-IA/Glacier Instant・Flexible・Deep Archive・ライフサイクルポリシーで自動移行)。保護は KMS(エンベロープ暗号化・CMK・自動キーローテーション・S3/EBS/RDS の SSE)と転送時 TLS、資格情報は Secrets Manager(自動ローテーション/設定は SSM パラメータストア)。アクセス制御は IAM/リソースポリシー/VPC エンドポイントポリシー、データ主権は リージョン選択。「読めないアクセスは Intelligent-Tiering」「アーカイブは Glacier」「マイクロ秒読み取りは DAX」「パスワード自動ローテは Secrets Manager」を要件から選びます。
| アクセスパターン | 選ぶストア | 要点 |
|---|---|---|
| 関係/トランザクション | RDS / Aurora | マルチAZ・リードレプリカ・Global DB |
| キー値・超低遅延 | DynamoDB(+DAX) | サーバーレス・グローバルテーブル |
| オブジェクト/大容量 | S3(クラス使い分け) | Intelligent-Tiering/Glacier |
| 分析/DWH | Redshift | 列指向・大規模集計 |
シナリオ: グローバルなゲームのプレイヤーデータを、1 桁ミリ秒(ホットデータはマイクロ秒)で複数リージョンから低遅延に読み書きしたい。→ DynamoDB(グローバルテーブルでマルチリージョン・アクティブ-アクティブ)を選び、超高速読み取りに DAX を前段配置。暗号化は KMS(保存時)+TLS(転送時)、アプリの DB 認証情報は Secrets Manager で自動ローテーションします。
FAQ: Q. KMS と Secrets Manager の違いは? → A. KMS は暗号鍵の管理/暗号化、Secrets Manager は資格情報(パスワード/接続文字列)の保管と自動ローテーション。Q. アクセス頻度が読めない S3 データは? → A. Intelligent-Tiering が自動階層化。決まった移行ルールがあるならライフサイクルポリシーで Glacier 系へ移します。
ひっかけ: 「資格情報の保管と自動ローテーションに KMS を使う」は誤りです。鍵管理/暗号化は KMS、資格情報の保管・自動ローテーションは Secrets Manager。また「超低遅延のキー値に RDS を選ぶ」も誤り(キー値・1 桁ms は DynamoDB、マイクロ秒は DAX)。
2.3.2この節のまとめ
- 選択=RDS/Aurora(関係)/DynamoDB(キー値)/S3(オブジェクト)
- 保護=KMS(暗号化)+Secrets Manager(資格情報ローテーション)
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. 1 桁ミリ秒の低遅延で、ほぼ無制限にスケールするキー値ストアを、サーバー管理なしで使いたい。何を選びますか?
Q2. アクセス頻度が予測できないオブジェクトデータのストレージコストを、運用負荷なく自動で最適化したい。S3 の何を使いますか?
Q3. データベースの認証情報をコードに埋め込まず、定期的に自動ローテーションして安全に管理したい。何を使いますか?

