Deploying an AWS Fargate service
import { Stack, StackProps } from 'aws-cdk-lib';
import { Construct } from 'constructs';
import { aws_ec2 as ec2 } from 'aws-cdk-lib';
import { aws_ecs as ecs } from 'aws-cdk-lib';
import { aws_ecs_patterns as ecs_patterns } from 'aws-cdk-lib';
import path = require('path');
export class CdkStack extends Stack {
constructor(scope: Construct, id: string, props?: StackProps) {
super(scope, id, props);
const vpc = new ec2.Vpc(this, 'MyVpc', {
maxAzs: 3
});
const cluster = new ecs.Cluster(this, 'MyCluster', {
vpc: vpc
});
const fargate = new ecs_patterns.ApplicationLoadBalancedFargateService(this, 'MyFargateService', {
cluster: cluster,
cpu: 512,
desiredCount: 1,
taskImageOptions: {
image: ecs.ContainerImage.fromAsset(path.join(__dirname, '../src/')),
environment: {
"name": "Serverless Fargate",
},
},
memoryLimitMiB: 2048,
});
}
}
git clone https://github.com/aws-samples/serverless-patterns
cd serverless-patterns/fargate-cdk