

• Amazon Systems Manager CloudWatch 控制面板在 2026 年 4 月 30 日之后将不再可用。客户可以像现在一样继续使用 Amazon CloudWatch 控制台来查看、创建和管理其 Amazon CloudWatch 控制面板。有关更多信息，请参阅 [Amazon CloudWatch 控制面板文档](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)。

# 排除 Parameter Store 问题
<a name="parameter-store-troubleshooting"></a>

使用以下信息来帮助解决与 Parameter Store 相关的问题。

## 排查吞吐量问题
<a name="ps-throttling-troubleshooting"></a>

以下信息有助您排查 Parameter Store 中的吞吐量问题。有关吞吐量配额以及节流原因的信息，请参阅[优化 Parameter Store 中的吞吐量](parameter-store-throughput.md#parameter-store-throughput-optimizing)。

### 应用程序收到 `ThrottlingException` 或 `RateExceeded` 错误
<a name="ps-throttling-0"></a>

**问题**：调用 `GetParameter`、`GetParameters` 或 `GetParametersByPath` 时，应用程序日志或 CloudWatch Logs 显示如下错误：

```
An error occurred (ThrottlingException) when calling the GetParameters operation (reached max retries: 4): Rate exceeded
```
+ **解决方案**：此错误表示您对这些 API 操作的总调用速率超过当前 Amazon Web Services 区域的账户吞吐量配额。执行以下一项或多项操作：
  + 减少应用程序调用 Parameter Store 的频率。在应用程序中缓存参数值，而不是在每次调用或每个请求中检索这些值。

    有关更多信息，请参阅[参数和密钥 Lambda 扩展](https://docs.amazonaws.cn/systems-manager/latest/userguide/ps-integration-lambda-extensions.html)和 [Using the Amazon Parameter and Secrets Lambda extension to cache parameters and secrets](https://www.amazonaws.cn/blogs/compute/using-the-aws-parameter-and-secrets-lambda-extension-to-cache-parameters-and-secrets/)。
  + 使用 `GetParameters` 在单个调用中检索多个已知参数名称，而不是发出单独的 `GetParameter` 调用或 `GetParametersByPath` 调用。
  + 当多个实例、容器或函数同时启动时（例如在部署或扩展事件期间）错开读取操作。
  + 如果应用程序使用高效的请求模式后继续产生节流错误，请为您的账户和 Amazon Web Services 区域启用更高的吞吐量。您可以随时启用和禁用更高的吞吐量。成本取决于使用量。有关更多信息，请参阅 [Parameter Store 的 Amazon Systems Manager 定价](https://www.amazonaws.cn/systems-manager/pricing/#Parameter_Store)。

### 节流仅在进行 `DescribeParameters` 调用时发生
<a name="ps-throttling-1"></a>

**问题**：尽管 `GetParameter`、`GetParameters` 和 `GetParametersByPath` 调用未超过配额，但应用程序在进行 `DescribeParameters` 调用时仍收到 `ThrottlingException` 错误。
+ **解决方案**：`DescribeParameters` 具有与其他参数检索操作分开的独立吞吐量限制：默认为 3 TPS，启用更高吞吐量时为 10 TPS。减少 `GetParameter`、`GetParameters` 或 `GetParametersByPath` 调用量不会影响此限制。

  一个常见的原因是在包含大量参数的账户上带筛选条件调用 `DescribeParameters`。在应用该筛选条件之前，API 会对账户中的所有参数进行分页。即使筛选后的结果集很小，具有大量参数的账户也可能会超过 `DescribeParameters` 配额。

  尽可能针对特定的层次结构使用 `GetParametersByPath`，而不是带筛选条件使用 `DescribeParameters`。此外还可以减少按计划运行的脚本和自动化中的 `DescribeParameters` 调用频率。

### 未出现节流错误，但部署期间延迟增加
<a name="ps-throttling-2"></a>

**问题**：未在日志中看到 `ThrottlingException` 错误，但应用程序在部署、重启或扩展事件期间出现延迟增加或间歇性失败的问题。
+ **解决方案**：如果应用程序或 SDK 会自动重试被节流的请求，则重试可能会成功，而永远不会出现节流错误。如果延迟增加，请在 SDK 的日志或指标中检查重试次数。如果出现这些事件时的 Parameter Store 调用重试次数不为零，则表示尽管操作未失败，但您也已接近吞吐量配额。按照[优化 Parameter Store 中的吞吐量](parameter-store-throughput.md#parameter-store-throughput-optimizing)中介绍的相同优化方法减少重试次数，避免重试变为失败。

## `aws:ec2:image` 参数创建问题排查
<a name="ps-ec2-aliases-troubleshooting"></a>

使用以下信息可帮助排查创建 `aws:ec2:image` 数据类型参数的问题。

### 没有创建实例的权限
<a name="ps-ec2-aliases-0"></a>

**问题**：您尝试使用 `aws:ec2:image` 参数创建实例，但收到“You are not authorized to perform this operation.”这样的错误信息。
+ **解决方案**：您不具备使用参数值创建 EC2 实例所需的所有权限，例如 `ec2:RunInstances`、`ec2:DescribeImages`、`ssm:GetParameter` 等所需的权限。请联系贵组织中拥有管理员权限的用户，以请求必要的权限。

### EventBridge 报告失败消息“Unable to Describe Resource (无法描述资源)”
<a name="ps-ec2-aliases-1"></a>

**问题**：您运行了一条命令来创建 `aws:ec2:image` 参数，但创建参数失败。您会从 Amazon EventBridge 收到一条通知，报告异常“Unable to Describe Resource (无法描述资源)”。

**解决方案**：此消息可指出以下问题：
+ 您没有 `ec2:DescribeImages` API 操作所需的所有权限，或者您缺少访问参数中引用的特定映像的权限。请联系贵组织中拥有管理员权限的用户，以请求必要的权限。
+ 作为参数值输入的 Amazon Machine Image (AMI) ID 无效。确保您所输入的 AMI ID 在您使用的当前 Amazon Web Services 区域和账户中可用。

### 新 `aws:ec2:image` 参数不可用
<a name="ps-ec2-aliases-2"></a>

**问题**：您刚刚运行了一条命令来创建 `aws:ec2:image` 参数，并且系统报告了版本号，但该参数不可用。
+ **解决方案**：当您运行命令来创建使用 `aws:ec2:image` 数据类型的参数时，将会立即为该参数生成版本号，但必须在该参数可用之前验证参数格式。此过程可能需要数分钟。要监控参数创建和验证过程，可以执行以下操作：
  + 使用 EventBridge 向您发送有关 `create` 和 `update` 参数操作的通知。这些通知会报告参数操作是否成功。有关在 Eventbridge 中订阅 Parameter Store 事件的信息，请参阅 [基于 Parameter Store 事件设置通知或触发操作](sysman-paramstore-cwe.md)。
  + 在 Systems Manager 控制台的 Parameter Store 部分中，定期刷新参数列表以搜索新参数或更新的参数详细信息。
  + 使用 **GetParameter** 命令检查新参数或更新的参数。例如，可以使用 Amazon Command Line Interface (Amazon CLI) 执行以下操作：

    ```
    aws ssm get-parameter name {{MyParameter}}
    ```

    对于新参数，将返回一条 `ParameterNotFound` 消息，直到参数经过验证。对于要更新的现有参数，在参数经过验证之前不会包含有关新版本的信息。

  如果您在验证过程完成之前尝试再次创建或更新参数，系统将报告验证仍在进行中。如果未创建或更新参数，您可以在初始尝试结束 5 分钟后重试。