From 8b0dc55125758695e9e7e0e760f1f446c3dd5994 Mon Sep 17 00:00:00 2001 From: Edward Viaene Date: Wed, 26 Oct 2016 09:44:13 +0000 Subject: [PATCH] docker-demo-2 --- docker-demo-2/ecs.tf | 23 +++++++ docker-demo-2/iam.tf | 113 +++++++++++++++++++++++++++++++++ docker-demo-2/key.tf | 7 ++ docker-demo-2/provider.tf | 3 + docker-demo-2/securitygroup.tf | 21 ++++++ docker-demo-2/vars.tf | 21 ++++++ docker-demo-2/vpc.tf | 110 ++++++++++++++++++++++++++++++++ 7 files changed, 298 insertions(+) create mode 100644 docker-demo-2/ecs.tf create mode 100644 docker-demo-2/iam.tf create mode 100644 docker-demo-2/key.tf create mode 100644 docker-demo-2/provider.tf create mode 100644 docker-demo-2/securitygroup.tf create mode 100644 docker-demo-2/vars.tf create mode 100644 docker-demo-2/vpc.tf diff --git a/docker-demo-2/ecs.tf b/docker-demo-2/ecs.tf new file mode 100644 index 0000000..651cf63 --- /dev/null +++ b/docker-demo-2/ecs.tf @@ -0,0 +1,23 @@ +resource "aws_launch_configuration" "ecs-example-launchconfig" { + name_prefix = "ecs-launchconfig" + image_id = "${lookup(var.ECS_AMIS, var.AWS_REGION)}" + instance_type = "${var.ECS_INSTANCE_TYPE}" + key_name = "${aws_key_pair.mykeypair.key_name}" + iam_instance_profile = "${aws_iam_instance_profile.ecs-ec2-role.id}" + security_groups = ["${aws_security_group.ecs-securitygroup.id}"] + user_data = "#!/bin/bash\necho 'ECS_CLUSTER=example' > /etc/ecs/ecs.config\nstart ecs" + lifecycle { create_before_destroy = true } +} +resource "aws_autoscaling_group" "ecs-example-autoscaling" { + name = "ecs-example-autoscaling" + vpc_zone_identifier = ["${aws_subnet.main-private-1.id}", "${aws_subnet.main-private-2.id}"] + launch_configuration = "${aws_launch_configuration.ecs-example-launchconfig.name}" + min_size = 3 + max_size = 5 + desired_capacity = 3 + tag { + key = "Name" + value = "ecs-ec2-container" + propagate_at_launch = true + } +} diff --git a/docker-demo-2/iam.tf b/docker-demo-2/iam.tf new file mode 100644 index 0000000..ca5616f --- /dev/null +++ b/docker-demo-2/iam.tf @@ -0,0 +1,113 @@ +# ecs ec2 role +resource "aws_iam_role" "ecs-ec2-role" { + name = "ecs-ec2-role" + assume_role_policy = <