跳至内容

如何解决 ElastiCache 无服务器集群创建问题?

2 分钟阅读
0

我想解决我在创建 Amazon ElastiCache 无服务器集群时遇到的问题。

简短描述

以下原因可能会导致 ElastiCache 无服务器集群出现故障:

  • AWS Identity and Access Management (IAM) 权限问题
  • IP 地址耗尽
  • Virtual Private Cloud (VPC) 端点配额
  • 网络接口 (NIC) 或安全组配额
  • AWS Key Management Service (AWS KMS) 密钥访问问题
  • 子网不足

解决方法

IAM 权限问题

如果您没有创建 VPC 端点所需的权限,则您可能会收到以下错误消息之一:

  • 对于集群事件: “未能创建缓存 [cluster-name]。您没有创建 VPC 端点的权限。”
  • 对于 AWS CloudTrail: 查找“errorCode”: “Client.UnauthorizedOperation”和“errorMessage”: “您无权执行此操作。用户 [ARN] 未获授权,无法对资源 [resource-ARN] 执行 ec2:CreateVpcEndpoint 操作,因为基于身份的策略中存在显式拒绝。”

要创建 VPC 端点,IAM 角色或用户必须具有必要的权限。要检查您是否具有创建 VPC 端点所需的权限,请在运行 CreateVpcEndpoint API 时使用 DryRun 参数。

IP 地址耗尽

如果您没有足够的 IP 地址来创建 VPC 端点,则您可能会收到一条类似于以下的错误消息:

“未能创建缓存 [cluster-name]。可用的 IP 地址不足,无法创建 vpc 端点。”

要解决此问题,请执行以下操作之一:

  • 将您的集群部署到不同的子网中。
  • 删除可能占用您的 IP 地址的未使用资源,例如 NICs

VPC 端点配额

如果您已达到创建 VPC 端点的配额,则您可能会收到以下错误消息之一:

  • 对于集群事件: “未能创建缓存 [cluster-name]。已达到创建 VPC 端点的配额限制。”
  • 对于 AWS CloudTrail: 查找“errorCode”: “Client.VpcEndpointLimitExceeded”和“errorMessage”: “已超过每个 VPC 的 VPC 端点 [current quota] 的限制。”

要解决此问题,请完成以下步骤以申请增加配额:

  1. 在您所在的 AWS 区域中打开服务配额控制台
  2. 对于 AWS Services(AWS 服务),选择 Amazon Virtual Private Cloud (Amazon VPC)
  3. 选择 Interface VPC endpoints per VPC(每个 VPC 的接口 VPC 端点),然后申请增加。

NIC 或安全组配额

如果您已达到 NIC 或安全组配额,则您可能会在 AWS CloudTrail 中收到以下错误消息:

“errorCode”: “Client.NetworkInterfaceLimitExceeded”和“errorMessage”: “已达到网络接口或安全组的限制!”

要解决此问题,请删除未使用的 NIC 或安全组。此外,请将安全组与多个 VPC 关联

或者,完成以下步骤以申请增加配额:

  1. 在您所在的区域中打开服务配额控制台
  2. 对于 AWS Services(AWS 服务),选择 Amazon Virtual Private Cloud (Amazon VPC)
  3. 选择 Network interfaces per Region(每个区域的网络接口数)或 VPC security groups per Region(每个区域的 VPC 安全组数),然后请求增加。

AWS KMS 密钥访问问题

如果您在创建无服务器缓存时尝试使用 AWS KMS 密钥访问权限,则密钥访问将被拒绝。

您会收到以下错误消息:

“调用 CreateServerlessCache 操作时出现错误 (InvalidParameterValue): 密钥 ID 为 [kms-key-arn] 的 KMS 密钥访问被拒绝”

要解决此问题,请更新 IAM 角色或用户权限。角色或用户必须具有使用指定 AWS KMS 密钥的权限。

子网不足

创建无服务器缓存时,您可能会收到以下错误消息:

“调用 CreateServerlessCache 操作时出现错误 (InvalidParameterValue): 客户账户 VPC 至少应该有 <number> 默认子网。”

选择 ElastiCache 无服务器子网的方式取决于您所在的区域。如果您未提供特定的子网 ID,则默认情况下会在您的 VPC 内的不同可用区中选择子网。例如,您可能会在美国西部(北加利福尼亚)us-west-1 区域获得两个默认子网,在所有其他区域获得三个默认子网。

要解决此问题,请向您的 VPC 添加子网

相关信息

Elasticache 的工作原理

排查访问被拒绝错误消息

AWS 官方已更新 2 年前