remind101 / empire

A PaaS built on top of Amazon EC2 Container Service (ECS)
BSD 2-Clause "Simplified" License
2.69k stars 158 forks source link

bug(Bootstrap): Value (us-east-1b) for parameter availabilityZone is invalid #753

Open stavro opened 8 years ago

stavro commented 8 years ago

Didn't find any open issues discussing this.

$ ./bin/bootstrap
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This script produces an insecure demo or dev environment and is   !!
!! not meant to be ran in production. As well it is exposed to the   !!
!! internet and as such should not be left running without further   !!
!! locking down of the security groups.                              !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Do you want to continue? (y/N)y
AWS SSH KeyName: my-keypair 
Do you have a docker account & want to use it for private repo access? [y/N] N
==> Launching empire in AZs: us-east-1a us-east-1b, Cloudformation Stack empire-738e8f49
==> Waiting for stack to complete
==> Status: ROLLBACK_IN_PROGRESS
Stack creation failed, check AWS cloudformation console for details.

Examining the Aws console:

image

Looks like the root cause:

Value (us-east-1b) for parameter availabilityZone is invalid. Subnets can currently only be created in the following availability zones: us-east-1a, us-east-1c, us-east-1d, us-east-1e.
stavro commented 8 years ago

Output of my "safezones" command:

$ aws ec2 describe-availability-zones --query 'AvailabilityZones[*].ZoneName' --output text | awk '{print $1, $2}'
us-east-1a us-east-1b
stavro commented 8 years ago

Looks like this isn't really fixable.

Workaround: export ZONES="us-east-1a us-east-1c"

We should consider adding this to the quickstart docs.

ejholmes commented 8 years ago

I think I've run into this before as well. The problem was because I accidentally deleted the default subnets that a new AWS account creates by default.

From http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html#deleting-default-vpc

If you delete your default VPC and need a new one, you can contact AWS Support to create a new default VPC in that region for you. You cannot mark an existing VPC as a default VPC.

So I just contacted AWS support and had them fix it for me.