Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support primary/secondary failover mode using conntrackd and keepalived #71

Open
AndrewGuenther opened this issue Feb 9, 2024 · 2 comments
Labels
enhancement New feature or request
Milestone

Comments

@AndrewGuenther
Copy link
Owner

The goal here is to use a primary/secondary configuration to improve fck-nat availability without the need for outside infrastructure. It's really important to me that fck-nat does not take on additional AWS service dependencies. The ideal state is that two autoscaling groups would allow for primary and secondary nodes to self-heal and as long as both nodes aren't offline at the same time failover would be seamless.

Here's a few articles documenting the approach in a non-AWS environment:

Here's the rub: In AWS, we can't just willy nilly change our IP address. We have to explicitly move ENIs and EIPs. This takes some time. So the question becomes: In this configuration, can we move these resources fast enough to not incur downtime (packet loss is fine, downtime == dropped connections)?

This is going to take a lot of testing, but this is my ideal HA configuration for fck-nat 2.0 if it works.

@AndrewGuenther AndrewGuenther added this to the 2.0 milestone Feb 9, 2024
@AndrewGuenther AndrewGuenther added the enhancement New feature or request label Feb 9, 2024
@patrickdk77
Copy link

I've been running conntrackd + keepalived/pacemaker for firewall and then an ipvs pair with pacemaker as my failover for firewall/loadbalacing for 16 years now, it works well, just remember not to use multicast for things.
I haven't had much of a problem moving eip between systems in a useful time, though I haven't timed moving eni's

@AndrewGuenther
Copy link
Owner Author

@patrickdk77 Yeah, I've got pretty good confidence this will work. I ran plenty of conntrackd+keepalived in ye olden days, but I'm not sure how well it'll translate to AWS networking.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants