A Terraform module to create an Amazon Web Services (AWS) ECS Service on top of an ECS cluster.
module "container_service" {
source = "git::ssh://[email protected]/kgirthofer/ecs_service_terraform?ref=0.1.0"
cluster_name = "test-cluster"
alb_container_name = "nginx-frontend"
alb_security_groups = [...]
health_check_path = "/health_check"
alb_container_port = 80
public_subnet_ids = [...]
alb_internal_bool = true
custom_url = "whatever"
service_desired_count = 3
service_asg_min_cap = 3
service_asg_max_cap = 12
project = "docker-test-app"
task_definition = "docker-test-app:1"
environment = "stg"
}
alb_container_name
- Name of the container the ALB should route traffic too (Default:unknown
)alb_container_port
- Port the ALB will route traffic to on the container (Default:unknown
)alb_internal_bool
- Boolean flag to set the ALB to internal or public (Default:true
)custom_url
- Prefix for the URL - environment will append. I.e. test will be test-env.whatever.com (Defaultunknown
)domain_zone_id
- Route53 Hosted Zone ID (Default:unknown
)service_desired_count
- Number of services desired to run - Ignored after initial run (Default:1
)region
- Where it all happens (Default:us-east-1
)cpu_threshold_up
- Percentage of CPU utilization to trigger scaling up action (Default:60
)cpu_up_evaluation_periods
- How many periods of alarm until scaling up is triggered (Default:3
)cpu_up_time_period
- How much time is one period (Default:60
)cpu_up_cooldown
- How much time inbetween scaling actions in seconds (Default:240
)cpu_threshold_down
- Percentage of CPU utilization to trigger scaling down action (Default:20
)cpu_down_evaluation_periods
- How many periods of alarm until scalind down is triggered (Default1
)cpu_down_time_period
- How much time is one period (Default:300
)cpu_down_cooldown
- How much time inbetween scalind actions in seconds (Default:300
)service_asg_min_cap
- Minimum number of services running (Default:1
)service_asg_max_cap
- Maximum number of services running (Default:3
)project
- Name of the project or application (Default:unknown
)cluster_name
- Name of the cluster to launch into (Default:unknown
)task_definition
- Full task definition - taskdef:refNum (Default:unknown
)public_subnet_ids
- List of subnet ID's to launch ALB into - format ["subnet-xxxxxxxx", "subnet-xxxxxxxx"] (Default:unknown
)alb_security_groups
- List of security groups to attach to the ALB - format ["sg-xxxxxxxx", "sg-xxxxxxxx"] (Default:unknown
)environment
- Service environment (Default:unknown
)health_check_path
- Path for the ALB to register target health (Default:unknown
)port
- ALB exposed port (Default:80
)vpc_id
- VPC to launch into (Default:unknown
)ecs_service_role_name
- Service role needed to assuming permissions to adjust ECS cluster, ALB, and others (Default:unknown
)
name
- The container service Namelb_dns_name
- The raw DNS name for the ELB (A Record)