AndrewGuenther / fck-nat

Feasible cost konfigurable NAT: An AWS NAT Instance AMI
https://fck-nat.dev
MIT License
1.23k stars 48 forks source link

Feature Request: Gateway Load Balancer Support #92

Open ozcrn opened 1 month ago

ozcrn commented 1 month ago

Implementing support for Gateway Load Balancer would provide the ability to horizontally scale out fck-nat instances and also simplify some of the HA deployment options.

I have had good experiences in the past integrating GWLB support into my own NAT instances using the AWS sample tunnel handler here: https://github.com/aws-samples/aws-gateway-load-balancer-tunnel-handler

Handler already supports both x86 and graviton instances already so should be relatively simple to drop in place.

If there is an appetite for this feature to be included I am happy to take a look at adding support.

AndrewGuenther commented 1 month ago

I would love to see something like this as part of fck-nat. I think this allows for a great advanced option for users who need more resiliency than the current setup can provide without making things overly complex for those who don't. Users that need a basic NAT instance can still do so and users who want resiliency at a higher-than-instance-but-lower-than-gateway cost can use a GLB solution.

ozcrn commented 1 month ago

Have opened an initial PR against the 1.4 release branch https://github.com/AndrewGuenther/fck-nat/pull/95

I have done a reasonable amount of testing across both the x86 and ARM instances but mostly testing this feature in isolation. Haven't evaluated the impact against any of the existing features, however given the scope of this change I think it's unlikely.

There is a reasonable amount of doco that could be added around how to build out GWLB, not sure if thats something that would be suited to diving into here given the existing resources available.