{"id":15155738,"url":"https://github.com/infraspecdev/terraform-aws-ecs","last_synced_at":"2026-01-27T04:33:55.080Z","repository":{"id":249944185,"uuid":"827200229","full_name":"infraspecdev/terraform-aws-ecs","owner":"infraspecdev","description":"Terraform module to create ECS Cluster that relies on self-managed EC2 instances","archived":false,"fork":false,"pushed_at":"2024-11-14T09:58:46.000Z","size":250,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-01-31T01:14:11.799Z","etag":null,"topics":["aws-ecs","aws-ecs-cluster","ec2","terraform-aws-module","terraform-module"],"latest_commit_sha":null,"homepage":"https://registry.terraform.io/modules/infraspecdev/ecs/aws/latest","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/infraspecdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-11T07:34:10.000Z","updated_at":"2024-11-14T09:58:50.000Z","dependencies_parsed_at":"2024-10-19T09:24:34.443Z","dependency_job_id":null,"html_url":"https://github.com/infraspecdev/terraform-aws-ecs","commit_stats":{"total_commits":63,"total_committers":2,"mean_commits":31.5,"dds":0.07936507936507942,"last_synced_commit":"0e527480834f923086b7be480ded681cad22df4c"},"previous_names":["infraspecdev/terraform-aws-ecs"],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infraspecdev%2Fterraform-aws-ecs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infraspecdev%2Fterraform-aws-ecs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infraspecdev%2Fterraform-aws-ecs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infraspecdev%2Fterraform-aws-ecs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/infraspecdev","download_url":"https://codeload.github.com/infraspecdev/terraform-aws-ecs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237964564,"owners_count":19394422,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws-ecs","aws-ecs-cluster","ec2","terraform-aws-module","terraform-module"],"created_at":"2024-09-26T18:43:06.872Z","updated_at":"2025-10-24T12:31:09.819Z","avatar_url":"https://github.com/infraspecdev.png","language":"HCL","readme":"\u003c!-- BEGIN_TF_DOCS --\u003e\n# terraform-aws-ecs\n\nA Terraform module to create ECS Cluster that relies on self-managed EC2 instances.\n\n## Architecture Diagram\n\n![ECS Architecture Diagram](https://github.com/infraspecdev/terraform-aws-ecs/raw/main/diagrams/ecs-architecture.png)\n\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_terraform\"\u003e\u003c/a\u003e [terraform](#requirement\\_terraform) | \u003e=  1.8.4 |\n| \u003ca name=\"requirement_aws\"\u003e\u003c/a\u003e [aws](#requirement\\_aws) | \u003e= 5.51.0 |\n\n## Providers\n\nNo providers.\n\n## Modules\n\n| Name | Source | Version |\n|------|--------|---------|\n| \u003ca name=\"module_asg\"\u003e\u003c/a\u003e [asg](#module\\_asg) | ./modules/asg | n/a |\n| \u003ca name=\"module_cluster\"\u003e\u003c/a\u003e [cluster](#module\\_cluster) | ./modules/cluster | n/a |\n\n## Resources\n\nNo resources.\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_asg_create_launch_template\"\u003e\u003c/a\u003e [asg\\_create\\_launch\\_template](#input\\_asg\\_create\\_launch\\_template) | Either to create a Launch Template to associate with the Autoscaling group | `bool` | `true` | no |\n| \u003ca name=\"input_asg_desired_capacity\"\u003e\u003c/a\u003e [asg\\_desired\\_capacity](#input\\_asg\\_desired\\_capacity) | The number of Amazon EC2 instances that should be running in the group. | `number` | n/a | yes |\n| \u003ca name=\"input_asg_health_check_type\"\u003e\u003c/a\u003e [asg\\_health\\_check\\_type](#input\\_asg\\_health\\_check\\_type) | (Optional) \"EC2\" or \"ELB\". Controls how health checking is done. | `string` | `\"EC2\"` | no |\n| \u003ca name=\"input_asg_iam_instance_profile_name\"\u003e\u003c/a\u003e [asg\\_iam\\_instance\\_profile\\_name](#input\\_asg\\_iam\\_instance\\_profile\\_name) | (Optional, Forces new resource) Name of the instance profile. | `string` | `null` | no |\n| \u003ca name=\"input_asg_iam_instance_profile_tags\"\u003e\u003c/a\u003e [asg\\_iam\\_instance\\_profile\\_tags](#input\\_asg\\_iam\\_instance\\_profile\\_tags) | (Optional) Map of resource tags for the IAM Instance Profile. | `map(string)` | `{}` | no |\n| \u003ca name=\"input_asg_iam_role_name\"\u003e\u003c/a\u003e [asg\\_iam\\_role\\_name](#input\\_asg\\_iam\\_role\\_name) | (Optional, Forces new resource) Friendly name of the role. | `string` | `null` | no |\n| \u003ca name=\"input_asg_iam_role_policy_attachments\"\u003e\u003c/a\u003e [asg\\_iam\\_role\\_policy\\_attachments](#input\\_asg\\_iam\\_role\\_policy\\_attachments) | (Optional) - The ARNs of the policies you want to apply | `list(string)` | \u003cpre\u003e[\u003cbr/\u003e  \"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role\"\u003cbr/\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_asg_iam_role_tags\"\u003e\u003c/a\u003e [asg\\_iam\\_role\\_tags](#input\\_asg\\_iam\\_role\\_tags) | Key-value mapping of tags for the IAM role. | `map(string)` | `{}` | no |\n| \u003ca name=\"input_asg_instances_tags\"\u003e\u003c/a\u003e [asg\\_instances\\_tags](#input\\_asg\\_instances\\_tags) | Resources Tags to propagate to the Instances | `map(string)` | `{}` | no |\n| \u003ca name=\"input_asg_launch_template\"\u003e\u003c/a\u003e [asg\\_launch\\_template](#input\\_asg\\_launch\\_template) | Launch Template to use with the Autoscaling group | \u003cpre\u003eobject({\u003cbr/\u003e    name = optional(string, null)\u003cbr/\u003e    block_device_mappings = optional(list(object({\u003cbr/\u003e      device_name = string\u003cbr/\u003e      ebs = optional(object({\u003cbr/\u003e        delete_on_termination = optional(bool, null)\u003cbr/\u003e        snapshot_id           = optional(string, null)\u003cbr/\u003e        volume_size           = optional(number, null)\u003cbr/\u003e        volume_type           = optional(string, null)\u003cbr/\u003e      }))\u003cbr/\u003e      no_device    = optional(any, null)\u003cbr/\u003e      virtual_name = optional(string, null)\u003cbr/\u003e    })), [])\u003cbr/\u003e    image_id               = optional(string, null)\u003cbr/\u003e    instance_type          = optional(string, null)\u003cbr/\u003e    vpc_security_group_ids = optional(list(string), [])\u003cbr/\u003e    key_name               = optional(string, null)\u003cbr/\u003e    user_data              = optional(string, null)\u003cbr/\u003e    tags                   = optional(map(string), {})\u003cbr/\u003e  })\u003c/pre\u003e | `{}` | no |\n| \u003ca name=\"input_asg_launch_template_id\"\u003e\u003c/a\u003e [asg\\_launch\\_template\\_id](#input\\_asg\\_launch\\_template\\_id) | Identifier of the Launch Template | `string` | `null` | no |\n| \u003ca name=\"input_asg_launch_template_version\"\u003e\u003c/a\u003e [asg\\_launch\\_template\\_version](#input\\_asg\\_launch\\_template\\_version) | (Optional) Template version. | `string` | `\"$Default\"` | no |\n| \u003ca name=\"input_asg_max_size\"\u003e\u003c/a\u003e [asg\\_max\\_size](#input\\_asg\\_max\\_size) | Maximum size of the Auto Scaling Group | `number` | n/a | yes |\n| \u003ca name=\"input_asg_min_size\"\u003e\u003c/a\u003e [asg\\_min\\_size](#input\\_asg\\_min\\_size) | Minimum size of the Auto Scaling Group | `number` | n/a | yes |\n| \u003ca name=\"input_asg_name\"\u003e\u003c/a\u003e [asg\\_name](#input\\_asg\\_name) | (Optional) Name of the Auto Scaling Group. | `string` | `null` | no |\n| \u003ca name=\"input_asg_protect_from_scale_in\"\u003e\u003c/a\u003e [asg\\_protect\\_from\\_scale\\_in](#input\\_asg\\_protect\\_from\\_scale\\_in) | (Optional) Whether newly launched instances are automatically protected from termination by Amazon EC2 Auto Scaling when scaling in. | `bool` | `false` | no |\n| \u003ca name=\"input_asg_tags\"\u003e\u003c/a\u003e [asg\\_tags](#input\\_asg\\_tags) | Resources Tags for Autoscaling group | `map(string)` | `{}` | no |\n| \u003ca name=\"input_asg_vpc_zone_identifier\"\u003e\u003c/a\u003e [asg\\_vpc\\_zone\\_identifier](#input\\_asg\\_vpc\\_zone\\_identifier) | (Optional) List of subnet IDs to launch resources in. | `list(string)` | `[]` | no |\n| \u003ca name=\"input_cluster_name\"\u003e\u003c/a\u003e [cluster\\_name](#input\\_cluster\\_name) | (Required) Name of the cluster | `string` | n/a | yes |\n| \u003ca name=\"input_cluster_service_connect_namespace\"\u003e\u003c/a\u003e [cluster\\_service\\_connect\\_namespace](#input\\_cluster\\_service\\_connect\\_namespace) | (Optional) ARN of the aws\\_service\\_discovery\\_http\\_namespace that's used when you create a service and don't specify a Service Connect configuration. | `string` | `null` | no |\n| \u003ca name=\"input_cluster_setting\"\u003e\u003c/a\u003e [cluster\\_setting](#input\\_cluster\\_setting) | (Optional) Configuration block(s) with cluster settings. | \u003cpre\u003elist(object({\u003cbr/\u003e    name  = string\u003cbr/\u003e    value = string\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_cluster_tags\"\u003e\u003c/a\u003e [cluster\\_tags](#input\\_cluster\\_tags) | (Optional) Key-value map of resource tags. | `map(string)` | `{}` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_asg_arn\"\u003e\u003c/a\u003e [asg\\_arn](#output\\_asg\\_arn) | ARN for this Auto Scaling Group. |\n| \u003ca name=\"output_asg_iam_instance_profile_arn\"\u003e\u003c/a\u003e [asg\\_iam\\_instance\\_profile\\_arn](#output\\_asg\\_iam\\_instance\\_profile\\_arn) | ARN assigned by AWS to the instance profile. |\n| \u003ca name=\"output_asg_iam_instance_profile_id\"\u003e\u003c/a\u003e [asg\\_iam\\_instance\\_profile\\_id](#output\\_asg\\_iam\\_instance\\_profile\\_id) | Instance profile's ID. |\n| \u003ca name=\"output_asg_iam_role_id\"\u003e\u003c/a\u003e [asg\\_iam\\_role\\_id](#output\\_asg\\_iam\\_role\\_id) | Name of the role. |\n| \u003ca name=\"output_asg_id\"\u003e\u003c/a\u003e [asg\\_id](#output\\_asg\\_id) | Auto Scaling Group id. |\n| \u003ca name=\"output_asg_launch_template_arn\"\u003e\u003c/a\u003e [asg\\_launch\\_template\\_arn](#output\\_asg\\_launch\\_template\\_arn) | Amazon Resource Name (ARN) of the launch template. |\n| \u003ca name=\"output_asg_launch_template_id\"\u003e\u003c/a\u003e [asg\\_launch\\_template\\_id](#output\\_asg\\_launch\\_template\\_id) | The ID of the launch template. |\n| \u003ca name=\"output_cluster_arn\"\u003e\u003c/a\u003e [cluster\\_arn](#output\\_cluster\\_arn) | ARN that identifies the cluster. |\n| \u003ca name=\"output_cluster_id\"\u003e\u003c/a\u003e [cluster\\_id](#output\\_cluster\\_id) | Identifier of the ECS Cluster |\n| \u003ca name=\"output_cluster_name\"\u003e\u003c/a\u003e [cluster\\_name](#output\\_cluster\\_name) | Name of the ECS Cluster |\n\u003c!-- END_TF_DOCS --\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfraspecdev%2Fterraform-aws-ecs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finfraspecdev%2Fterraform-aws-ecs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfraspecdev%2Fterraform-aws-ecs/lists"}