AWS Systems Manager Parameter Store のアイコン

AWS Systems Manager Parameter Store

区分
人気
提供開始
2017 年

設定データやシークレットを安全に格納 / 管理する階層型ストア

何ができるか

AWS Systems Manager Parameter Store は、アプリケーションの設定値、データベース接続文字列、API キーなどを安全に格納 / 管理するサービスです。パラメーターを階層的に整理でき、KMS による暗号化、IAM によるアクセス制御、変更履歴の追跡が可能です。

どのような場面で使うか

アプリケーションの環境変数の管理、データベースのパスワードや API キーの安全な格納、Lambda 関数や ECS タスクへの設定値の注入、環境ごと (dev/stg/prod) の設定の切り替えなどに利用されます。

身近な例え

鍵付きの書類棚に例えられます。フォルダー (階層) ごとに書類 (パラメーター) を整理し、鍵 (暗号化) をかけて保管します。誰がいつ書類を取り出したか (アクセスログ) も記録されます。

Parameter Store とは

Parameter Store は、設定データとシークレットを一元管理するサービスです。ハードコードされた設定値やシークレットをコードから分離し、安全に管理できます。パラメーターは /app/prod/db-password のような階層パスで整理でき、IAM ポリシーでパス単位のアクセス制御が可能です。

パラメーターの種類

Parameter Store は 3 種類のパラメーターをサポートしています。String は平文の文字列です。StringList はカンマ区切りの文字列リストです。SecureString は KMS で暗号化された文字列で、パスワードや API キーの格納に使用します。Standard パラメーターは無料で最大 10,000 個まで作成でき、Advanced パラメーターは有料で TTL (有効期限) やパラメータポリシーが利用可能です。

はじめかた

Systems Manager コンソールの「パラメータストア」で「パラメータの作成」を選択します。名前 (階層パス)、種類、値を指定して作成します。Lambda 関数や ECS タスクから AWS SDK の GetParameter API でパラメーターを取得できます。CloudFormation の動的参照 ({{resolve:ssm:...}}) でテンプレートから直接参照することも可能です。

注意点

  • Standard パラメーターは無料で最大 10,000 個まで作成可能。多くのユースケースでは Standard で十分
  • シークレットのローテーションが必要な場合は Secrets Manager の方が適している。Parameter Store にはローテーション機能がない
  • SecureString パラメーターの暗号化 / 復号に KMS の料金が発生する

参考資料 (AWS 公式)

本ページの一次情報は AWS 公式サイトと公式ドキュメントです。最新の仕様と料金は次の公式ページで確認できます。

本ページと公式ドキュメントの記述が食い違う場合は、公式ドキュメントを正としてください。

共有する