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

指定默认参数层

在创建或更新参数的请求(即 PutParameter 操作)中,您可以指定要在请求中使用的参数层。以下是一个使用 AWS CLI 的示例。

aws ssm put-parameter \ --name "default-ami" \ --type "String" \ --value "t2.micro" \ --tier "Standard"

无论何时在请求中指定层,Parameter Store 都会根据您的请求创建或更新参数。不过,如果没有在请求中明确指定层,Parameter Store 默认层设置会确定在哪个层中创建参数。

开始使用 Parameter Store 时的默认层是标准参数层。如果使用高级参数层,则可以将以下其中一项指定为默认值:

  • 高级:在使用该选项时,Parameter Store 会将所有请求作为高级参数进行评估。

  • 智能分层:在使用该选项时,Parameter Store 会评估每个请求以确定参数是标准还是高级参数。

    如果请求不包含任何需要使用高级参数的选项,则会在标准参数层中创建参数。如果在请求中包含一个或多个需要使用高级参数的选项,则 Parameter Store 在高级参数层中创建参数。

智能分层的优点

以下是您可能选择智能分层作为默认层的原因。

成本控制 - 除非绝对需要使用高级参数,否则智能分层将始终创建标准参数以帮助控制参数相关成本。

自动升级到高级参数层 - 在对需要将标准参数升级到高级参数的代码进行更改时,智能分层将为您处理转换。您无需更改代码即可进行升级。

以下是一些自动升级的示例:

  • 您的 AWS CloudFormation 模板在运行时预置了大量参数。在该过程导致您达到标准参数层中的 10,000 个参数限制时,智能分层自动将您升级到高级参数层,并且 AWS CloudFormation 过程不会中断。

  • 您将证书值存储在一个参数中,定期轮换证书值,并且内容小于标准参数层的 4 KB 限制。如果替换证书值超过 4 KB,智能分层会自动将参数升级到高级参数层。

  • 您希望将大量现有标准参数与参数策略相关联,这需要使用高级参数层。并非必须在更新参数的所有调用中包含 --tier Advanced 选项,智能分层会自动将参数升级到高级参数层。无论何时引入高级参数层条件,智能分层选项都会将参数从标准升级到高级。

需要使用高级参数的选项包括以下几项:

  • 参数的内容大小超过 4 KB。

  • 参数使用参数策略。

  • 您的 AWS 账户在当前区域中已具有超过 10,000 个参数。

默认层选项

您可以指定为默认值的层选项包括以下内容。

  • 标准 – 在开始使用 Parameter Store 时,标准参数层是默认层。通过使用标准参数层,您可以为 AWS 账户中的每个区域创建 10,000 个参数。每个参数的内容大小最大可等于 4 KB。标准参数不支持参数策略。使用标准参数层不会产生额外的费用。选择标准作为默认层意味着,Parameter Store 将始终尝试为未指定层的请求创建标准参数。

  • 高级 – 高级参数层允许您为 AWS 账户中的每个区域最多创建 100,000 个参数。每个参数的内容大小最大可等于 8 KB。高级参数支持参数策略。使用高级参数层会产生相应的费用。有关更多信息,请参阅 AWS Systems Manager 定价。选择高级作为默认层意味着,Parameter Store 将始终尝试为未指定层的请求创建高级参数。

    注意

    选择高级参数层时,您必须明确授权 AWS 就您创建的任何高级参数向您的账户收取相应费用。

  • 智能分层 – 智能分层选项让 Parameter Store 能够根据请求内容确定是使用标准参数层,还是使用高级参数层。例如,如果运行命令以创建内容小于 4 KB 的参数,您的 AWS 账户的当前区域中的参数少于 10,000 个,并且未指定参数策略,则会创建标准参数。如果运行命令以创建内容超过 4 KB 的参数,您的 AWS 账户的当前区域中的参数超过 10,000 个,或者您指定参数策略,则会创建高级参数。

    注意

    选择智能分层时,您必须明确授权 AWS 就所创建的任何高级参数向您的账户收取相应费用。

您可以随时更改 Parameter Store 默认层设置。

配置权限以指定 Parameter Store 默认层

可以执行以下操作之一,以验证您是否在 AWS Identity and Access Management (IAM) 中具有相应权限,能够更改 Parameter Store 中的默认参数层:

使用以下过程将内联 IAM 策略添加到用户账户。该策略允许用户查看和更改 AWS 账户特定区域中的参数的默认层设置。

  1. Sign in to the AWS Management Console and open the IAM console at https://console.amazonaws.cn/iam/.

  2. 在导航窗格中,选择用户

  3. 在列表中,选择要将策略附加到的用户的名称。

  4. 选择 Permissions 选项卡。

  5. 在页面右侧,在 Permission policies (权限策略) 下,选择 Add inline policy (添加内联策略)

  6. 选择 JSON 选项卡。

  7. 将默认内容替换为以下内容:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetServiceSetting" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:UpdateServiceSetting" ], "Resource": "arn:aws:ssm:AWS_Region:AWS_account_ID:servicesetting/ssm/parameter-store/default-parameter-tier" } ] }
  8. 选择查看策略

  9. 查看策略页面上,为名称输入内联策略的名称,例如 Parameter-Store-Default-Tier 或您喜欢的其他名称。

  10. 选择 Create policy

