Una vez implementada la API, los usuarios de tu API deberán acceder a ella mediante un nombre de dominio en vez de una dirección IP. Para hacerlo, tienes las alternativas siguientes:
- Configura
.endpoints.PROJECT_ID.cloud.goog
como el nombre de dominio (dondePROJECT_ID
es el ID de tu proyecto de Google Cloud). - O registra tu propio nombre de dominio, como
example.com
, que implica lo siguiente:- Configurar servidores de nombres DNS (o mediante Cloud DNS).
- Actualizar direcciones de registro.
- Crear y guardar registros DNS.
Si ya tienes una infraestructura DNS, o quieres registrar tu propio nombre de dominio, consulta Cómo entregar una API desde tu nombre de dominio para obtener más información.
En esta página, se describe cómo configurar las API de Cloud Endpoints para usar .endpoints.PROJECT_ID.cloud.goog
como nombre de dominio. Los pasos de configuración presentes en esta página se aplican a las API que usan gRPC que se ejecutan en Compute Engine, Google Kubernetes Engine o Kubernetes.
Google administra el dominio .cloud.goog
, y los clientes de Google Cloud lo comparten. Debido a que los proyectos de Google Cloud garantizan tener un ID del proyecto global único, el nombre de dominio en el formato .endpoints.PROJECT_ID.cloud.goog
es único y puede usarse para la API. Configurar el nombre de dominio .endpoints.PROJECT_ID.cloud.goog
es opcional. Si lo prefieres, puedes registrar tu propio nombre de dominio.
Requisitos previos
Como punto de partida, en esta página, se supone que ya has creado tu API de Cloud Endpoints y que la has implementado en Compute Engine, Google Kubernetes o Engine Kubernetes. Si necesitas una API para realizar pruebas, puedes usar uno de los instructivos que te guían sobre cómo configurar y, luego, implementar una API de muestra.
Configurar un DNS
En el siguiente procedimiento se describe cómo configurar un DNS para API de Endpoints que usan .endpoints.PROJECT_ID.cloud.goog
como el nombre de servicio de Endpoints. Para mayor comodidad, el procedimiento se refiere a tu archivo de configuración de servicio gRPC como service.yaml
.
Para configurar DNS, haz lo siguiente:
- Abre
service.yaml
y agrega el campoendpoints
al archivo 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"
Por lo general, los campos
name
yendpoints.name
son iguales. - Reemplaza
API_NAME
con el nombre de la API (por ejemplo,bookstore
omy-cool-api
). - Reemplaza
IP_ADDRESS
con una dirección IPv4. La dirección IP es una string y debe estar entre comillas.Por ejemplo, si implementas tu servicio de la 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. Además, si ejecutas tu código en un grupo de instancias de máquinas virtuales (o pods de GKE) tras un balanceador de cargas, puedes usar la dirección IP del balanceador de cargas.
- Implementa tu archivo de configuración de gRPC actualizado en la Administración de servicios 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
con el comando gcloud
anterior, la Administración de servicios 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 debas esperar unos minutos para que se propague la nueva configuración de DNS.
Pasos siguientes
- Configura Endpoints
- Habilita SSL para Endpoints
- Reserva una dirección IP externa estática
- Entrega una API desde tu nombre de dominio