今回の問題のポイントを先に把握しましょう。
以下がポイントになります。
- 「自社が管理できる暗号化キー」
- 「最小限の運用管理」
- 「スケーラブルなキー管理」
- 「暗号化キーのローテーションを自動化」
- 「暗号化キー」
これらを意識し早速問題を見ていきましょう。
■ 問題
あなたはソリューションアーキテクトとして、オンプレミス環境にあるMySQLデータベースをAWSに移行する対応をしています。このデータベースでは暗号化を自社が管理できる暗号化キーを利用して実施することが求められています。その際は、最小限の運用管理で暗号化キーの管理をユーザー側で実施することが求められています。また、トラブルによって暗号化が実施できなくなることがないように、スケーラブルな暗号化キー管理の仕組みと、暗号化キーのローテーションを自動化する仕組みが必要です。
次の中で、要件を達成することができる最適なソリューションはどれでしょうか。
選択肢
- AWS Certificate Managerを使用して暗号化キーを保護して、暗号化キーの自動ローテーションを設定する。
- AWS KMSを使用して暗号化キーを保護して、暗号化キーの自動ローテーションを設定する。
- AWS CloudHSMを使用して暗号化キーを保護して、暗号化キーの自動ローテーションを設定する。
- AWS Secrets Managerを使用して暗号化キーを保護して、暗号化キーの自動ローテーションを設定する。
ここから先は正解と解説になります。
■ 正解
✅ AWS KMSを使用して暗号化キーを保護して、暗号化キーの自動ローテーションを設定する。
■ 構成イメージ(コードベース図)
オンプレミス
┌────────────────────┐
│ MySQL Database │
│(暗号化なし or 既存鍵)│
└────────┬─────────┘
│ データ移行
▼
AWS
┌──────────────────────────────┐
│ Amazon RDS for MySQL │
│ └─ データ暗号化 │
│ │ │
│ ▼ │
│ AWS KMS(CMK) │
│ ├─ カスタマー管理キー │
│ ├─ 自動ローテーション │
│ └─ 高可用・スケーラブル │
└──────────────────────────────┘■ 全体的な説明
✔ オプション2(正解)
AWS KMSを使用して暗号化キーを保護することで、スケーラブルな暗号化キーの管理を実現することができます。
AWS Key Management Service(KMS)は、
- 暗号化キーの作成・管理
- 自動ローテーション
- 高可用性(マネージド)
- IAM連携によるアクセス制御
を提供するサービスです。
👉 「自社管理 + 運用最小化 + 自動化」すべて満たす

■ 各サービスの役割の違い
KMS → 暗号化キー管理(今回の正解)
CloudHSM → 完全専有・高セキュリティ(運用重い)
ACM → SSL証明書管理
SecretsManager → パスワード管理■ 不正解の理由
❌ オプション1(ACM)
AWS Certificate ManagerはSSL証明書を発行・管理するサービスです。
👉 暗号化キーは管理できない
❌ オプション3(CloudHSM)
CloudHSMは専用HSMを利用した高セキュリティなキー管理サービスですが、
・運用はユーザー責任
・自動ローテーションなし
・コスト高
👉 「最小運用管理」に反する
❌ オプション4(Secrets Manager)
Secrets Managerは
・DBパスワード
・APIキー
などの「認証情報管理」👉 暗号化キー用途ではない
■ 試験ポイントまとめ
要件に出たら即判断・自社管理したい → KMS(CMK)
・運用最小 → マネージド
・自動ローテ → KMS
・超厳格セキュリティ → CloudHSM(ただし運用重い)
■ 一発で覚える
鍵の管理普通 → KMS
ガチ → CloudHSM
証明書 → ACM
パスワード → Secrets Manager
■ まとめ
暗号化キーを自社管理しつつ、スケーラブルかつ自動ローテーションを実現するにはAWS KMSが最適である。
この問題は
👉 「KMS vs CloudHSM vs Secrets vs ACM」
の役割の違いを理解しているかを問う超頻出問題です。
ここまで読んでいただき、ありがとうございます。もしこの記事の技術や考え方に少しでも興味を持っていただけたら、ネクストのエンジニアと気軽に話してみませんか。
- 選考ではありません
- 履歴書不要
- 技術の話が中心
- 所要時間30分程度
- オンラインOK