pulumi-cloud
pulumi-cloud copied to clipboard
Add a way in aws to host services behind a single ALB
Currently a separate load balancer is spun up per service in AWS. This is unnecessary and costly when you can use a single Application Load Balancer and route to different services based on configuration like ports, host headers, etc.
/cc @CyrusNajmabadi @lukehoban
There are a constellation of related issues that we'll need to tackle together here to improve the LoadBalancing approach used by cloud.Service.
- https://github.com/pulumi/pulumi-cloud/issues/441
- https://github.com/pulumi/pulumi-cloud/issues/502
- https://github.com/pulumi/pulumi-cloud/issues/633
- https://github.com/pulumi/pulumi-cloud/issues/498
I suspect we want to extract out a loadBalancer property on ports, and allow much more configuration of the loadbalancing to attach to a port. This may even require a seperate kind of cloud.LoadBalancer to be allocatable which can be linked in to Services. There's design work we'll need to do come up with an approach that can extend to the above (and many similar) use cases.
We are adding AWS-specific libraries for working with ECS Services as part of pulumi/pulumi-aws-infra#53. In the near term, those will offer greater flexibility to control details like this for users who are working with AWS. We'll continue to work on how to add cross-cloud support for this as part of the cloud package.