Skip to content

sychevsky/terraform-ecs-demo

Repository files navigation

Terraform AWS ECS (+ Docker Registry)

Usage

terraform apply -var-file=dev.tfvars

Note - This is still a work in progress, so expect issues and bugs .. Feel free to jump in and start fixing things.

This repo contains a Terraform plan to run up an Amazon ECS cluster with a private Docker registry.

Inspired from http://blog.codeship.com/running-a-private-docker-registry-on-ec2/

Includes -

  • Private S3 bucket for container registry data
  • Docker container running allingeek/registry:2-s3 (by default)
  • ECS cluster, launch configuration and autoscaling group

### Prerequisites

### Usage

  1. Clone the repo
  2. Set some required variables -
export TF_VAR_key_name=name of ssh key
export TF_VAR_key_file=the ssh key file to use
export TF_VAR_aws_access_key=The AWS access key ID
export TF_VAR_aws_secret_key=The AWS secret key

Run the plan -

terraform apply

Alternatively the variables can be passed on the command line e.g. -

terraform apply -var 'key_name=name' -var 'key_file=path_to_file' -var 'aws_access_key=access_key' -var 'aws_secret_key=secret_key'

For a full list of overridable variables see variables.tf

### Known issues

If you are using terraform v0.6.3 and encounter this error -

* aws_ecs_service.s3-registry-elb: InvalidParameterException: Unable to assume role and validate the listeners configured on your load balancer.  Please verify the role being passed has the proper permissions.
  status code: 400, request id: []

This is probably down to this bug / issue with waits/timeouts - hashicorp/terraform#2869.

You can either compile terraform from the latest master branch, or re-run the terraform apply again which should succeed the second time.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages