Terraform module which create an ECS service into an ECS cluster passed as an argument
module "ecs-service" {
source = "git::https://github.com/egarbi/terraform-aws-ecs-service"
name = "example"
environment = "testing"
desired_count = "1"
cluster = "example-cluster"
vpc_id = "vpc-XXXXXXX"
zone_id = "Z4KAPRWWNC7JR"
iam_role = "arn:aws:iam::12345678910:role/ec2_role"
rule_priority = "10"
alb_listener = "arn:aws:elasticloadbalancing:eu-west-1:12345678910:listener/app/example/1e590za2072344a6nc01fh545fb2301d1"
alb_zone_id = "Z4KAPRXXXC7JR"
alb_dns_name = "example"
container_definitions = "${file("container_definitions.json")}"
}
The referenced container_definitions.json
file contains a valid JSON document, which is shown below, and its content is going to be passed directly into the container_definitions attribute as a string. Please note that this example contains only a small subset of the available parameters.
[
{
"name": "first",
"image": "service-first",
"cpu": 10,
"memory": 512,
"essential": true,
"portMappings": [
{
"containerPort": 80,
"hostPort": 80
}
]
},
{
"name": "second",
"image": "service-second",
"cpu": 10,
"memory": 256,
"essential": true,
"portMappings": [
{
"containerPort": 443,
"hostPort": 443
}
]
}
]