How to use IPs defined in hosts file in playbooks?

Hello,
when configuring a load balancer for example, with a templated configuration file, how would I go about inserting IP addresses from my inventory file?

I realize that I might not be understanding completely how roles, playbooks, and the inventory file (and variable files) are supposed to divide responsibilities among them, because I generally have a one-to-one-to-many mapping of hosts to playbooks to roles.

For example:

File ‘hosts’ -----

[db-machine]
<IP #1>

[webserver]
<IP #2>

Edit:
I just noticed this example is kind of bad because, I would probably be using a different (i.e. not the public) IP address when configuring a load balancer.
I guess it makes sense to manually assign IP addresses to every host in the private network, and have that in a variables file, which in turn I could include in all the roles/tasks that need those IPs. Does that make sense?