
Hi, I am wondering at how to preserve the client IP Address for Network Load Balancer.
Several options here:
1. If the target type is instance ID, client IP is preserved
2. If the target type is IP Address AND protocol is UDP or TCP_UDP, client IP is preserved by default and "client IP preservation" option is enabled by default.
3. If the target type is IP Address AND protocol is TCP or TLS, client IP is load balancer’s private IP address and "client IP preservation" option is disabled by default.
Now my questions:
1. If target type is IP address AND protocol is TCP/TLS, can client IP be preserved by enabling "client IP preservation" in NLB’s attribute? If not, why this option even exists?
2. I know we can check client IP address in proxy protocol header for TCP/TLS if we enable Proxy Protocol v2 in NLB. But do we still need to enable "client ip preservation" in NLB attribute for this?
3. What is the different between normal preserving client IP address and finding client IP address in proxy protocol header? Where client IP address can be check for TCP or UDP application if not from the header?
Thank you.