The Zeroscaler construct deploys a Lambda function that automatically starts your Fargate application in response to incoming requests. It also handles health monitoring and integrates with an ELB target group.
You can configure the construct using the (ZeroscalerProps) interface, which requires a target group ARN and Fargate task ARN. Optionally, you can also specify a custom VPC and ECS cluster.
npm run buildcompile typescript to jsnpm run watchwatch for changes and compilenpm run testperform the jest unit tests
flowchart TD
A["Client"] L_A_B_0@-- HTTP Request --> B["Zeroscaler"]
B -. Register Target .-> C["ELB Target Group"]
B L_B_A_0@-- Serve HTML with refresh --> A
C -- Health Check --> D["ECS Fargate"]
D -- Boot --> E["Your Fargate Application"]
A L_A_E_0@-- Refresh when booted --> E
E L_E_A_0@-- Response --> A
linkStyle 0 stroke:#00C853,fill:none
linkStyle 1 stroke:#AA00FF,fill:none
linkStyle 2 stroke:#00C853,fill:none
linkStyle 3 stroke:#AA00FF,fill:none
linkStyle 4 stroke:#AA00FF,fill:none
linkStyle 5 stroke:#2962FF,fill:none
linkStyle 6 stroke:#2962FF,fill:none
L_A_B_0@{ animation: fast }
L_B_A_0@{ animation: fast }
L_A_E_0@{ animation: fast }
L_E_A_0@{ animation: fast }
npm install @zeroscaler/zeroscaler-cdkimport * as cdk from 'aws-cdk-lib';
import { Construct } from 'constructs';
import { ZeroScaler } from '@zeroscaler/zeroscaler-cdk';
new Zeroscaler(stack, 'MyZeroscaler', {
targetGroupArn: 'arn:aws:elasticloadbalancing:...',
fargateTaskArn: 'arn:aws:ecs:...',
// Optionally override vpc or cluster
});MPL-2.0