Configurar DNS en el dominio cloud.goog

Una vez que se haya implementado tu API, los usuarios de la API deberán acceder a ella a través de un nombre de dominio en lugar de una dirección IP. A continuación, dispones de las siguientes opciones:

  • Configura .endpoints.PROJECT_ID.cloud.goog como nombre de dominio (donde PROJECT_ID es el ID de tu proyecto Google Cloud).
  • También puedes registrar tu propio nombre de dominio, como example.com, lo que implica lo siguiente:
    • Configurar servidores de nombres DNS (o usar Cloud DNS).
    • Actualizando las direcciones del registro.
    • Crear y mantener registros DNS.

    Si ya tienes una infraestructura de DNS o quieres registrar tu propio nombre de dominio, consulta Servir una API desde tu nombre de dominio para obtener más información.

En esta página se describe cómo configurar las APIs de Cloud Endpoints para usar .endpoints.PROJECT_ID.cloud.goog como nombre de dominio. Los pasos de configuración de esta página se aplican a las APIs que usan gRPC y que se ejecutan en Compute Engine, Google Kubernetes Engine o Kubernetes.

Google gestiona el dominio .cloud.goog, que comparten varios clientes de Google Cloud. Como se garantiza que los proyectos tienen un ID de proyecto único en todo el mundo, un nombre de dominio con el formato .endpoints.PROJECT_ID.cloud.goog es único y se puede usar como nombre de dominio de tu API. Google Cloud Configurar el nombre de dominio .endpoints.PROJECT_ID.cloud.googes opcional. Si lo prefieres, puedes registrar tu propio nombre de dominio.

Requisitos previos

Para empezar, en esta página se da por hecho que ya has creado tu API de Cloud Endpoints y la has desplegado en Compute Engine, Google Kubernetes Engine o Kubernetes. Si necesitas una API para hacer pruebas, puedes usar uno de los tutoriales que te explican cómo configurar y desplegar una API de ejemplo.

Configurar DNS

En el siguiente procedimiento se describe cómo configurar el DNS para las APIs de Endpoints que usan .endpoints.PROJECT_ID.cloud.goog como nombre de servicio de Endpoints. Para mayor comodidad, en este procedimiento se hace referencia al archivo de configuración de tu servicio gRPC como service.yaml.

Para configurar el DNS, sigue estos pasos:

  1. Abre service.yaml y añade el campo endpoints al archivo, tal como se muestra en el siguiente fragmento de código:
    type: google.api.Service
    name: API_NAME.endpoints.PROJECT_ID.cloud.goog
    endpoints:
    - name: API_NAME.endpoints.PROJECT_ID.cloud.goog
      target: "IP_ADDRESS"
      

    Normalmente, los campos name y endpoints.name son iguales.

  2. Sustituye API_NAME por el nombre de tu API (por ejemplo, bookstore o my-cool-api).
  3. Sustituye IP_ADDRESS por una dirección IPv4. La dirección IP es una cadena y debe indicarse entre comillas.

    Por ejemplo, si despliegas tu servicio de API de Endpoints en una instancia de máquina virtual de Compute Engine, puedes usar la dirección IP externa de esa máquina virtual. Si ejecutas el código en un grupo de instancias de máquinas virtuales (o pods de GKE) detrás de un balanceador de carga, puedes usar la dirección IP del balanceador de carga.

  4. Implementa el archivo de configuración de gRPC actualizado en Service Management con el siguiente comando:
    gcloud endpoints services deploy service.yaml service.pb
    

Por ejemplo, si se especifica lo siguiente en el archivo service.yaml:

type: google.api.Service
name: my-cool-api.endpoints.my-project-id.cloud.goog
endpoints:
- name: my-cool-api.endpoints.my-project-id.cloud.goog
  target: "192.0.2.1"

Cuando implementas el archivo service.yaml mediante el comando gcloud anterior, Service Management crea un registro A de DNS, my-cool-api.endpoints.my-project-id.cloud.goog, que se resuelve en la dirección IP de destino, 192.0.2.1. Es posible que tengas que esperar unos minutos para que se propague la nueva configuración de DNS.

Siguientes pasos