You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

因VPC子网问题无法在AWS中创建Redis OSS缓存

问题:创建Amazon ElastiCache Redis OSS时提示需至少3个默认子网

尝试在AWS中创建Amazon ElastiCache Redis OSS缓存,持续收到错误:Customer account VPC should have a minimum of 3 default subnets.(客户账户VPC应至少包含3个默认子网)。以下是配置详情及已做的排查:

VPC与子网

  • VPC ID: vpc-xxxxxxxxxxxxxxxxx
  • 子网列表:
    • myapp-subnet-public1-us-west-2a (10.0.0.0/20)
    • myapp-subnet-public2-us-west-2b (10.0.16.0/20)
    • myapp-subnet-public3-us-west-2c (10.0.192.0/20)(已启用自动分配公有IPv4地址)
    • myapp-subnet-private1-us-west-2a (10.0.128.0/20)
    • myapp-subnet-private2-us-west-2b (10.0.144.0/20)
    • myapp-subnet-private3-us-west-2c (10.0.208.0/20)

路由表配置

  • myapp-rtb-public3-us-west-2c(主路由表)
    • 路由规则:
      • 目标 0.0.0.0/0 -> 指向 igw-xxxxxxxxxxxxxxxxx
      • 目标 10.0.0.0/16 -> 指向 local
    • 关联子网(未显式关联,默认继承主路由表):
      • myapp-subnet-public3-us-west-2c
      • myapp-subnet-private3-us-west-2c
  • myapp-rtb-public
    • 路由规则:
      • 目标 0.0.0.0/0 -> 指向 igw-xxxxxxxxxxxxxxxxx
      • 目标 10.0.0.0/16 -> 指向 local
    • 显式关联子网:
      • myapp-subnet-public1-us-west-2a
      • myapp-subnet-public2-us-west-2b

已执行的排查步骤

  • 验证子网配置:
    • 确认子网CIDR块正确,对应可用区匹配
    • 为所有公有子网启用自动分配公有IPv4地址
    • 确认子网状态可用,CIDR范围无重叠
  • 配置路由表:
    • 创建路由表并添加互联网访问、VPC本地通信路由
    • 确保主路由表包含0.0.0.0/0指向互联网网关、10.0.0.0/16指向local的规则
    • 将两个公有子网显式关联到myapp-rtb-public路由表
  • 检查子网关联:
    • 验证子网与路由表关联正确
    • 确认myapp-subnet-public3-us-west-2c属于主路由表
    • 再次确认所有公有子网已启用自动分配公有IPv4地址
  • 重命名与一致性检查:
    • 统一子网和路由表命名规则,避免冲突
    • 重命名后更新所有引用和关联,确保配置一致
  • 整体验证:
    • 通过AWS控制台确认配置无差异
    • 检查所有设置符合AWS最佳实践

当前问题

子网和路由表配置无误,但仍无法创建Redis OSS缓存,持续收到需至少3个默认子网的错误提示。

补充信息

  • 所有子网状态可用,已正确关联对应路由表
  • 无安全组或网络ACL限制子网可用性
  • VPC配置正确,已附加互联网网关,路由设置无误

排查思路与解决建议

1. 明确ElastiCache对子网的要求

ElastiCache创建集群模式(Cluster Mode Enabled)的Redis时,要求选择的子网组中包含至少3个不同可用区的子网(对应多AZ部署)。错误提示里的"default subnets"实际指的是创建缓存时选择的子网组需满足3个不同可用区的子网要求,而非AWS账户的默认VPC子网。

2. 检查子网组配置

  • 登录AWS控制台进入ElastiCache服务,左侧导航栏选择Subnet Groups
  • 确认你要使用的子网组是否包含至少3个分属不同可用区(us-west-2a、us-west-2b、us-west-2c各一个)的子网
  • 若子网组不满足要求,创建新的子网组,添加至少3个不同可用区的子网(建议使用私有子网,ElastiCache无需公网访问,私有子网更符合安全最佳实践)

3. 确认子网的可用区覆盖

你的子网已覆盖us-west-2的3个可用区,需确保在子网组中每个可用区至少有一个子网被选中,不能遗漏任一可用区。

4. 检查子网状态与权限

  • 确认加入子网组的所有子网状态为available
  • 验证操作的IAM用户/角色拥有elasticache:CreateCacheCluster或elasticache:CreateReplicationGroup权限,同时拥有ec2:DescribeSubnets权限(用于AWS验证子网可用性)

5. 尝试切换创建模式

如果不需要集群模式,可尝试创建非集群模式(Cluster Mode Disabled)的Redis缓存,此时仅需至少2个可用区的子网即可。但如果需要高可用与横向扩展能力,建议配置符合要求的子网组使用集群模式。


内容的提问来源于stack exchange,提问作者umop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 14:53:09