aws-ecs-alb-service-autoscaler

0.2.4 • Public • Published

AWS ECS ALB Service Autoscaler

The AWS ECS ALB Service Autoscaler runs as it's own service on your ECS cluster, and automatically scales a given service based on the average number of requests hitting the alb for a service per desired task.

Usage

In a cloudformation template, on the ECS cluster:

  ServiceAutoscaler:
    Properties:
      Cluster: my-cluster-name
      DesiredCount: 1
      TaskDefinition: !Ref ServiceAutoscalerTaskDef
    Type: AWS::ECS::Service
 
  ServiceAutoscalerTaskDef:
    Properties:
      ContainerDefinitions:
      Environment:
        Name: CLUSTER_NAME
          Value: MY_CLUSTER_NAME
        Name: SERVICE_NAME
          Value: MY_SERVICE_TO_SCALE_NAME
        Name: MIN_TASKS
          Value: 2
        Name: MAX_TASKS
          Value: 4
        Name: MAX_REQUESTS
          Value: 60
        Name: MIN_REQUESTS
          Value: 30
        Essential: true
        Image: !Sub trinitymirror/aws-ecs-alb-service-autoscaler:${Version}
        Memory: 200
        Cpu: 100
        Name: Autoscaler
    Type: AWS::ECS::TaskDefinition

Optional environment variables:

DRY_RUN=true - Causes the container to not actually run any changes, just print to stdout what it would do. MAX_LOOPS=20 - Maximum number of intervals to run before exiting, to avoid a memory leak in the AWS SDK. Default is 20.

Readme

Keywords

none

Package Sidebar

Install

npm i aws-ecs-alb-service-autoscaler

Weekly Downloads

2

Version

0.2.4

License

MIT

Last publish

Collaborators

  • jeffdownie