この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
こんにちは、菊池です。
Amazon EC2 Systems Managerの機能の1つ、パラメータストアで階層管理の機能が追加されました。
階層構造でパラメータを定義することで、本番、開発といった環境や、組織単位での管理がしやすくなります。
パラメータ階層
例えば、本番/ステージング/開発の3つの環境をもつDBのパスワードの場合、/(環境名)/db/passのような形式でパラメータを定義できます。
試しに、3環境、6つのパラメータを作成しました。
- /prd/db/user
- /prd/db/pass
- /stg/db/user
- /stg/db/pass
- /dev/db/user
- /dev/db/pass
階層で作成したパラメータは、GetParametersByPath APIを使うことで、一括で取得することができます。AWS CLIからはSSMのget-parameters-by-path
コマンドを使います。
$ aws ssm get-parameters-by-path --path /prd/db
{
"Parameters": [
{
"Type": "String",
"Name": "/prd/db/pass",
"Value": "PRDPASSWORD"
},
{
"Type": "String",
"Name": "/prd/db/user",
"Value": "prd-db-user"
}
]
}
2つのパラメータが1つのコマンドで取得できました。
最後に
小ネタですが、新機能の階層パラメータを試しました。パラメータストアは、インスタンスで利用するパラメータをAWSサービスで管理できるので便利です。管理性も向上したので積極的に利用していきたいですね。