Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/cn-terraform/terraform-aws-ecs-service-autoscaling

AWS ECS Service Autoscaling
https://github.com/cn-terraform/terraform-aws-ecs-service-autoscaling

autoscaling-ecs-task aws ecs-service terraform terraform-module

Last synced: 1 day ago
JSON representation

AWS ECS Service Autoscaling

Awesome Lists containing this project

README

        

# AWS ECS Service Autoscaling Module #

This Terraform module deploys autoscaling alarms for an AWS ECS Fargate service.

[![](https://github.com/cn-terraform/terraform-aws-ecs-service-autoscaling/workflows/terraform/badge.svg)](https://github.com/cn-terraform/terraform-aws-ecs-service-autoscaling/actions?query=workflow%3Aterraform)
[![](https://img.shields.io/github/license/cn-terraform/terraform-aws-ecs-service-autoscaling)](https://github.com/cn-terraform/terraform-aws-ecs-service-autoscaling)
[![](https://img.shields.io/github/issues/cn-terraform/terraform-aws-ecs-service-autoscaling)](https://github.com/cn-terraform/terraform-aws-ecs-service-autoscaling)
[![](https://img.shields.io/github/issues-closed/cn-terraform/terraform-aws-ecs-service-autoscaling)](https://github.com/cn-terraform/terraform-aws-ecs-service-autoscaling)
[![](https://img.shields.io/github/languages/code-size/cn-terraform/terraform-aws-ecs-service-autoscaling)](https://github.com/cn-terraform/terraform-aws-ecs-service-autoscaling)
[![](https://img.shields.io/github/repo-size/cn-terraform/terraform-aws-ecs-service-autoscaling)](https://github.com/cn-terraform/terraform-aws-ecs-service-autoscaling)

## Usage

Check valid versions on:
* Github Releases:
* Terraform Module Registry:

## Other modules that you may need to use this module

The Networking module:
* Github Releases:
* Terraform Module Registry:

The ECS cluster module:
* Github Releases:
* Terraform Module Registry:

The ECS Task Definition:
* Github Releases:
* Terraform Module Registry:

The ECS Service module:
* Github Releases:
* Terraform Module Registry:

## Install pre commit hooks.

Pleas run this command right after cloning the repository.

pre-commit install

For that you may need to install the folowwing tools:
* [Pre-commit](https://pre-commit.com/)
* [Terraform Docs](https://terraform-docs.io/)

In order to run all checks at any point run the following command:

pre-commit run --all-files

## Requirements

| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 0.13 |
| [aws](#requirement\_aws) | >= 4 |

## Providers

| Name | Version |
|------|---------|
| [aws](#provider\_aws) | 5.44.0 |

## Modules

No modules.

## Resources

| Name | Type |
|------|------|
| [aws_appautoscaling_policy.scale_down_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/appautoscaling_policy) | resource |
| [aws_appautoscaling_policy.scale_up_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/appautoscaling_policy) | resource |
| [aws_appautoscaling_target.scale_target](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/appautoscaling_target) | resource |
| [aws_cloudwatch_metric_alarm.cpu_high](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm) | resource |
| [aws_cloudwatch_metric_alarm.cpu_low](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm) | resource |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [cooldown](#input\_cooldown) | Cooldown period for scaling actions | `number` | `60` | no |
| [ecs\_cluster\_name](#input\_ecs\_cluster\_name) | Name of the ECS cluster | `any` | n/a | yes |
| [ecs\_service\_name](#input\_ecs\_service\_name) | Name of the ECS service | `any` | n/a | yes |
| [max\_cpu\_evaluation\_period](#input\_max\_cpu\_evaluation\_period) | The number of periods over which data is compared to the specified threshold for max cpu metric alarm | `string` | `"3"` | no |
| [max\_cpu\_period](#input\_max\_cpu\_period) | The period in seconds over which the specified statistic is applied for max cpu metric alarm | `string` | `"60"` | no |
| [max\_cpu\_threshold](#input\_max\_cpu\_threshold) | Threshold for max CPU usage | `string` | `"85"` | no |
| [min\_cpu\_evaluation\_period](#input\_min\_cpu\_evaluation\_period) | The number of periods over which data is compared to the specified threshold for min cpu metric alarm | `string` | `"3"` | no |
| [min\_cpu\_period](#input\_min\_cpu\_period) | The period in seconds over which the specified statistic is applied for min cpu metric alarm | `string` | `"60"` | no |
| [min\_cpu\_threshold](#input\_min\_cpu\_threshold) | Threshold for min CPU usage | `string` | `"10"` | no |
| [name\_prefix](#input\_name\_prefix) | Name prefix for resources on AWS | `any` | n/a | yes |
| [scale\_target\_max\_capacity](#input\_scale\_target\_max\_capacity) | The max capacity of the scalable target | `number` | `5` | no |
| [scale\_target\_min\_capacity](#input\_scale\_target\_min\_capacity) | The min capacity of the scalable target | `number` | `1` | no |
| [sns\_topic\_arn](#input\_sns\_topic\_arn) | The ARN of an SNS topic to send notifications on alarm actions. | `string` | `""` | no |
| [tags](#input\_tags) | Resource tags | `map(string)` | `{}` | no |

## Outputs

No outputs.