当我创建 Amazon ElastiCache 集群时,创建失败。
简短描述
集群创建可能会由于以下原因而失败,具体取决于集群是自设计集群还是 Amazon ElastiCache 无服务器集群:
- 您从 Amazon Simple Storage Service (Amazon S3) 恢复备份,但恢复操作失败并显示错误。
- 可用区或 AWS 区域中没有足够的容量来用于所请求的缓存节点类型。
- 您选择的缓存节点类型在区域的特定可用区中不受支持。
- 子网中没有足够的可用 IP 地址用于创建缓存集群。
- ElastiCache 无法访问您用于加密复制组的 AWS Key Management Service (AWS KMS) 客户自主管理型密钥。
- 您的缓存没有为 ElastiCache 无服务器创建虚拟私有云 (VPC) 端点的权限。
- AWS Identity and Access Management (IAM) 用户或角色没有正确的权限。
- 您的 AWS 账户需要更高的服务配额。
- 您在创建集群期间错误配置了引擎的特定参数。
解决方法
**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
您的 Amazon S3 备份恢复失败并显示错误
从 Amazon S3 恢复备份可能会因多种原因而失败。例如,ElastiCache 无法检索文件,或者存储桶位于另一个区域。要解决此问题,请参阅如何解决尝试从 S3 恢复 ElastiCache 集群时出现的“Create-failed”(创建失败)或“Permission denied”(权限被拒绝)错误?
可用区或区域中没有足够的容量来用于所请求的缓存节点类型
如果 AWS 没有足够的可用按需容量,则您在创建集群时可能会收到以下错误消息:
“无法创建缓存节点,因为所请求的 AZ 没有足够的容量。请使用另一个 AZ 进行重试。”
可用区或区域中的容量不断变化。要解决此问题,请在不同的时间创建集群。有关详细信息,请参阅错误消息: InsufficientCacheClusterCapacity。
区域的某个可用区不支持缓存节点类型
区域中的某些可用区不支持特定的缓存节点类型。如果您创建集群并选择以下可用区之一,则您会收到以下错误消息:
“该 AZ 目前不支持此缓存节点类型。请在不使用可用区或使用其他可用区的情况下重新尝试启动”
要检查特定缓存节点类型的可用性,请使用 Amazon Elastic Compute Cloud (Amazon EC2) AWS CLI 命令 describe-instance-type-offerings:
aws ec2 describe-instance-type-offerings --location-type availability-zone --filters Name=instance-type,Values=m5.large --region example-region --output table
**注意:**请将 example-region 替换为您的区域。
您选择的子网中没有足够的可用 IP 地址
如果您用于 ElastiCache 集群的子网没有足够的可用 IP 地址,则您可能会收到以下错误消息:
“由于弹性网络接口或可用 IP 地址不足,无法创建缓存集群”
要解决此问题,请识别您为 ElastiCache 集群配置的子网组。然后,检查每个子网,以验证其是否有足够的可用 IP 地址。有关详细信息,请参阅 How do I troubleshoot insufficient IP address errors that occur during scaling activity in my Amazon VPC?
要释放 IP 地址,您还可以删除子网中未使用的弹性网络接口。或者,在所需的可用区中将子网添加到子网组中,以分配更多的可用 IP 地址。
ElastiCache 无法访问 AWS KMS 客户自主管理型密钥
通过 ElastiCache 静态加密,您可以使用默认的服务托管静态加密,或者使用您自己的对称 AWS KMS 客户自主管理型密钥。如果您在创建集群时删除、关闭或撤销了 KMS 密钥的授权,则可能会收到以下错误消息:
“由于访问 AWS Key Management Service (KMS) for Customer Master Key arn:aws:kms:us-east-1:123456:key/1abcd2 时出错,导致无法创建实例测试集群”
删除、关闭或撤销您用于加密复制组的 AWS KMS 密钥的授权并不是最佳做法。只有在等待至少 7 天后,AWS KMS 才会删除根密钥。在等待期间,您可以取消已计划的删除。如果您删除 AWS KMS 密钥,将无法恢复缓存。
您的 ElastiCache 无服务器缓存没有创建 VPC 端点的权限
当您创建新的 ElastiCache 无服务器集群时,ElastiCache 会在您的 VPC 的选定子网中创建 VPC 端点。您的应用程序将使用这些 VPC 端点连接到缓存。如果您的缓存无法创建 VPC 端点,则您可能会遇到权限问题。要解决权限问题,请参阅如何解决 ElastiCache 无服务器集群创建问题?
您的 IAM 用户或角色没有正确的权限
如果您的 IAM 用户或角色没有正确的权限,您可能会收到以下错误消息:
“调用 CreateReplicationGroup 操作时出现错误 (AccessDenied): 用户 arn:aws:sts::xxxxxxxxx:assumed-role/Hello123 无权对资源 arn:aws:elasticache:ap-southeast-2:xxxxxxxxxx:replicationgroup:ROLEA 执行 elasticache:CreateReplicationGroup,因为没有任何基于身份的策略允许执行 elasticache:CreateReplicationGroup 操作”。
当您在 ElastiCache 中使用自定义管理的 IAM 策略时,请执行以下操作之一:
您的 AWS 账户需要更高的服务配额
您的账户有每个 AWS 服务的默认配额,每个配额都特定于您的区域。
如果您的账户没有所需的服务配额,您可能会收到以下错误消息之一:
- “超出缓存子网组配额。在此区域中最多可以有 500 个缓存子网组。如果您需要更多,请访问支持中心并提交‘提高服务限额’案例。”
- “超出客户节点配额。在此区域中最多可以有 1250 个节点。如果您需要更多,请访问支持中心并提交‘提高服务限额’案例。”
您可以申请增加某些配额。有关配额以及如何增加配额的信息,请参阅 Quotas for ElastiCache。
您错误配置了引擎的特定参数
如果您没有指定引擎版本的参数组,则可能会收到以下错误消息:
“调用 CreateReplicationGroup 操作时出现错误 (InvalidParameterCombination): 预期为 redis7 系列的参数组,但找到的是 redis6.x 系列的参数组。用户必须验证所使用的参数组的引擎版本是否与创建的集群相匹配。”
创建 ElastiCache 集群时,请确保正确的参数组与引擎版本和集群模式类型相匹配。
相关信息
Elasticache 的工作原理