Skip to main content

CDK Construct library for higher-level ECS Constructs

This library provides higher-level ECS constructs which follow common architectural patterns. It contains:

  • Load Balanced Services
  • Queue Worker Services
  • Scheduled Tasks (cron jobs)

Load Balanced Services

To define a service that is behind a load balancer, instantiate one of the following:

  • LoadBalancedEc2Service
const loadBalancedEcsService = new ecsPatterns.LoadBalancedEc2Service(stack, 'Service', {
  cluster,
  memoryLimitMiB: 1024,
  image: ecs.ContainerImage.fromRegistry('test'),
  desiredCount: 2,
  environment: {
    TEST_ENVIRONMENT_VARIABLE1: "test environment variable 1 value",
    TEST_ENVIRONMENT_VARIABLE2: "test environment variable 2 value"
  }
});
  • LoadBalancedFargateService
const loadBalancedFargateService = new ecsPatterns.LoadBalancedFargateService(stack, 'Service', {
  cluster,
  memoryMiB: '1GB',
  cpu: '512',
  image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample"),
});

Queue Worker Services

To define a service that creates a queue and reads from that queue, instantiate one of the following:

  • Ec2QueueWorkerService
const ecsQueueWorkerService = new Ec2QueueWorkerService(stack, 'Service', {
  cluster,
  memoryLimitMiB: 1024,
  image: ecs.ContainerImage.fromRegistry('test'),
  command: ["-c", "4", "amazon.com"],
  enableLogging: false,
  desiredTaskCount: 2,
  environment: {
    TEST_ENVIRONMENT_VARIABLE1: "test environment variable 1 value",
    TEST_ENVIRONMENT_VARIABLE2: "test environment variable 2 value"
  },
  queue,
  maxScalingCapacity: 5
});
  • FargateQueueWorkerService
const fargateQueueWorkerService = new FargateQueueWorkerService(stack, 'Service', {
  cluster,
  memoryMiB: '512',
  image: ecs.ContainerImage.fromRegistry('test'),
  command: ["-c", "4", "amazon.com"],
  enableLogging: false,
  desiredTaskCount: 2,
  environment: {
    TEST_ENVIRONMENT_VARIABLE1: "test environment variable 1 value",
    TEST_ENVIRONMENT_VARIABLE2: "test environment variable 2 value"
  },
  queue,
  maxScalingCapacity: 5
});

Scheduled Tasks

To define a task that runs periodically, instantiate an ScheduledEc2Task:

// Instantiate an Amazon EC2 Task to run at a scheduled interval
const ecsScheduledTask = new ScheduledEc2Task(this, 'ScheduledTask', {
  cluster,
  image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample"),
  scheduleExpression: 'rate(1 minute)',
  environment: [{ name: 'TRIGGER', value: 'CloudWatch Events' }],
  memoryLimitMiB: 256
});

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aws-cdk.aws-ecs-patterns-0.33.0.tar.gz (88.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aws_cdk.aws_ecs_patterns-0.33.0-py3-none-any.whl (86.6 kB view details)

Uploaded Python 3

File details

Details for the file aws-cdk.aws-ecs-patterns-0.33.0.tar.gz.

File metadata

  • Download URL: aws-cdk.aws-ecs-patterns-0.33.0.tar.gz
  • Upload date:
  • Size: 88.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.5

File hashes

Hashes for aws-cdk.aws-ecs-patterns-0.33.0.tar.gz
Algorithm Hash digest
SHA256 4262dca5a3545f2c59d1d141658cd5b7febec597dad49285d8069516d2989f8c
MD5 78c3eba60b9acb36b9c511f38294f94b
BLAKE2b-256 c11317ada7830b72daa477d72409328413b674657e89d53fafa2fa3be9425c32

See more details on using hashes here.

File details

Details for the file aws_cdk.aws_ecs_patterns-0.33.0-py3-none-any.whl.

File metadata

  • Download URL: aws_cdk.aws_ecs_patterns-0.33.0-py3-none-any.whl
  • Upload date:
  • Size: 86.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.5

File hashes

Hashes for aws_cdk.aws_ecs_patterns-0.33.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ba01682036acd2079ae7eff7b6b3a1f8879bc2c7dfdc506392500b2695d7e676
MD5 2261ef6ae9a5f8178bfe73b0ed16b128
BLAKE2b-256 1453d11a12385c281d49e0cf4a3375c1e9f062869d678526b4e8bec382306aea

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page