Comunicarse entre los servicios

ID de región

El REGION_ID es un código abreviado que Google asigna en función de la región que selecciones al crear tu aplicación. El código no corresponde a un país o provincia, aunque algunos IDs de región pueden parecerse a los códigos de país y provincia que se usan habitualmente. En las aplicaciones creadas después de febrero del 2020, REGION_ID.r se incluye en las URLs de App Engine. En las aplicaciones creadas antes de esa fecha, el ID de región es opcional en la URL.

Más información sobre los IDs de región

Puedes usar varios métodos para comunicarte entre tus servicios de App Engine o con otros servicios, incluidos los servicios de Google Cloud y las aplicaciones externas.

La forma más sencilla de comunicarse con tu servicio de App Engine es enviar solicitudes HTTP específicas, en las que la URL incluye el nombre o el ID de un recurso. Por ejemplo, puedes incluir el ID de un servicio o una versión a los que quieras orientar la publicidad, además del ID de proyecto Google Cloud correspondiente:


https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com

Ten en cuenta que la longitud combinada de VERSION-dot-SERVICE-dot-PROJECT_ID, donde VERSION es el nombre de tu versión, SERVICE es el nombre de tu servicio y PROJECT_ID es tu ID de proyecto, no puede superar los 63 caracteres ni empezar o terminar con un guion. Si la longitud combinada es superior a 63 caracteres, puede que aparezca el error DNS address could not be found. .

Más información sobre las solicitudes en App Engine:

Tus servicios de App Engine también pueden comunicarse mediante Pub/Sub, que ofrece mensajería asíncrona fiable de muchos a muchos entre procesos, incluido App Engine. Estos procesos pueden ser instancias individuales de tu aplicación, servicios o incluso aplicaciones externas.

Para compartir datos entre bases de datos y tu aplicación de App Engine u otra aplicación externa, consulta Comprender el almacenamiento de datos y archivos.

Si usas los servicios agrupados antiguos, también puedes enviar solicitudes entre servicios y de servicios a endpoints externos mediante la API URL Fetch.

Además, los servicios del entorno estándar que residen en el mismo proyecto también pueden usar una de las APIs de App Engine para las siguientes tareas:Google Cloud

Comunicación privada

Comunicación entre servicios del mismo proyecto

Puedes permitir que un servicio estándar de App Engine se comunique con otro servicio de App Engine del mismo proyecto sin tener que exponer el servicio de destino a Internet público.

Para permitir la comunicación entre servicios del mismo proyecto, sigue estos pasos:

  1. Configura los controles de entrada ajustando los ajustes de entrada del servicio de destino para permitir solo el tráfico "interno".

    El ajuste "internal" solo permite solicitudes de las redes VPC del proyecto. Esto incluye los recursos de App Engine de una aplicación cliente en la misma red cuando el tráfico de salida se enruta a través de un conector. Se bloquea todo el tráfico procedente de Internet u otros proyectos de Google Cloud , incluidos otros servicios de App Engine.

  2. Dirige el tráfico a través de un conector de Acceso a VPC sin servidor:

    1. Por cada versión de App Engine que envíe tráfico privado a otros endpoints de la aplicación, adjunta la versión a un conector de acceso a VPC sin servidor que pertenezca a una de las redes del proyecto de Google Cloud , no a una red de VPC compartida.

    2. Asegúrate de que la función Acceso privado de Google esté habilitada en la subred que usa el conector de acceso a VPC sin servidor.

    3. Configure una de las siguientes opciones:

      • Configura las solicitudes de cliente para que usen el intervalo de IPs private.googleapis.com añadiendo una entrada DNS para el nombre de host de destino. Sigue las instrucciones de la sección Configuración de DNS para añadir el nombre de host de DNS, pero asegúrate de configurar la zona privada para appspot.com en lugar de googleapis.com. Asegúrate también de que el tráfico se dirija a la dirección appspot.com de la aplicación de destino y no a un dominio personalizado. Solo se podrá acceder a tu aplicación en el intervalo de IPs private.googleapis.com mediante el dominio appspot.com.

      • Configura la aplicación cliente para enviar all-traffic a través del conector de acceso a VPC sin servidor, en lugar de configurar las solicitudes para que usen el intervalo de IP private.googleapis.com.

Comunicación entre servicios de diferentes proyectos

Puedes tener acceso privado entre proyectos cuando las aplicaciones que se ejecutan en proyectos pertenecen a una red de VPC compartida que está configurada para invocar una aplicación que se ejecuta en el proyecto del host de la red de VPC compartida. Google Cloud

Para usar este patrón, sigue los pasos anteriores para comunicarte entre servicios del mismo proyecto. En el entorno estándar, asocia cada versión de cliente a un conector de acceso a VPC sin servidor en la red de VPC compartida.

En App Engine no se pueden usar otros métodos de comunicación entre proyectos que utilicen acceso interno.

Rutas de URL reservadas

No se pueden usar las siguientes rutas de URL:

  • Rutas que terminan en /eventlog
  • Rutas que empiezan por /_ah/
  • Algunas rutas que terminan en z