如何解决修改 Amazon Aurora 数据库实例时出现的 400 错误消息?

上次更新时间:2020 年 12 月 21 日

我有一个要修改的 Amazon Aurora 数据库实例。当我在数据库实例上发出修改请求时,我收到状态代码:400 错误消息。如何排查并解决数据库实例上的 400 错误?

简短描述

当您发起 API 请求时,AWS 会执行初始语法检查,以确保 API 请求完整且具有所有必填参数。当您发送修改 Amazon Aurora 数据库实例的 API 请求时,有多种原因会导致出现 400 错误,其中包括:

  • 由于 API 请求限制,您的请求被拒绝
  • 您使用了无效的参数组合
  • 您对输入参数使用了无效或超出范围的值
  • API 缺少必需的参数或操作
  • 导致 API 失败的浏览器问题
  • 您使用的是过时的 AWS 命令行界面 (AWS CLI) 版本
  • 大型事件 (LSE) 影响了服务并导致 API 失败

按照本文中的问题排查步骤来解决每个问题。

解决方法

注意:如果在运行 AWS CLI 命令时遇到错误,请确保您使用的是最新版本的 AWS CLI

限制异常

由于 API 请求限制,您的请求被拒绝。这些 API 调用限制存在于账户级别,并不特定于任何服务。

注意:您不能增加或修改特定调用的限制。AWS 将确保 API 调用(无论是来自应用程序、对命令行界面的调用还是 AWS 管理控制台)均不超过允许的最大 API 请求速率。

你可以使用以下方法避免此错误:

  1. 使用指数回退和抖动
  2. 随着时间的推移均匀分配 API 调用(而不是同时发生所有 API 调用)。

参数组合无效

如果在修改数据库实例时使用参数组合,则会收到 400 错误。要解决此问题,请在 API 调用中仅使用有效的参数/自变量。

输入参数无效

如果您使用不受 AWS 支持的参数,则会收到 400 错误。使用 AWS CLI 运行 describe-db-parameters 命令以查看支持哪些参数,然后在修改数据库实例之前删除无效的输入参数。

缺少参数

如果您对输入参数使用无效或超出范围的值,则 AWS 将拒绝您的请求。在修改数据库实例之前,请检查是否已在 API 请求中包含所有必填参数/字段。

浏览器问题

间歇性的浏览器问题可能会导致 API 调用失败。要解决浏览器问题,请尝试清除缓存,然后再次发出 API 请求。如果这不起作用,请在其他浏览器中重试。

过时的 CLI 版本

如果您使用 AWS CLI 发出 API 请求,请升级到最新版本。较旧版本的 AWS CLI 可能不支持使用某些参数,因此定期检查您的版本是否为最新版本非常重要。有关更多信息,请参阅使用 pip 安装和更新 AWS CLI 版本 1

大型事件 (LSE)

如果持续存在影响 Amazon Relational Database Service (Amazon RDS) 或其依赖服务之一的问题或 LSE,则可能会发生 400 错误。要检查是否存在任何持续的问题,请查看 AWS Personal Health Dashboard服务运行状况控制面板。继续监控控制面板,以了解有关根本原因和解决方法的最新信息。