Skip to main content

CDK Constructs for AWS ECS

Project description

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
});

Project details


Release history Release notifications | RSS feed

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

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.

Supported by

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