AWS Secrets ManagerとSystems Manager Parameter Storeの違いを徹底比較
概要
AWS環境で機密情報(パスワード、APIキー、認証トークンなど)を安全に管理するための代表的なサービスとして、AWS Secrets Manager と AWS Systems Manager Parameter Store(以下、SSM Parameter Store) があります。
これらは、AWS認定試験(SAA, SOA, DVA)でも頻出のテーマであり、システム設計や運用管理において必ず理解しておくべき重要なサービスです。
どちらも「設定値やシークレットの安全な保存と取得」を目的としていますが、用途や機能、コスト面で明確な違いがあります。
本記事では、両者の特徴を整理し、ユースケースを交えながら比較していきます。
🔐 AWS Secrets Managerの特徴
特徴①:自動ローテーション機能
Secrets Managerの最大の強みは、RDSやAuroraなどの認証情報を自動的にローテーション(更新)できることです。
Secrets Managerは内部的にAWS Lambdaを利用して認証情報を更新します。
テンプレートが用意されており、ユーザーが新規でLambdaを開発する必要はありません。
ユースケース
DBパスワードを定期的に自動更新したい場合
→ 手動更新による人的ミスを防ぎ、セキュリティポリシーを自動的に適用できます。
特徴②:バージョン管理とロールバック
Secrets Managerはシークレットのバージョンを自動で管理します。
必要に応じて**過去の値にロールバック(再指定)**することが可能です。
UI上で直接の「ロールバック」機能はありませんが、API経由で旧バージョンを再有効化できます。
ユースケース
シークレット更新に失敗した際、直前の状態に戻したい場合
→ アプリケーション停止を最小限に抑え、迅速に復旧可能です。
特徴③:監査・追跡が容易
Secrets ManagerはCloudTrailとの統合により、「誰が」「いつ」「どのシークレットを取得したか」を完全に追跡できます。
これにより、セキュリティ監査対応も容易になります。
ユースケース
アクセスログを厳密に管理する必要がある金融・医療システム
→ 機密情報のアクセス証跡を残すことで監査要件を満たせます。
特徴④:コストは高めだが機能も豊富
Secrets Managerは1シークレットあたり月額$0.40+API呼び出し課金が発生します。
しかし、自動ローテーションや監査性の高さを考慮すると、高機密情報向けの運用コストとして妥当です。
⚙️ AWS Systems Manager Parameter Storeの特徴
特徴①:構成情報の集中管理
Parameter Storeは、アプリケーションの設定値や構成情報を階層的に整理・管理できます。
例:/prod/db/password や /staging/api/endpoint
ユースケース
複数環境(dev, staging, prod)で設定を統一管理したい場合
→ 環境ごとに異なる設定を階層で整理し、運用の見通しを良くできます。
特徴②:暗号化も可能(SecureString)
Parameter Storeでは、KMSを使ってパラメータを暗号化(SecureString) として保存できます。
AWS管理キー(aws/ssm)を利用する場合は追加コストが発生せず、Secrets Managerと同等のセキュリティを確保可能です。
一方、カスタマー管理キー(CMK)を利用する場合は、KMSのリクエスト課金が適用されます。
ユースケース
アプリケーションのAPIキーやパスワードを安全に保存したい場合(頻繁な更新不要)
→ 暗号化しても追加コストが発生しないため、低コスト運用に最適です。
特徴③:AWSサービスとの統合性が高い
Parameter Storeは、AWS CLI・CloudFormation・Lambda・EC2など多くのサービスで標準サポートされています。
特別なSDKを使わずに値を取得でき、Infrastructure as Codeとの親和性も高いです。
ユースケース
Lambda関数やEC2インスタンスから環境変数的に設定値を参照したい場合
→ 運用負荷を減らし、デプロイ時の設定管理を簡素化できます。
特徴④:コストを抑えたい場合に最適
Parameter Storeは標準パラメータ(Standard Parameter)なら無料で利用可能です。
ただし、Advancedパラメータを使用する場合は、$0.05/パラメータ/月 の課金が発生します。
高度なパラメータでは、TTL(有効期限)設定や最大100KBの値サイズが利用可能です。
ユースケース
多くの設定値を一元管理したいが、コストは最小限にしたい場合
→ 数百〜数千のパラメータを扱う場合でもコストを抑えられます。
💰 コスト比較(参考)
| 項目 | Secrets Manager | Parameter Store |
|---|---|---|
| 基本料金 | $0.40/secret/月 | 無料(標準) / $0.05/パラメータ/月(高度) |
| API呼び出し | $0.05/1,000回 | 無料(標準) / $0.05/10,000回(高度) |
| 自動ローテーション | あり(追加費用あり) | なし |
| 暗号化 | デフォルト有効(KMS) | 任意(KMSオプション、CMKは課金) |
🧩 まとめ:どう使い分けるべきか
AWS Secrets ManagerとSystems Manager Parameter Storeの使い分けを整理すると次のようになります。
- 自動ローテーションが必要 → Secrets Manager
- 設定値の一元管理や低コスト重視 → Parameter Store
- 高機密情報の厳密なアクセス管理 → Secrets Manager
- 大量の設定を階層的に管理 → Parameter Store
以下のフローチャートで、どちらを使うべきかを簡単に判断できます👇
Discussion