What are the practical differences between an IP vs instance based target types for an AWS NLB? What are the practical differences between an IP vs instance based target types for an AWS NLB? kubernetes kubernetes

What are the practical differences between an IP vs instance based target types for an AWS NLB?


The three key use-cases for using IP target type:

  • your target does not have to be an instance - anything with private IP address will work, including internal load balance, VPC private service, Fargate containers, databases, on-premise servers through VPN.
  • your target can be in different region, as long as you have cross-region peering between your VPCs
  • you have multiple network interfaces on your instance, so you can load distribute traffic between them, e.g. different applications on a single instance are bind to different interfaces. Each interface can be associated with different target group.

Instance target type is only limited instances. It should be your default choice when load balancing instances. For example, if you have instances in autoscaling group (ASG), the ASG can automatically register your instances with your load balancer. You can't do this for IP target types.