Entrega una API desde tu nombre de dominio

En esta página, se muestra cómo entregar una API desde un dominio personalizado de tu propiedad, por ejemplo, example.com.

Como alternativa a usar tu propio nombre de dominio, puedes usar un nombre de dominio que administra Google. Consulta Utilizar un dominio administrado por Google para obtener más información.

Antes de comenzar

Configurar tu proyecto de API para usar tu nombre de dominio

Sigue las instrucciones que figuran en la pestaña correspondiente.

Compute Engine

La forma recomendada de entregar una API desde instancias de Compute Engine es usar un balanceador de cargas en un grupo de instancias. Debes reservar una dirección IP externa para el nombre de dominio y usarla con el balanceador de cargas.

Para entregar la API desde un nombre de dominio, haz lo siguiente:

  1. Reserva una dirección IP externa estática como mínimo en tu proyecto:

    Ir a la página Direcciones IP externas

    1. Asígnale el nombre que desees a la dirección IP reservada.
    2. Para Tipo, haz clic en Global.
    3. En Adjunto a, haz clic en Ninguno. Adjuntarás la dirección IP a un balanceador de cargas más adelante.
  2. Visita la cuenta del proveedor de tu dominio y edita la configuración del dominio. Debes crear un registro A que contenga tu nombre de API, por ejemplo, myapi.example.com con la dirección IP externa en su campo de datos
  3. Crea un grupo de instancias que incluya las instancias en ejecución en la API y el proxy de servicio extensible (ESP):

    Ir a la página Crear un grupo de instancias nuevo

    1. Asígnale cualquier nombre que desees al grupo y agrega una descripción.
    2. En la lista Zona, haz clic en la zona que usa tu instancia de API.
    3. En la lista Definición de instancia, haz clic en Seleccionar instancias existentes.
    4. En el campo Instancias de VM, agrega la instancia de VM que ejecuta la API.
    5. Haz clic en Crear.
  4. Crea y configura un balanceador de cargas HTTP(S):

    Ir a la página Crear un balanceador de cargas de HTTP(S) nuevo

    1. Haz clic en Definir un servicio de backend > Crear o seleccionar un servicio de backend.
      Configuración de backend
    2. Asigna el nombre y la descripción que desees para esta configuración del servicio de backend.
    3. En el campo Protocolo, selecciona el protocolo que deseas admitir en el balanceador de cargas, HTTP o HTTPS.
    4. En la lista Grupo de instancias, haz clic en tu grupo de instancias.
    5. En el campo Números de puerto, ingresa 8080.
    6. Haz clic en Verificación de estado para configurarla:
      • Ingresa un nombre para la configuración de verificación de estado.
      • Asigna el puerto 8080.
      • Para aceptar los valores predeterminados restantes, haz clic en Guardar.
    7. Por ahora, acepta los valores predeterminados para el resto de la configuración. Podrás realizar cambios más adelante según sea necesario, por ejemplo, agregar puertos adicionales.
    8. No necesitas establecer nada en las Reglas de host y enrutamiento; puedes reenviar todo a tu API de backend con los filtros predeterminados de Cualquiera que no coincida. Esto significa que todo el tráfico hacia el balanceador de cargas se dirigirá a la API en el puerto 8080 (el puerto predeterminado), como se definió en los pasos anteriores.
    9. Haga clic en Configuración de frontend.
      Configuración de frontend
      • En el campo Protocolo, selecciona el protocolo que deseas admitir en el balanceador de cargas, HTTP o HTTPS.
      • En la lista IP, haz clic en la dirección IP externa que creaste antes.
      • Para el protocolo HTTPS, debes usar SSL. En la lista Certificado, haga clic en el certificado que desees.
      • De manera opcional, si deseas admitir otro protocolo, haz clic en Agregar IP y puerto de frontend, especifica el protocolo, la misma dirección IP externa y un puerto diferente.
    10. Para crear el balanceador de cargas completamente configurado, haz clic en Crear. Si el botón Crear no está habilitado, verifica los componentes que acabas de configurar: debería aparecer una marca de verificación al lado de cada componente de configuración. Si la marca de verificación no está presente, significa que no completaste la configuración.
    11. Después de que tus cambios de DNS se propaguen, las solicitudes se enviarán a tu API mediante el balanceador de cargas.

GKE

Para entregar una API en un dominio de Google Kubernetes Engine (GKE), debes exponer el ESP como un servicio mediante la dirección IP externa que se muestra para la configuración de DNS de tu dominio. Ten en cuenta que GKE realiza el balanceo de cargas de forma automática.

Para exponer tu API como un servicio, haz lo siguiente:

  1. Si todavía no tienes uno, configura un servicio de Kubernetes para los backends de tu API. Crea un archivo de configuración de servicio service.yaml con un contenido similar al siguiente:
                apiVersion: v1
                kind: Service
                metadata:
                  name: echo
                spec:
                  ports:
                  - port: 80
                    targetPort: 8081
                    protocol: TCP
                  selector:
                    app: echo-app
                  type: LoadBalancer
                  
    • Cambia la etiqueta selector para que coincida con tus etiquetas de backend (app: echo-app, en este ejemplo)
    • Asegúrese de que targetPort coincida con el puerto que usa el ESP configurado en tus backends de API. El ESP usa el puerto 8081 de forma predeterminada.
  2. Implementa el servicio de Kubernetes:
                kubectl apply -f service.yaml
                
  3. Observa la dirección IP externa asignada a tu servicio expuesto:
                kubectl get services
                
    El resultado muestra una dirección EXTERNAL-IP similar a la siguiente:
                NAME         CLUSTER-IP     EXTERNAL-IP      PORT(S)    AGE
                hello-node   10.X.XXX.202   10X.XXX.XX.123   8080/TCP   1m
          
  4. Cambia la IP externa generada de efímera a estática.

    Ir a la página Direcciones IP externas

    1. Selecciona tu dirección IP externa de la lista.
    2. En la lista Tipo, haz clic en Estática.
  5. Visita la cuenta del proveedor de tu dominio y edita la configuración del dominio. Debes crear un registro A que contenga tu nombre de API, por ejemplo, myapi.example.com, con la dirección IP externa en su campo de datos.

¿Qué sigue?