I’m trying to create a Redis OSS cache using Amazon ElastiCache in AWS, but I’m getting “Customer account VPC should have a minimum of 3 default subnets.” I have set up my VPC with multiple subnets and route tables. The details of my setup are:
VPC and Subnets
- VPC ID:
vpc-xxxxxxxxxxxxxxxxx
- Subnets:
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) (Auto-assign public IPv4 address enabled)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)
Route Tables
-
myapp-rtb-public3-us-west-2c (Main Route Table)
- Routes:
- Destination
0.0.0.0/0
-> Targetigw-xxxxxxxxxxxxxxxxx
- Destination
10.0.0.0/16
-> Targetlocal
- Destination
- Subnets without explicit associations:
myapp-subnet-public3-us-west-2c
myapp-subnet-private3-us-west-2c
- Routes:
-
myapp-rtb-public
- Routes:
- Destination
0.0.0.0/0
-> Targetigw-xxxxxxxxxxxxxxxxx
- Destination
10.0.0.0/16
-> Targetlocal
- Destination
- Explicit Subnet Associations:
myapp-subnet-public1-us-west-2a
myapp-subnet-public2-us-west-2b
- Routes:
Steps Taken
-
Verified Subnet Configuration:
- Ensured that the subnets have the correct CIDR blocks and are in the correct Availability Zones.
- Enabled auto-assign public IPv4 address for all public subnets.
- Confirmed that the subnets are available and not overlapping in CIDR range.
-
Configured Route Tables:
- Created route tables and added routes for internet access and local VPC communication.
- Ensured that the main route table (
myapp-rtb-public3-us-west-2c
) has routes for0.0.0.0/0
pointing to the internet gateway and10.0.0.0/16
pointing to local. - Associated public subnets
myapp-subnet-public1-us-west-2a
andmyapp-subnet-public2-us-west-2b
explicitly with themyapp-rtb-public
route table.
-
Checked Subnet Associations:
- Verified that the subnets are correctly associated with the appropriate route tables.
- Made sure that
myapp-subnet-public3-us-west-2c
is in the main route table (myapp-rtb-public3-us-west-2c
). - Double-checked that all public subnets are set to auto-assign public IPv4 addresses.
-
Renaming and Consistency:
- Renamed subnets and route tables to a consistent naming convention to avoid any conflicts.
- Updated references and associations after renaming to ensure consistency.
-
Validation:
- Verified the entire setup through the AWS Management Console to ensure no discrepancies.
- Reviewed all settings and configurations to confirm they align with AWS best practices.
Problem
Despite having the subnets and route tables correctly configured, I am still unable to create the Redis OSS cache and receive the error about needing a minimum of 3 default subnets. What am I missing in my setup? How can I resolve this issue and successfully create the Redis OSS cache?
Additional Information
- All subnets are available and correctly associated with their respective route tables.
- There are no security group or networking constraints that should interfere with the subnet availability.
- The VPC is properly configured and the internet gateway is attached and routed correctly.
Any help or troubleshooting tips would be greatly appreciated!