I am creating a VPC with ec2 instances and 2 subnets and 2 availability zones through a cloudformation template,
I always get the same error when reaching the stage of creating the RDS cluster /
Your subnet group doesn't have enough availability zones for a storage cluster. You must have at least two availability zones to map to a storage cluster.
you can find the templates in this link :
link to templates
I just ran into this same issue and I was definitely using 2 subnets from 2 different AZs. There might be some underlying backend issue... selecting different AZs worked for me. ie - I was trying subnets from us-east-1a and us-east-1b, I switched to using subnets from us-east-1c and us-east-1d and it worked.
I contacted AWS and they told me this is because Aurora is not available on us-east-1b and us-east-1f
There is no documentation about it and they are looking to add these AZs, but in the meantime you'll need to use another AZ
The error which you have posted occurs when your DBSubnetGroup is confined to a single availability zone. I think both of your subnets are getting created in the same AZ.
In the AWS::EC2::Subnet documentation, it is recommended to leave the AZ allocation for subnet to AWS.
Removal of the Availability zone should resolve your issue.
Hope this helps.
Related
As part of our project we are using AWS RDS postgres service. While creating RDS service AWS mandated to create two subnets from different AZs (ex: us-west-2a and us-west-2b). But we have only one subnet. Is there any way to overcome this problem.
Thanks in advance.
To ensure High Availability, you need to specify subnets in two different Availability Zones (AZs).
Each AZ operates in a different data center. If an AZ fails, the Amazon RDS service will automatically launch a replacement database in a different AZ. Therefore, it requires a minimum of two different AZs to be specfiied.
I'm trying to create an Aurora DB instance using a CloudFormation script. It requires me to have subnets with 2 availability zones. I entered 2 subnets which have different AZs, but now I get this error in the stack creation log:
DatabaseSubnetGroup: Subnet has different VPC Id: vpc-dd3bf9ba than vpc-e0e11ab7.
What does this error mean?
It sounds like the two subnets, although in different availability zones (AZs) are part of two separate VPCs (logical network isolation). You would need to select two subnets in different AZs but in the same VPC.
I have configured an AWS auto-scale group with 2 available zones: us-east-1a and us-east-1c . Today, with the issue AWS had on us-east-1a, I noticed that new instances are not created on us-east-1c zone.
Any clues on what I should check on?
Thank you.
Amazon EC2 Auto Scaling can deploy EC2 instances across multiple Availability Zones within one region.
It cannot deploy instances across multiple Availability Zones.
If you wish to implement redundancy across regions, you would need to configure Amazon Route 53 with a health check to route traffic to instances or load balancers in different regions. However, Auto Scaling would continue to operate independently in each region.
considering the statement :
When adding an RDS instance to VPC, there needs to be three subnets in
the subnet group across three different AZs for that VPC
what is the difference between three subnets and AZs here?
I know that we need AZs for any RDS instance and it is created automatically by amazon at deployment time. So, this of course means that there should be one subnet in each three AZs to enable access to RDS replicas and instances. Or it means that each AZ should have three subnets created within to enable that?
Amazon provides 99.95% RDS availability
Multi-AZ configurations for MySQL, MariaDB, Oracle, and PostgreSQL are covered by the Amazon RDS Service Level Agreement ("SLA"). The RDS SLA affirms that AWS will use commercially reasonable efforts to make Multi-AZ instances of Amazon RDS available with a Monthly Uptime Percentage of at least 99.95% during any monthly billing cycle.
In order to achieve that database has to be replicated in three different AZ. That is the reason why Amazon requires three subnets in three AZ. The relationship is:
The region has more than one AZ
AZ belongs only to one region
AZ has more than one data center
AZ can have more than one subnets. However, there is a soft limit of 200 subnets per AZ. You can ask Amazon for more than 200 if you need.
Subnet belongs only to one AZ
VPC belongs only to one region. You can have more than one VPC per region. However, there is a soft limit of 5 VPCs per region. You can ask Amazon for more than 5 if you need.
VPC can span more than one AZ.
You can have as many Subnets as you like in each AZ. By default AWS creates one VPC containing one Subnet in each AZ. The number of AZ varies from region to region.
The quote you gave in your question is saying that you must have three subnets, that these three subnets must all be be in different AZ but all three subnets must be in the same VPC.
We are trying to expand our reliability setup using VPC in us-west-1. The 'a' and 'b' AZs work fine, but when I try to create subnets on 'c' it just fails with the message:
Value (us-west-1c) for parameter availabilityZone is invalid.
Subnets can currently only be created in the following availability zones:
us-west-1b, us-west-1a.
Is this a transient failure or are there just only two VPC-enabled AZs in that region? If the latter, is there a list somewhere with how many AZs in each region are VPC-enabled?
Each AWS account has own set of the AZ. Get list of the available AZ you can help with AWS cli tools:
aws ec2 describe-availability-zones
See details here: http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-availability-zones.html