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

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

管理参数层

Parameter Store,一种能力 Amazon Systems Manager,包括标准参数高级参数。需单独配置参数以使用标准参数层(默认层)或高级参数层。

您可以随时将标准参数更改为高级参数,但不能将高级参数恢复为标准参数。这是因为将高级参数恢复为标准参数会导致系统将参数的大小从 8KB 缩小到 4KB,从而导致数据丢失。恢复参数还会移除所有应用于参数的策略。此外,高级参数使用不同于标准参数的加密形式。有关更多信息,请参阅《Amazon Key Management Service 开发人员指南》中的 Amazon Systems Manager   Parameter Store 如何使用 Amazon KMS

如果您不再需要高级参数,或者如果您不想再为高级参数支付费用,请删除它并将它重新创建为新的标准参数。

下表介绍了两个层之间的区别。

Standard 高级

允许的参数的总数

(按 Amazon Web Services 账户 和 Amazon Web Services 区域)

10000

100000

参数值的最大大小

4 KB

8 KB

提供参数策略

有关更多信息,请参阅 分配参数策略

费用

无额外费用

需支付费用

有关更多信息,请参阅Amazon Systems Manager 定价Parameter Store

指定默认参数层

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

Linux & macOS
aws ssm put-parameter \ --name "default-ami" \ --type "String" \ --value "t2.micro" \ --tier "Standard"
Windows
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 会在高级参数层中创建参数。

智能分层的优点

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

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

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

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

  • 您的 Amazon CloudFormation 模板在运行时会预置许多参数。当此过程导致您达到标准参数层中的 10,000 个参数配额时,Intelligent-Tiering 会自动将您升级到高级参数层,并且您的流程不会中断。 Amazon CloudFormation

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

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

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

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

  • 参数使用参数策略。

  • 当前,您的 Amazon Web Services 账户 参数已超过 10,000 个 Amazon Web Services 区域。

默认层选项

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

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

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

    注意

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

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

    注意

    当您选择 Intelligent-Tiering 时,请明确授权 Amazon 向您的账户收取您创建的任何高级参数的费用。

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

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

Parameter Store通过执行以下任一操作,验证您是否有权在 Amazon Identity and Access Management (IAM) 中更改默认参数层:

向 IAM 实体授予以下权限,以允许用户查看和更改 Amazon Web Services 账户 内特定 Amazon Web Services 区域 中参数的默认层设置

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetServiceSetting" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:UpdateServiceSetting" ], "Resource": "arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/default-parameter-tier" } ] }

管理员可以通过分配以下权限来指定只读权限。

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

要提供访问权限,请为您的用户、组或角色添加权限:

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

以下过程说明如何使用 Systems Manager 控制台来指定或更改当前 Amazon Web Services 账户 和的默认参数层 Amazon Web Services 区域。

提示

如果您尚未创建参数,则可以使用 Amazon Command Line Interface (Amazon CLI) 或 Amazon Tools for Windows PowerShell 来更改默认参数层。有关信息,请参阅指定或更改 Parameter Store 默认层 (Amazon CLI)指定或更改 Parameter Store 默认层 (PowerShell)

指定或更改 Parameter Store 默认层
  1. 打开 Amazon Systems Manager 控制台,网址为 https://console.aws.amazon.com/systems-manager/

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

    -或者-

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

  3. 选择 Settings 选项卡。

  4. 选择 Change default tier (更改默认层)

  5. 选择以下任一选项。

    • Standard

    • 高级

    • 智能分层

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

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

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

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

以下过程说明如何使用更改当前 Amazon Web Services 账户 和的默认参数层设置 Amazon Web Services 区域。 Amazon CLI

使用 Amazon CLI 指定或更改 Parameter Store 默认层
  1. 打开 Amazon CLI 并运行以下命令来更改 Amazon Web Services 区域 中特定参数层的默认参数层设置 Amazon Web Services 账户。

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

    re gion 表示 Amazon Web Services 区域 支持的标识符 Amazon Systems Manager,例如us-east-2美国东部(俄亥俄州)地区的标识符。有关支持的 region 值的列表,请参阅《Amazon Web Services 一般参考》中的 Systems Manager service endpointsRegion 列。

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

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

  2. 运行以下命令以查看当前 Amazon Web Services 账户 和Parameter Store中的当前默认参数层服务设置 Amazon Web Services 区域。

    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)

以下过程说明如何使用适用于 Windows 的工具 PowerShell 来更改 Amazon Web Services 账户 Amazon Web Services 区域 中特定参数层的默认参数层设置。

要指定或更改Parameter Store默认等级,请使用 PowerShell
  1. 更改当前Parameter Store版本中的默认等级, Amazon Web Services 账户 然后 Amazon Web Services 区域 使用 Amazon Tools for PowerShell (工具 for PowerShell)。

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

    re gion 表示 Amazon Web Services 区域 支持的标识符 Amazon Systems Manager,例如us-east-2美国东部(俄亥俄州)地区的标识符。有关支持的 region 值的列表,请参阅《Amazon Web Services 一般参考》中的 Systems Manager service endpointsRegion 列。

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

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

  2. 运行以下命令以查看当前 Amazon Web Services 账户 和Parameter Store中的当前默认参数层服务设置 Amazon Web Services 区域。

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

    re gion 表示 Amazon Web Services 区域 支持的标识符 Amazon Systems Manager,例如us-east-2美国东部(俄亥俄州)地区的标识符。有关支持的 region 值的列表,请参阅《Amazon Web Services 一般参考》中的 Systems Manager service endpointsRegion 列。

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

    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 选项。

将标准参数更改为高级参数

使用以下过程可将现有的标准参数更改为高级参数。有关如何创建新的高级参数的信息,请参阅 创建 Systems Manager 参数

将标准参数更改为高级参数
  1. 打开 Amazon Systems Manager 控制台,网址为 https://console.aws.amazon.com/systems-manager/

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

    -或者-

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

  3. 选择一个参数,然后选择 Edit (编辑)

  4. 对于 Description (说明),输入有关此参数的信息。

  5. 选择 Advanced (高级)

  6. 对于 Value (值),输入此参数的值。高级参数有最大值限制 8 KB。

  7. 选择保存更改