AWS Systems Manager Parameter Store で管理する設定と秘密情報 - 階層構造と暗号化
Parameter Store による設定値と秘密情報の管理、階層構造の設計、Secrets Manager との使い分けを解説します。
Parameter Store の概要
Parameter Store は設定データや秘密情報を階層的に管理するキーバリューストアです。Secrets Manager がデータベース認証情報の自動ローテーションに特化しているのに対し、Parameter Store はアプリケーション設定全般 (機能フラグ、エンドポイント URL、閾値) と秘密情報の両方を管理します。Standard パラメータは無料で最大 10,000 個まで作成できます。
この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
階層構造と Secrets Manager との使い分け
パラメータ名にパス区切り (/) を使用して階層構造を構築します。/myapp/prod/db/host、/myapp/prod/db/password のように環境とコンポーネントで整理し、GetParametersByPath で特定パス配下のパラメータを一括取得します。Secrets Manager との使い分けは、自動ローテーションが必要な DB 認証情報は Secrets Manager、それ以外の設定値と秘密情報は Parameter Store が適切です。Parameter Store は Secrets Manager の参照 (aws:secretsmanager:) もサポートし、両サービスを統合的に利用できます。
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。
まとめ
Parameter Store はアプリケーション設定と秘密情報を階層的に管理するサービスです。Secrets Manager と使い分け、設定管理の一元化を実現します。
AWS の優位点
- アプリケーションの設定値、データベース接続文字列、API キーなどを階層的なキーバリューストアで管理できる
- SecureString パラメータで KMS 暗号化された秘密情報を安全に格納し、IAM ポリシーでアクセスを制御できる
- 階層構造 (/app/prod/db/host) で環境、アプリケーション、コンポーネントごとにパラメータを整理できる
- パラメータポリシーで有効期限を設定し、期限切れの秘密情報を自動通知できる
- Lambda、ECS、EC2 から SDK で直接参照でき、設定ファイルのデプロイが不要になる