An open API service indexing awesome lists of open source software.

https://github.com/geekcell/terraform-aws-ecs-cluster

Terraform module to provision an AWS ECS Cluster.
https://github.com/geekcell/terraform-aws-ecs-cluster

aws ecs ecs-cluster elastic-container-service terraform terraform-module

Last synced: about 1 year ago
JSON representation

Terraform module to provision an AWS ECS Cluster.

Awesome Lists containing this project

README

          

[![Geek Cell GmbH](https://raw.githubusercontent.com/geekcell/.github/main/geekcell-github-banner.png)](https://www.geekcell.io/)

### Code Quality
[![License](https://img.shields.io/github/license/geekcell/terraform-aws-ecs-cluster)](https://github.com/geekcell/terraform-aws-ecs-cluster/blob/master/LICENSE)
[![GitHub release (latest tag)](https://img.shields.io/github/v/release/geekcell/terraform-aws-ecs-cluster?logo=github&sort=semver)](https://github.com/geekcell/terraform-aws-ecs-cluster/releases)
[![Release](https://github.com/geekcell/terraform-aws-ecs-cluster/actions/workflows/release.yaml/badge.svg)](https://github.com/geekcell/terraform-aws-ecs-cluster/actions/workflows/release.yaml)
[![Validate](https://github.com/geekcell/terraform-aws-ecs-cluster/actions/workflows/validate.yaml/badge.svg)](https://github.com/geekcell/terraform-aws-ecs-cluster/actions/workflows/validate.yaml)
[![Lint](https://github.com/geekcell/terraform-aws-ecs-cluster/actions/workflows/linter.yaml/badge.svg)](https://github.com/geekcell/terraform-aws-ecs-cluster/actions/workflows/linter.yaml)

# Terraform AWS ECS Cluster

This Terraform module provides a preconfigured solution for setting up an Amazon Elastic Container Service (ECS)
Cluster with enabled Container Insights, logging, and advanced monitoring. With this module, you can easily launch,
manage, and scale your Docker containers and applications in the cloud while having complete visibility into their
performance and health.

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [enable\_container\_insights](#input\_enable\_container\_insights) | Enable CloudWatch Container Insights for the cluster. | `bool` | `true` | no |
| [encrypt\_ephemeral\_storage](#input\_encrypt\_ephemeral\_storage) | Encrypt the ECS ephemeral storage for the cluster. | `bool` | `false` | no |
| [encrypt\_execute\_command\_session](#input\_encrypt\_execute\_command\_session) | Encrypt execute command session for the cluster. | `bool` | `false` | no |
| [encrypt\_managed\_storage](#input\_encrypt\_managed\_storage) | Encrypt the ECS managed storage for the cluster. | `bool` | `false` | no |
| [logging\_execute\_command\_session](#input\_logging\_execute\_command\_session) | Log execute command session for the cluster. | `string` | `"DEFAULT"` | no |
| [name](#input\_name) | Name of the ECS cluster. | `string` | n/a | yes |
| [tags](#input\_tags) | Tags to add to the ECS cluster. | `map(any)` | `{}` | no |

## Outputs

| Name | Description |
|------|-------------|
| [arn](#output\_arn) | The ARN of the ECS cluster. |
| [command\_session\_cloudwatch\_log\_group\_arn](#output\_command\_session\_cloudwatch\_log\_group\_arn) | The ARN of the CloudWatch log group used to store the command session. |
| [command\_session\_kms\_arn](#output\_command\_session\_kms\_arn) | The ARN of the KMS key used to encrypt the command session. |
| [name](#output\_name) | The name of the ECS cluster. |
| [storage\_kms\_arn](#output\_storage\_kms\_arn) | The ARN of the KMS key used to encrypt the storage (managed and ephemeral). |

## Providers

| Name | Version |
|------|---------|
| [aws](#provider\_aws) | >= 5.59 |

## Resources

- resource.aws_cloudwatch_log_group.container_insights (main.tf#80)
- resource.aws_cloudwatch_log_group.main (main.tf#73)
- resource.aws_ecs_cluster.main (main.tf#10)
- data source.aws_caller_identity.current (main.tf#100)
- data source.aws_iam_policy_document.kms_storage (main.tf#101)

# Examples
### Basic Example
```hcl
module "basic-example" {
source = "../../"

name = var.name
}
```