我想解决我在创建 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] 的限制。”
要解决此问题,请完成以下步骤以申请增加配额:
- 在您所在的 AWS 区域中打开服务配额控制台。
- 对于 AWS Services(AWS 服务),选择 Amazon Virtual Private Cloud (Amazon VPC)。
- 选择 Interface VPC endpoints per VPC(每个 VPC 的接口 VPC 端点),然后申请增加。
NIC 或安全组配额
如果您已达到 NIC 或安全组配额,则您可能会在 AWS CloudTrail 中收到以下错误消息:
“errorCode”: “Client.NetworkInterfaceLimitExceeded”和“errorMessage”: “已达到网络接口或安全组的限制!”
要解决此问题,请删除未使用的 NIC 或安全组。此外,请将安全组与多个 VPC 关联。
或者,完成以下步骤以申请增加配额:
- 在您所在的区域中打开服务配额控制台。
- 对于 AWS Services(AWS 服务),选择 Amazon Virtual Private Cloud (Amazon VPC)。
- 选择 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 的工作原理
排查访问被拒绝错误消息