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
Built Distribution
Close
Hashes for aws-cdk.aws-ecs-patterns-0.33.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4262dca5a3545f2c59d1d141658cd5b7febec597dad49285d8069516d2989f8c |
|
MD5 | 78c3eba60b9acb36b9c511f38294f94b |
|
BLAKE2b-256 | c11317ada7830b72daa477d72409328413b674657e89d53fafa2fa3be9425c32 |
Close
Hashes for aws_cdk.aws_ecs_patterns-0.33.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba01682036acd2079ae7eff7b6b3a1f8879bc2c7dfdc506392500b2695d7e676 |
|
MD5 | 2261ef6ae9a5f8178bfe73b0ed16b128 |
|
BLAKE2b-256 | 1453d11a12385c281d49e0cf4a3375c1e9f062869d678526b4e8bec382306aea |