ecs-fargate
g31s/ecs-fargate/aws
ECS Fargate Terraform Module with Appmesh and Cloudmap support
Terraform AWS ECS Fargate Module The module is developed to quickly implement fargate cluster for appmesh microservices or virtual gateway. Following are the features Features - Appmesh - Cloudmap service - Virtual Gateway envoy proxy with a load balancer - Sidecars supported: - envoy proxy - aws xray - Secret Manager - Parameter Store - Elastic container registry (ECR) - Auto Scaling - Cloudwatch Dashboard - SSL cert on LB - Cloudwatch Dashboard Security Recommendations We suggest that you provide KMS keys for ECR and Cloudwatch encryption. Example Following example creates fargate cluster for appmesh service `` module "test" { source = "github.com/g31s/ecs-fargate" // project variables region = var.region vpc = "vpc object" env = "dev" // app variables app_name = "test" app_port = "80" c
| Name | Type | Description | Default |
|---|---|---|---|
| vpc | string | vpc id to create resources | required |
| env | string | app deployment environment | required |
| app_name | string | application name | required |
| app_port | string | app port to expose | required |
| cloudmap_service | string | register service in cloudmap | required |
| appmesh | string | appmesh resource to create virtual node and service | required |
| region | string | region where to create resources | required |
| parameters | list | allow farget task to access parameter store | [] |
| fargate_memory | string | fargate instance memory to provision (in MiB) | "2048" |
| secrets | list | allow fargate task access to secret manager secrets. | [] |
| lb_access_logs_s3_bucket | string | s3 name to store lb vars | "" |
| max_task_count | number | minimum number of app containers running | 10 |
| nlb_stickiness | bool | enable stickiness for network load balancer | false |
| health_check | bool | enable healthcheck for taget group | true |
| tags | map(string) | tags to add to all resources created with this module | {
"Module": "ecs-fargate",
"Terrafor |
| sg_prefixs | list(string) | vpc endpoint prefixs to be added to sg | [] |
| health_check_timeout | number | set timeout for healthcheck in seconds | 10 |
| min_task_count | number | minimum number of app containers running | 1 |
| aws_appmesh_virtual_node_arn | string | set appmesh virtual node arn | "none" |
| ecr_kms_key_arn | string | provide ecr kms key for customer encryption | "" |
| enable_cross_zone_load_balancing | bool | enable cross zone load balancing for lb | false |
| cw_dashboard | string | set to true to add cloudwatch dashboard | "none" |
| log_retention_in_days | number | log retention logs in days | 90 |
| cloudwatch_kms_key_arn | string | provide cloud watch kms key for customer encryption | "" |
| app_image | string | docker image or by default creates ECS repo | "none" |
| xray | bool | add xray daemon as sidecar | false |
| extra_ports | list(string) | additional ports to expose. useful case: rabbitmq | [] |
ecr_repo_name — ECR repo namenlb_arnnlb_dns_namenlb_zone_idtarget_group_arnecs_cluster_arn — ECS cluster arnecs_service_arn — ECS service arnecr_repo_url — ECR repo urlAzure 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,