in resources/templates/vpc/lib/fis-stack-asg.ts [13:42]
constructor(scope: cdk.App, id: string, props: FisStackAsgProps) {
super(scope, id, props);
const vpc = props.vpc;
const asg = new autoscaling.AutoScalingGroup(this, 'ASG', {
vpc,
instanceType: ec2.InstanceType.of(ec2.InstanceClass.T2, ec2.InstanceSize.MICRO),
machineImage: new ec2.AmazonLinuxImage(),
});
const lb = new elbv2.ApplicationLoadBalancer(this, 'LB', {
vpc,
internetFacing: true
});
const listener = lb.addListener('Listener', {
port: 80,
});
listener.addTargets('Target', {
port: 80,
targets: [asg]
});
listener.connections.allowDefaultPortFromAnyIpv4('Open to the world');
asg.scaleOnRequestCount('AModestLoad', {
targetRequestsPerSecond: 1
});
}