How to route to a specific member of a NodeBalancer?
If I a have a NodeBalancer in front of 2 Linodes, how can I make an HTTP request that will go to a specific one? This is useful for testing/debugging issues.
The connection between the NodeBalancer and Linodes is TCP with Proxy Connect, so I can't request directly from the Linode's IP.
I thought maybe I could configure the NodeBalncer with some non-standard ports that are configured to only go to specific Linodes, but maybe there are better ideas.
You can have an IP continue to connect to the same backend Linode using the Algorithm and Session Stickiness settings for your NodeBalancer configuration. You'll want to set the Algorithm to
Source IP and the Session Stickiness to either
HTTP Cookie. With this configuration you'll create session persistence, which means that subsequent requests from the same IP address will be routed to the same backend Linode.
This is covered briefly in our NodeBalancer Reference Guide.
If you need Session Persistence it is our recommendation to utilize both the Source IP algorithm in combination with either Table or HTTP Cookie if possible.
I've linked to the sections from the guide for Algorithm and Session Stickiness below, which include more information on what these settings do.
If you're testing a specific backend Linode and don't want any traffic directed to the other backend Linodes during testing, you may also want to look into setting the Node Mode for the other backends to
Backup. This setting will ensure that those backends will only accept traffic if all other backend Linodes are down.
I hope this information helps you in accomplishing your goal!