title: Problem creating regional TCP load balancer
body: <p>I'm trying to create a load-balancer that balances traffic between 3 different AZ's in a given region. If I create a "global" load-balancer with an external IP, everything works fine, but if I  am only trying to create a load-balancer that works with a particular subnet -- the health checks consistently fail because they are trying to go to port 80 instead of the port I've specified. </p>
  
  <p>Note the following output of <code>gcloud compute backend-services get-health xx-redacted-central-lb --region=us-central1</code>:</p>
  
  <pre><code>---
  backend: https://www.googleapis.com/compute/v1/projects/yugabyte/zones/us-central1-a/instanceGroups/xx-redacted-central-a
  status:
    healthStatus:
    - healthState: UNHEALTHY
      instance: https://www.googleapis.com/compute/v1/projects/yugabyte/zones/us-central1-a/instances/yb-1-xx-redacted-lb-test-n2
      ipAddress: 10.152.0.90
      port: 80
    kind: compute#backendServiceGroupHealth
  ---
  backend: https://www.googleapis.com/compute/v1/projects/yugabyte/zones/us-central1-b/instanceGroups/ac-kroger-central-b
  status:
    healthStatus:
    - healthState: UNHEALTHY
      instance: https://www.googleapis.com/compute/v1/projects/yugabyte/zones/us-central1-b/instances/yb-1-xx-redacted-lb-test-n1
      ipAddress: 10.152.0.92
      port: 80
    kind: compute#backendServiceGroupHealth
  ---
  backend: https://www.googleapis.com/compute/v1/projects/yugabyte/zones/us-central1-c/instanceGroups/xx-redacted-central-c
  status:
    healthStatus:
    - healthState: UNHEALTHY
      instance: https://www.googleapis.com/compute/v1/projects/yugabyte/zones/us-central1-c/instances/yb-1-xx-redacted-lb-test-n3
      ipAddress: 10.152.0.4
      port: 80
    kind: compute#backendServiceGroupHealth
  </code></pre>
  
  <p>The health-check for this load-balancer was created with the following command:
  <code>gcloud compute health-checks create tcp xx-redacted-central-hc4 --port=5433</code></p>
  
  <p>The backend was created like this:
  <code>gcloud compute backend-services create xx-redacted-central-lb --protocol=TCP --health-checks=xx-redacted-central-hc4 --region=us-central1 --load-balancing-scheme=INTERNAL</code></p>
  
  <p>Full description of the backend:
  <code>gcloud compute backend-services describe xx-redacted-central-lb --region=us-central1</code></p>
  
  <pre><code>backends:
  - balancingMode: CONNECTION
    group: https://www.googleapis.com/compute/v1/projects/yugabyte/zones/us-central1-a/instanceGroups/xx-redacted-central-a
  - balancingMode: CONNECTION
    group: https://www.googleapis.com/compute/v1/projects/yugabyte/zones/us-central1-b/instanceGroups/xx-redacted-central-b
  - balancingMode: CONNECTION
    group: https://www.googleapis.com/compute/v1/projects/yugabyte/zones/us-central1-c/instanceGroups/xx-redacted-central-c
  connectionDraining:
    drainingTimeoutSec: 0
  creationTimestamp: '2020-04-01T19:16:44.405-07:00'
  description: ''
  fingerprint: aOB7iT47XCk=
  healthChecks:
  - https://www.googleapis.com/compute/v1/projects/yugabyte/global/healthChecks/xx-redacted-central-hc4
  id: '1151478560954316259'
  kind: compute#backendService
  loadBalancingScheme: INTERNAL
  name: xx-redacted-central-lb
  protocol: TCP
  region: https://www.googleapis.com/compute/v1/projects/yugabyte/regions/us-central1
  selfLink: https://www.googleapis.com/compute/v1/projects/yugabyte/regions/us-central1/backendServices/xx-redacted-central-lb
  sessionAffinity: NONE
  timeoutSec: 30
  </code></pre>
  
  <p>If I try to <code>edit</code> the backend and add a port or portname annotation, it fails to save because thinks it is an invalid operation with INTERNAL load-balancers.</p>
  
  <p>Any ideas?
  --Alan</p>