AWS Systems Manager Parameter Store で管理する設定と秘密情報 - 階層構造と暗号化

Parameter Store による設定値と秘密情報の管理、階層構造の設計、Secrets Manager との使い分けを解説します。

Parameter Store の概要

Parameter Store は設定データや秘密情報を階層的に管理するキーバリューストアです。Secrets Manager がデータベース認証情報の自動ローテーションに特化しているのに対し、Parameter Store はアプリケーション設定全般 (機能フラグ、エンドポイント URL、閾値) と秘密情報の両方を管理します。Standard パラメータは無料で最大 10,000 個まで作成できます。

階層構造と Secrets Manager との使い分け

パラメータ名にパス区切り (/) を使用して階層構造を構築します。/myapp/prod/db/host、/myapp/prod/db/password のように環境とコンポーネントで整理し、GetParametersByPath で特定パス配下のパラメータを一括取得します。Secrets Manager との使い分けは、自動ローテーションが必要な DB 認証情報は Secrets Manager、それ以外の設定値と秘密情報は Parameter Store が適切です。Parameter Store は Secrets Manager の参照 (aws:secretsmanager:) もサポートし、両サービスを統合的に利用できます。

Lambda と ECS との統合

Lambda 関数から Parameter Store のパラメータを取得するには、 AWS Parameters and Secrets Lambda Extension を使用します。エクステンションがパラメータをローカルにキャッシュし、 Lambda の実行ごとに API コールを発行する必要がなくなります。 ECS タスク定義の secrets セクションで Parameter Store のパラメータを参照し、コンテナの環境変数として注入します。 SecureString パラメータは KMS で暗号化され、 IAM ポリシーで復号権限を制御します。パラメータのバージョン管理で変更履歴を追跡し、問題発生時に以前のバージョンにロールバックできます。パラメータポリシーで有効期限を設定し、期限切れのパラメータを自動通知します。 設定管理の運用ノウハウを深めるには、専門書籍 (Amazon)が役立ちます。

Parameter Store の料金

Standard パラメータは無料で、アカウントあたり最大 10,000 パラメータを保存できます。Advanced パラメータは 1 パラメータあたり月額約 0.05 ドルで、最大 8KB のサイズ、パラメータポリシー、100,000 パラメータの上限に対応します。API コールは Standard で無料、Advanced の高スループットオプションで 10,000 リクエストあたり約 0.05 ドルです。Secrets Manager (月額 0.40 ドル/シークレット) と比較して、自動ローテーションが不要な設定値には Parameter Store の方がコスト効率に優れています。

まとめ

Parameter Store はアプリケーション設定と秘密情報を階層的に管理するサービスです。Lambda エクステンションでキャッシュを活用した低レイテンシの設定取得を実現し、ECS タスク定義の secrets セクションでコンテナに安全に注入します。Standard パラメータは無料で 10,000 件まで保存でき、Secrets Manager と比較して自動ローテーションが不要な設定値のコスト効率に優れています。