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

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

使用参数版本

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

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

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

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

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

以下过程介绍了如何编辑参数,并在之后验证是否已创建新版本。您可以使用get-parameterget-parameters命令查看参数版本。有关使用这些命令的示例,请参阅GetParameterGetParameters中的Amazon Systems ManagerAPI 参考

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

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

创建参数的新版本

  1. 访问 https://console.aws.amazon.com/systems-manager/,打开 Amazon Systems Manager 控制台。

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

    -或者-

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

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

  4. 选择 Edit

  5. 框中,输入新的值,然后选择保存更改。.

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

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

引用参数版本

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

在以下示例中,Amazon Elastic Compute Cloud (Amazon EC2)run-instances command使用参数的版本 3golden-ami.

Linux & macOS
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
Windows
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 Machine Image(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}}" ] } } ] }