如何解决我在对 ElastiCache 使用 CloudFormation 时收到的“400 Error Code”(400 错误代码)错误?

3 分钟阅读
0

我想解决我在对 Amazon ElastiCache 使用 AWS CloudFormation 时收到的“400 Error Code”(400 错误代码)错误。

简短描述

当您直接启动 AWS API 请求或使用 CloudFormation 堆栈启动 AWS API 请求时,AWS 会执行初始语法检查。这些检查会验证请求是否完备且包含所有必要参数。如果检查失败,则您会收到错误。

以下是您在发送 ElastiCache 的 API 请求时出现的 400 Error Code(400 错误代码)错误以及这些错误的原因:

  • 当请求由于 API 请求节流而被拒绝时,您会收到 Throttling(节流)错误。
  • 当 AWS 没有足够的可用容量来完成您的请求时,您会收到 InsufficientCacheClusterCapacity 错误。
  • 由于您尝试删除的子网具有关联的实例,您会收到 SubnetInUse 错误。
  • 当您使用的参数值无效、不受支持或无法在请求中使用时,您会收到 InvalidParameterValue 错误。
  • 当您的请求的参数组合不正确或缺少参数时,您会收到 InvalidParameterCombination 错误。

要解决 400 Error Code(400 错误代码)错误,请确定您收到的具体 ElastiCache 调用 API 错误,然后采取相应的操作。

**注意:**有关可能的错误及其描述的列表,请参阅 Common errors

解决方法

节流

您会收到以下错误消息:

"Rate exceeded (Service: AmazonElastiCache; Status Code: 400; Error Code: Throttling; Request ID: ###)"

AWS 账户级 API 调用配额并非特定于服务。您无法增加或修改特定 API 调用的配额。即使是来自应用程序、命令行界面 (CLI) 或 AWS 管理控制台的调用,API 调用也不能超过允许的最大 API 请求速率。

要解决此错误,请执行以下操作:

  • 使用指数回退和抖动来重试调用。
  • 在一段时间内均匀执行 API 调用,不要在短时间内进行多次 API 调用。

InsufficientCacheClusterCapacity

您会收到以下错误消息:

"Cache.### (VPC) is not currently supported in the availability zone ###.Retry the launch with no availability zone or target: ###.(Service: AmazonElastiCache; Status Code: 400; Error Code: InsufficientCacheClusterCapacity; Request ID: ###)"

要解决此错误,请执行以下操作:

  • 由于容量经常变化,因此请等待几分钟,然后重新提交您的请求。
  • 使用其他缓存节点类型,然后重新提交您的请求。
  • 使用其他子网和可用区,然后重新提交您的请求。

有关详细信息,请参阅 Error Messages: InsufficientCacheClusterCapacity

SubnetInUse

您会收到以下错误消息:

"The subnet ID subnet-### is in use (Service: AmazonElastiCache; Status Code: 400; Error Code: SubnetInUse; Request ID: ###)"

要解决此错误,请从子网中移除所有关联资源,然后重新提交您的请求。有关详细信息,请参阅 Examples

InvalidParameterValue

检查请求调用的每个参数。如果参数值无效、不受支持或无法在请求中使用,则您会收到以下错误消息之一。

"Invalid AuthToken provided.(Service: AmazonElastiCache; Status Code: 400; Error Code: InvalidParameterValue"; Request ID: ###)"

要解决之前的错误,请确保在对 ElastiCache for Redis 使用 AUTH 时,您的 auth-token 设置符合约束。有关详细信息,请参阅 Authenticating with the Valkey and Redis OSS AUTH command

"The snapshot window and maintenance window must not overlap.(Service: AmazonElastiCache; Status Code: 400; Error Code: InvalidParameterValue; Request ID: ###)"

要解决之前的错误,请将快照时段和维护时段分成不同的时间段。不能将快照时段和维护时段设在同一时间。

"The number of replicas per node group must be within 0 and 5.(Service: AmazonElastiCache; Status Code: 400; Error Code: InvalidParameterValue; Request ID: ###)"

要解决之前的错误,请最多添加 5 个副本节点。ElastiCache for Redis 支持每个分片包含一个主节点以及零到五个副本节点。有关详细信息,请参阅 Understanding Valkey and Redis OSS replication

InvalidParameterCombination

如果请求调用的参数组合不正确或缺少参数,则您可能会收到以下错误消息之一。

"Cannot find version 5.0.0 for redis (Service: AmazonElastiCache; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: ###)"

此错误表示系统不支持您的请求调用中的 Redis 版本。有关详细信息,请参阅 Supported Redis OSS versionsSupported Memcached versions

"Cannot restore redis from 6.0.5 to 5.0.6.(Service: AmazonElastiCache; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: ###)"

要解决之前的错误,请确保您的 Redis 引擎版本高于或等于当前的引擎版本。使用备份创建新的 Redis 集群时,ElastiCache for Redis 不支持降级的 Redis 引擎版本。此外,ElastiCache for Redis 不会对正在运行的 Redis 集群的 Redis 引擎进行降级。有关详细信息,请参阅 Comparing Valkey, Memcached, and Redis OSS self-designed caches

"When using automatic failover, there must be at least 2 cache clusters in the replication group.(Service: AmazonElastiCache; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: ###)"

要解决之前的错误,请在至少有一个可用只读副本的 Redis 集群中启用自动失效转移选项。验证您的 Redis 复制组是否有多个副本节点,然后重新提交您的请求。有关详细信息,请参阅 Minimizing downtime in ElastiCache by using Multi-AZ with Valkey and Redis OSS

相关信息

Quotas for ElastiCache

Persistent connection issues

Installing or updating to the latest version of the AWS CLI

AWS 官方
AWS 官方已更新 19 天前
没有评论