GKE by default produces ip address for ingress controller or load balancer and API Gateway does not allow ip address to be hostname for x-google-backend. This is a problem, hopefully it will be resolved the API Gateway comes out for beta.
I faced the same situation. This is how I got around to it (using nip.io):
/products/getoptions:
get:
summary: get product options
operationId: getProductOptions
x-google-backend:
address: https://35.xxx.xxx.xxx.nip.io/api/productservice
path_translation: APPEND_PATH_TO_ADDRESS
parameters:
- name: x-access-token
in: header
description: Access Token
required: true
type: string
- name: x-refresh-token
in: header
description: Refresh Token
required: true
type: string
responses:
'200':
description: OK
schema:
type: object