使用参数版本 - AWS Systems Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用参数版本

每次编辑参数的值时, Parameter Store 都会创建参数的新版本并保留以前的版本。当您最初创建参数时, 会Parameter Store为该参数1分配版本。当您更改参数的值时,Parameter Store 自动将版本号增加 1。您可以在参数的历史记录中查看所有版本的详细信息(包括值)。

您还可以指定要在 API 命令和 SSM 文档中使用的参数的版本;例如ssm:MyParameter:3:。 您可以在 API 调用和 SSM 文档中指定参数名称和特定版本号。如果不指定版本号,系统自动使用最新版本。

可以使用参数版本查看一段时间内更改参数的次数。此外,参数版本提供了一层保护,以防止参数值被意外更改。

您最多可以创建和维护 100 个版本的参数。在创建 100 个版本的参数后,每次创建新版本时,将从历史记录中删除最早版本的参数以便为新版本腾出空间。

此情况的一个例外是,历史记录中有 100 个参数版本,并且参数标签分配给最旧版本的参数。在这种情况下,该版本不会从历史记录中删除,创建新参数版本的请求将失败。此保护旨在防止删除分配有任务关键型标签的参数版本。要继续创建新参数,请先将标签 从参数的最旧版本移动到较新的版本以在 操作中使用。有关移动参数标签的信息,请参阅移动参数标签(控制台)移动参数标签 (CLI)

以下过程向您说明了如何编辑参数,并在之后验证是否已创建新版本。

创建参数的新版本(控制台)

可以使用 AWS Systems Manager 控制台创建参数的新版本并查看参数的版本历史记录。

创建参数的新版本

  1. 通过以下网址打开 AWS Systems Manager 控制台:https://console.amazonaws.cn/systems-manager/

  2. 在导航窗格中,选择 Parameter Store

    -或者-

    如果 AWS Systems Manager 主页首先打开,请选择菜单图标 ( ) 以打开导航窗格,然后选择 Parameter Store

  3. 选择之前创建的参数的名称。有关创建新参数的信息,请参阅创建 Systems Manager 参数.

  4. 选择 Edit.

  5. Value 框中键入新的值,然后选择 Save changes.

  6. 选择刚刚更新的参数的名称。在 Overview (概述) 选项卡上,验证版本号是否增加 1,并验证新值。

  7. 要查看某个参数的所有版本的历史记录,请选择 History 选项卡。

引用参数版本

可以使用以下格式,在命令、API 调用和 SSM 文档中引用特定的参数版本:ssm: parameter-name:version-number.

在以下示例中,EC2 golden-ami 中使用了参数 run-instances command. 的版本 3。

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 系统映像的本机参数支持 IDs.

以下是有关在 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}}" ] } } ] }