ecs
DNXLabs/ecs/aws
This terraform module builds an Elastic Container Service(ECS) Cluster in AWS.
Install
README
terraform-aws-ecs   This terraform module builds an Elastic Container Service(ECS) Cluster in AWS. The following resources will be created: - Elastic File System (EFS) - Auto Scaling - CloudWatch alarms for (Application Load Balancer ,Auto Scale,ECS and EFS) - S3 Bucket to store logs from the application Load Balancer access - Security groups for (ALB,ALB-INTERNAL,ECS NODES, RDS DB) - Web Application Firewall (WAF) - Instances for ECS Workers - IAM roles and policies for the container instances In addition you have the option to create or not : - Application Load Balancer (ALB) - alb - An external ALB - alb_internal - A second internal ALB for priv
Inputs (50)
| Name | Type | Description | Default |
|---|---|---|---|
| certificate_arn | string | required | |
| secure_subnet_ids | list(string) | List of secure subnet IDs for EFS. | required |
| name | string | Name of this ECS cluster. | required |
| public_subnet_ids | list(string) | List of public subnet IDs for ECS ALB. | required |
| alarm_ecs_high_memory_threshold | number | Max threshold average Memory percentage allowed in a 2 minutes interval (use 0 t | 80 |
| security_group_ecs_nodes_outbound_cidrs | list(string) | ECS Nodes outbound allowed CIDRs for the security group. | [
"0.0.0.0/0"
] |
| asg_max | number | Max number of instances for autoscaling group. | 4 |
| alarm_sns_topics | list | Alarm topics to create and alert on ECS instance metrics. | [] |
| alarm_asg_high_cpu_threshold | number | Max threshold average CPU percentage allowed in a 2 minutes interval (use 0 to d | 80 |
| provisioned_throughput_in_mibps | number | The throughput, measured in MiB/s, that you want to provision for the file syste | 0 |
| architecture | string | Architecture to select the AMI, x86_64 or arm64 | "x86_64" |
| schedule_cron_stop | string | Cron expression to define when to trigger a stop of the auto-scaling group. E.g. | "" |
| security_group_ids | list(string) | Extra security groups for instances. | [] |
| efs_key_arn | string | ARN of a KMS Key to use on EFS volumes | "" |
| code_deploy | bool | Enables CodeDeploy role to be used for deployment | true |
| alb_sg_allow_alb_test_listener | bool | Whether to allow world access to the test listeners | true |
| throughput_mode | string | Throughput mode for the file system. Defaults to bursting. Valid values: burstin | "bursting" |
| efs_lifecycle_transition_to_ia | string | Option to enable EFS Lifecycle Transaction to IA | "" |
| alb_enable_deletion_protection | bool | Enable deletion protection for ALBs | false |
| certificate_internal_arn | string | certificate arn for internal ALB. | "" |
| asg_target_capacity | number | Target average capacity percentage for the ECS capacity provider to track for au | 70 |
| schedule_cron_start | string | Cron expression to define when to trigger a start of the auto-scaling group. E.g | "" |
| wafv2_managed_rule_groups | list(string) | List of WAF V2 managed rule groups, set to count | [
"AWSManagedRulesCommonRuleSet"
] |
| alarm_ecs_high_cpu_threshold | number | Max threshold average CPU percentage allowed in a 2 minutes interval (use 0 to d | 80 |
| … and 10 more inputs | |||
Outputs (27)
private_key_pemecs_service_iam_role_nameecs_iam_role_nameecs_service_iam_role_arnecs_codedeploy_iam_role_arnecs_idalb_listener_https_arnalb_internal_listener_https_arnalb_arnalb_internal_idecs_task_iam_role_arnecs_task_iam_role_namealb_listener_test_traffic_arnalb_internal_secgrp_idefs_fs_idalb_idalb_dns_namealb_zone_idalb_internal_zone_idecs_iam_role_arnalb_internal_listener_test_traffic_arnecs_nodes_secgrp_idalb_secgrp_idalb_internal_arnalb_internal_dns_nameecs_arnecs_nameResources (27)
Topics & Tags
Details
Similar packages
Azure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,