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

演练:在命令中创建和使用参数 (AWS CLI)

以下过程将指导您完成使用 AWS CLI 创建和存储参数的过程。

在命令中创建和使用参数 (AWS CLI)

  1. 安装并配置 AWS CLI(如果尚未执行该操作)。

    有关信息,请参阅安装或升级 AWS CLI

  2. 运行以下命令,创建使用字符串数据类型的参数。--name 选项支持层次结构。有关层次结构的更多信息,请参阅将参数组织成层次结构

    aws ssm put-parameter --name "parameter_name" --value "a parameter value" --type String

    下面是在名称中使用参数层次结构的示例。有关参数层次结构的更多信息,请参阅将参数组织成层次结构

    aws ssm put-parameter --name "/Test/IAD/helloWorld" --value "My1stParameter" --type String

    该命令返回参数的版本号。

  3. 运行以下命令,查看参数元数据。

    aws ssm describe-parameters --filters "Key=Name,Values=/Test/IAD/helloWorld"

    注意

    名称必须大写。

    系统将返回类似于以下内容的信息。

    {
        "Parameters": [
            {
                "LastModifiedUser": "arn:aws:iam::123456789012:user/User's name",
                "LastModifiedDate": 1494529763.156,
                "Type": "String",
                "Name": "helloworld"
            }
        ]
    }
    
  4. 运行以下命令,更改参数值。

    aws ssm put-parameter --name "/Test/IAD/helloWorld" --value "good day sunshine" --type String --overwrite

    该命令返回参数的版本号。

  5. 运行以下命令,查看最新的参数值。

    aws ssm get-parameters --names "/Test/IAD/helloWorld"

    系统将返回类似于以下内容的信息。

    {
        "InvalidParameters": [],
        "Parameters": [
            {
                "Type": "String",
                "Name": "/Test/IAD/helloWorld",
                "Value": "good day sunshine"
            }
        ]
    }
  6. 运行以下命令,查看参数值的历史记录。

    aws ssm get-parameter-history --name "/Test/IAD/helloWorld"
  7. 运行以下命令,在命令中使用该参数。

    aws ssm send-command --document-name "AWS-RunShellScript" --parameters '{"commands":["echo {{ssm:/Test/IAD/helloWorld}}"]}' --targets "Key=instanceids,Values=instance-ids"

使用以下过程创建安全字符串参数。有关安全字符串参数的更多信息,请参阅 关于安全字符串参数

使用 AWS CLI 创建安全字符串参数

  1. 运行以下命令之一,创建使用 SecureString 数据类型的参数。

    创建使用客户托管客户主密钥 (CMK) 的安全字符串参数

    aws ssm put-parameter --name "parameter_name" --value "a value, for example P@ssW%rd#1" --type "SecureString"

    创建使用自定义 AWS KMS 密钥的安全字符串参数

    aws ssm put-parameter --name "parameter_name" --value "a parameter value" --type "SecureString" --key-id "your-AWS-user-account ID/the-custom-AWS KMS-key"

    下面是使用自定义托管 CMK 的示例。

    aws ssm put-parameter --name "my-password" --value "P@ssW%rd#1" --type "SecureString" --key-id "arn:aws:kms:us-west-2:123456789012:key/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e"
  2. 运行以下命令,查看参数元数据。

    aws ssm describe-parameters --filters "Key=Name,Values=the_name_that_you_specified"
  3. 运行以下命令,更改参数值。

    aws ssm put-parameter --name "the_name_that_you_specified" --value "new parameter value" --type "SecureString" --overwrite

    更新使用客户托管客户主密钥 (CMK) 的安全字符串参数

    aws ssm put-parameter --name "the_name_that_you_specified" --value "new parameter value" --type "SecureString" --key-id "the-CMK-ID" --overwrite

    更新使用客户托管 CMK 的安全字符串参数

    aws ssm put-parameter --name "the_name_that_you_specified" --value "new parameter value" --type "SecureString" --key-id "your-AWS-user-account-alias/the-CMK-ID" --overwrite
  4. 运行以下命令,查看最新的参数值。

    aws ssm get-parameters --names "the_name_that_you_specified" --with-decryption
  5. 运行以下命令,查看参数值的历史记录。

    aws ssm get-parameter-history --name "the_name_that_you_specified"

重要

仅为安全字符串参数的 加密。参数的名称、描述和其他属性不会被加密。