パラメータバージョンの使用 - AWS Systems Manager

パラメータバージョンの使用

パラメータの値を編集するたびに、パラメータストア はパラメータの新しい バージョンを作成し、以前のバージョンを保持します。最初にパラメータを作成すると、パラメータストア はそのパラメータにバージョン 1 を割り当てます。パラメータの値を変更すると、パラメータストア によって自動的にバージョン番号が 1 ずつ繰り返されます。パラメータの履歴にあるすべてのバージョンの詳細 (値を含む) を表示できます。

API コマンドおよび SSM ドキュメントで使用するパラメータのバージョンを指定することもできます (例: ssm:MyParameter:3) 。API コールと SSM ドキュメントでは、パラメータ名と特定のバージョン番号を指定できます。バージョン番号を指定しない場合は、自動的に最新バージョンが使用されます。

パラメータバージョンを使用して、一定期間にわたってパラメータが何回変更されたかを確認することもできます。パラメータバージョンでは、パラメータ値が誤って変更された場合、保護のレイヤーも提供されます。

パラメータは最大 100 バージョンまで作成および保守できます。100 バージョンのパラメータを作成した後は、新しいバージョンを作成するたびに、履歴から最も古いバージョンのパラメータが削除され、新しいバージョン用のスペースが作成されます。

この例外は、履歴にすでに 100 個のパラメータバージョンがあり、パラメータの最も古いバージョンにパラメータラベルが割り当てられている場合です。この場合、そのバージョンは履歴から削除されず、新しいパラメータバージョンを作成する要求は失敗します。この保護は、ミッションクリティカルラベルが割り当てられているパラメータバージョンが削除されないようにするためです。新しいパラメータの作成を続行するには、最初に最も古いバージョンのパラメータから、操作で使用するために、ラベルを新しいバージョンのパラメータに移動します。パラメータラベルの移動については、「パラメータラベルを移動する (コンソール)」および「パラメータラベルを移動する (CLI)」を参照してください。

次の手順では、パラメータを編集し、新しいバージョンが作成されたことを確認する方法を示します。

パラメータの新しいバージョンを作成する (コンソール)

AWS Systems Manager コンソールを使用して、パラメータの新しいバージョンを作成し、パラメータのバージョン履歴を表示できます。

パラメータの新しいバージョンを作成するには

  1. https://console.aws.amazon.com/systems-manager/ で AWS Systems Manager コンソールを開きます。

  2. ナビゲーションペインで [パラメータストア] を選択します。

    -または-

    AWS Systems Manager ホームページが最初に開く場合は、メニューアイコン ( ) を選択してナビゲーションペインを開き、[パラメータストア] を選択します。

  3. 前に作成したパラメータの名前を選択します。新しいパラメータの作成については、「Systems Manager パラメータの作成」を参照してください。

  4. [Edit] を選択します。

  5. [Value] ボックスに、新しい値を入力し、[Save changes] を選択します。

  6. 更新したパラメータの名前を選択します。[Overview] タブで、バージョン番号が 1 つ増えたことを確認し、新しい値を確認します。

  7. パラメータのすべてのバージョンの履歴を表示するには、[履歴] タブを選択します。

パラメータバージョンの参照

コマンド、API コール、SSM ドキュメントで特定のパラメータバージョンを参照するには、ssm: parameter-name:version-number という形式を使用できます。

以下の例では、パラメータ golden-ami のバージョン 3 が EC2 run-instances command で使用されています。

aws ec2 run-instances \ --image-id resolve:ssm:/golden-ami:3 \ --count 1 \ --instance-type t2.micro \ --key-name my-key-pair \ --security-groups my-security-group
注記

現在、resolve とパラメータ値は、--image-id オプション、および Amazon マシンイメージ (AMI) を値として含むパラメータと共にのみ使用できます。詳細については、「Amazon マシンイメージ ID のパラメータのネイティブサポート」を参照してください。

次に、SSM ドキュメント内の MyRunCommandParameter という名前のパラメータのバージョン 2 を指定する例を示します。

YAML
--- schemaVersion: '2.2' description: Run a shell script or specify the commands to run. parameters: commands: type: String description: "(Required) Specify a shell script or a command to run." displayType: textarea default: "{{ssm:MyRunCommandParameter:2}}" mainSteps: - action: aws:runShellScript name: RunScript inputs: runCommand: - "{{commands}}"
JSON
{ "schemaVersion": "2.2", "description": "Run a shell script or specify the commands to run.", "parameters": { "commands": { "type": "String", "description": "(Required) Specify a shell script or a command to run.", "displayType": "textarea", "default": "{{ssm:MyRunCommandParameter:2}}" } }, "mainSteps": [ { "action": "aws:runShellScript", "name": "RunScript", "inputs": { "runCommand": [ "{{commands}}" ] } } ] }