EC2 Systems ManagerのParameter Storeがバージョニングをサポートしました

2017.10.27

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

中山(順)です

EC2 Systems ManagerのParameter Storeがバージョニングをサポートしました!

Amazon EC2 Systems Manager Parameter Store Adds Versioning Support

最新および過去の値に対して明示的にバージョン番号が付与されます。

使い勝手を確認してみたいと思います。

Parameter Storeとは?

弊社ブログでも何度が取り上げられていますので、説明は割愛します。

Amazon EC2 Systems Managerでパラメーターストアを試してみた #reinvent

EC2 Systems Manager のパラメータストアを利用したアプリケーション環境設定の管理

AWS KMS で EC2 Systems Managerパラメータストアを暗号化

【Tips】Run CommandでParameter StoreのSecure String(暗号化した文字列)を参照する

CloudWatch EventsがEC2 Systems Managerのパラメータストアに対応しました

Amazon EC2 Systems Managerの階層パラメータを試してみる

使ってみた(マネージメントコンソールの場合)

作成

まずは、パラメーターを作成します。

create-parameter-amc-01

パラメーターを選択すると、「履歴」のタブから変更履歴を確認できます。 バージョン番号が付与されていることが確認できます。

create-parameter-amc-02

更新

パラメーターを更新してみます。

create-parameter-amc-03

「履歴」のタブから、最新の値に新しいバージョン番号が付与されていることが確認できました。

create-parameter-amc-04

使ってみた(AWS CLIの場合)

作成

パラメーターを作成します。 作成すると、パージョン番号が返ってきます。

aws ssm put-parameter \
--name var01 \
--description "Developers.IO" \
--value "hogehoge" \
--type String
{
"Version": 1
}

パラメーターを参照してみます。 以下の通り、パラメーターの属性として"Version"が追加されています。

aws ssm get-parameter \
--name var01
{
"Parameter": {
"Version": 1,
"Type": "String",
"Name": "var01",
"Value": "hogehoge"
}
}

更新

それでは、パラメーターを更新してみます。 (更新の際には、--overwriteオプションが必要です) 以下の通り、バージョン番号が繰り上がりました。

aws ssm put-parameter \
--name var01 \
--value "fugafuga" \
--type String \
--overwrite
{
"Version": 2
}

パラメーターを参照してみます。 こちらでもバージョン番号が繰り上がっていることが確認できます。

aws ssm get-parameter \
--name var01
{
"Parameter": {
"Version": 2,
"Type": "String",
"Name": "var01",
"Value": "fugafuga"
}
}

また、履歴の一覧を表示するコマンドを実行してみます。

aws ssm get-parameter-history \
--name var01
{
"Parameters": [
{
"Name": "var01",
"LastModifiedDate": 1509075022.629,
"Value": "hogehoge",
"Version": 1,
"LastModifiedUser": "arn:aws:iam::XXXXXXXXXXXX:user/xxxx",
"Type": "String",
"Description": "Developers.IO"
},
{
"Name": "var01",
"LastModifiedDate": 1509075066.023,
"Value": "fugafuga",
"Version": 2,
"LastModifiedUser": "arn:aws:iam::XXXXXXXXXXXX:user/xxxx",
"Type": "String",
"Description": "Developers.IO"
}
]
}

特定のバージョンの値を取得する方法は以下の通りです。

aws ssm get-parameter \
--name var01:1
{
"Parameter": {
"Version": 1,
"Type": "String",
"Name": "var01",
"Value": "hogehoge"
}
}

まとめ

とっても地味なアップデートですが、もともとParameter Store自体とても便利なサービスです。 この記事でParameter Storeを知ったという方は、ぜひ活用を検討してみてください!