title: GCP health check for internal load balancer
body: <p>I  set up own Elasticsearch cluster in the GCP. The cluster is up and running fine. </p>
  
  <p>The cluster contains two <code>client</code> nodes which I am able to access internally and pass a health check for both of them using <code>http://IP:9200/</code> and <code>/http://IP:9200/_cluster/health</code>. All nodes have only private IPs.</p>
  
  <p>I added:</p>
  
  <ul>
  <li><p>internal load balancer which spans <code>client</code> nodes only, </p></li>
  <li><p>firewall rule whitelisting both: <code>130.211.0.0/22, 35.191.0.0/16</code> google health check IP ranges with the proper tag,</p></li>
  <li><p>proper tag for the above rule to the <code>client</code> hosts,</p></li>
  <li><p>google health check if service is available,</p></li>
  <li><p>backend and instance groups.</p></li>
  </ul>
  
  <p>The problem is all <code>client</code> hosts are added to the load balancer but any is marked as healthy.</p>
  
  <p>Can you please advise if I am missing something?</p>
  
  <p>Is it possible to pass a health check on the instance which doesn't have a public IP?</p>
  
  <p>Thanks,
  Karol </p>