管理员可以通过将以下内联策略分配到用户账户来指定只读权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetServiceSetting" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "ssm:ResetServiceSetting", "ssm:UpdateServiceSetting" ], "Resource": "*" } ] }

有关创建和编辑 IAM 策略的更多信息,请参阅 IAM User Guide 中的创建 IAM 策略

指定或更改 Parameter Store 默认层(控制台)

以下过程介绍了如何使用 Systems Manager 控制台指定或更改当前 AWS 账户和区域的默认参数层。

指定或更改 Parameter Store 默认层

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

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

    -或者-

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

  3. 选择 Settings 选项卡。

  4. 选择设置默认值

  5. 选择以下选项之一。

    • 标准

    • 高级

    • 智能分层

    有关这些选项的信息,请参阅指定默认参数层

  6. 查看消息,然后选择确认

如果要稍后更改默认层设置,请重复该过程并指定不同的默认层选项。

指定或更改 Parameter Store 默认层 (AWS CLI)

以下过程介绍了如何使用 AWS Command Line Interface (AWS CLI) 更改当前 AWS 账户和区域的默认参数层设置。

使用 AWS CLI 指定或更改 Parameter Store 默认层

  1. 打开 AWS CLI 并运行以下命令,以更改 AWS 账户中特定区域的默认参数层设置。

    aws ssm update-service-setting --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/default-parameter-tier --setting-value tier-option

    region 表示 AWS Systems Manager 支持的 AWS 区域的区域标识符,如US East (Ohio) Region的 us-east-2。有关受支持 region 值的列表,请参阅 AWS General ReferenceAWS Systems Manager 区域和终端节点表区域列。

    tier-option 值包括 StandardAdvancedIntelligent-Tiering。有关这些选项的信息,请参阅指定默认参数层

    如果此命令成功,则无任何输出。

  2. 运行以下命令来查看当前的 AWS 账户和区域中 Parameter Store 当前的吞吐量服务设置。

    aws ssm get-service-setting --setting-id arn:aws:ssm:region:account-ID:servicesetting/ssm/parameter-store/default-parameter-tier

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

    {
        "ServiceSetting": {
            "SettingId": "/ssm/parameter-store/default-parameter-tier",
            "SettingValue": "Advanced",
            "LastModifiedDate": 1556551683.923,
            "LastModifiedUser": "arn:aws:sts::123456789012:assumed-role/Administrator/Jasper",
            "ARN": "arn:aws:ssm:us-east-2:123456789012:servicesetting/ssm/parameter-store/default-parameter-tier",
            "Status": "Customized"
        }
    }

如果要再次更改默认层设置,请重复该过程并指定不同的 SettingValue 选项。

指定或更改 Parameter Store 默认层 (PowerShell)

以下过程介绍了如何使用 AWS Tools for Windows PowerShell 更改 AWS 账户中特定区域的默认参数层设置。

使用 PowerShell 指定或更改 Parameter Store 默认层

  1. 使用 AWS Tools for PowerShell 在当前 AWS 账户和区域中更改 Parameter Store 默认层。

    Update-SSMServiceSetting -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/default-parameter-tier" -SettingValue "tier-option" -Region region

    region 表示 AWS Systems Manager 支持的 AWS 区域的区域标识符,如US East (Ohio) Region的 us-east-2。有关受支持 region 值的列表,请参阅 AWS General ReferenceAWS Systems Manager 区域和终端节点表区域列。

    tier-option 值包括 StandardAdvancedIntelligent-Tiering。有关这些选项的信息,请参阅指定默认参数层

    如果此命令成功,则无任何输出。

  2. 运行以下命令来查看当前的 AWS 账户和区域中 Parameter Store 当前的吞吐量服务设置。

    Get-SSMServiceSetting -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/default-parameter-tier" -Region region

    region 表示 AWS Systems Manager 支持的 AWS 区域的区域标识符,如US East (Ohio) Region的 us-east-2。有关受支持 region 值的列表,请参阅 AWS General ReferenceAWS Systems Manager 区域和终端节点表区域列。

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

    ARN              : arn:aws:ssm:us-east-2:123456789012:servicesetting/ssm/parameter-store/default-parameter-tier
    LastModifiedDate : 4/29/2019 3:35:44 PM
    LastModifiedUser : arn:aws:sts::123456789012:assumed-role/Administrator/Jasper
    SettingId        : /ssm/parameter-store/default-parameter-tier
    SettingValue     : Advanced
    Status           : Customized
    

如果要再次更改默认层设置,请重复该过程并指定不同的 SettingValue 选项。