################
# ALB stack
################
ApplicationElasticLB = t.add_resource(
elb.LoadBalancer(
"ApplicationElasticLB",
Name="ApplicationElasticLB",
Scheme="internet-facing",
Subnets=[Ref(subnetA),Ref(subnetB)],
)
)
TargetGroupEcs = t.add_resource(
elb.TargetGroup(
"TargetGroupEcs",
HealthCheckIntervalSeconds="30",
HealthCheckProtocol="HTTP",
HealthCheckTimeoutSeconds="10",
HealthyThresholdCount="4",
Matcher=elb.Matcher(HttpCode="200"),
Name="tg-fargate",
Port="8080",
Protocol="HTTP",
UnhealthyThresholdCount="3",
VpcId=Ref(VPCResource),
)
)
Listener = t.add_resource(
elb.Listener(
"Listener",
Port="8080",
Protocol="HTTP",
LoadBalancerArn=Ref(ApplicationElasticLB),
DefaultActions=[
elb.Action(Type="forward", TargetGroupArn=Ref(TargetGroupEcs))
],
)
)
t.add_resource(
elb.ListenerRule(
"ListenerRuleEcs",
ListenerArn=Ref(Listener),
Conditions=[elb.Condition(Field="path-pattern", Values=["/"])],
Actions=[elb.ListenerRuleAction(Type="forward", TargetGroupArn=Ref(TargetGroupEcs))],
Priority="1",
)
)
4)