From 78931b3efac4efe9297df318b4248765e9b4c1d0 Mon Sep 17 00:00:00 2001 From: aiordache Date: Thu, 22 Oct 2020 10:21:16 +0200 Subject: [PATCH] Enable cross zone load balancing Signed-off-by: aiordache --- ecs/awsResources.go | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/ecs/awsResources.go b/ecs/awsResources.go index 16924608..b336adad 100644 --- a/ecs/awsResources.go +++ b/ecs/awsResources.go @@ -400,12 +400,24 @@ func (b *ecsAPIService) ensureLoadBalancer(r *awsResources, project *types.Proje // Network Load Balancers do not have associated security groups securityGroups = r.getLoadBalancerSecurityGroups(project) } + + var loadBalancerAttributes []elasticloadbalancingv2.LoadBalancer_LoadBalancerAttribute + if balancerType == elbv2.LoadBalancerTypeEnumNetwork { + loadBalancerAttributes = append( + loadBalancerAttributes, + elasticloadbalancingv2.LoadBalancer_LoadBalancerAttribute{ + Key: "load_balancing.cross_zone.enabled", + Value: "true", + }) + } + template.Resources["LoadBalancer"] = &elasticloadbalancingv2.LoadBalancer{ - Scheme: elbv2.LoadBalancerSchemeEnumInternetFacing, - SecurityGroups: securityGroups, - Subnets: r.subnetsIDs(), - Tags: projectTags(project), - Type: balancerType, + Scheme: elbv2.LoadBalancerSchemeEnumInternetFacing, + SecurityGroups: securityGroups, + Subnets: r.subnetsIDs(), + Tags: projectTags(project), + Type: balancerType, + LoadBalancerAttributes: loadBalancerAttributes, } r.loadBalancer = cloudformationARNResource{ logicalName: "LoadBalancer",