Configuración de entrada

ID de región

REGION_ID es un código abreviado que Google asigna en función de la región que eliges cuando creas la app. El código no corresponde a un país ni a una provincia, aunque algunos ID de región puedan parecer similares a los códigos de país y provincia que se suelen usar. En el caso de las apps creadas después de febrero de 2020, REGION_ID.r se incluye en las URL de App Engine. En el caso de las apps existentes creadas antes de esta fecha, el ID de región es opcional en la URL.

Obtén más información acerca de los ID de región.

En esta sección, se describe cómo usar la configuración de entrada para restringir el acceso de red a tu app de App Engine. De forma predeterminada, a nivel de la red, cualquier recurso de Internet puede acceder a tu aplicación de App Engine en su URL appspot o en un dominio personalizado configurado en App Engine. Por ejemplo, la URL appspot.com puede tener el siguiente formato: SERVICE_ID.PROJECT_ID.REGION_ID.r.appspot.com.

Puedes cambiar este parámetro de configuración predeterminado si especificas uno diferente para la entrada. Todas las rutas de acceso de entrada, incluida la URL predeterminada appspot.com, están sujetas al parámetro de configuración de entrada. La entrada se configura a nivel de servicio.

Opciones de configuración de entrada disponibles

Podrás configurar los siguientes parámetros:

Configuración Descripción
Interno Más restrictivo. Permite solicitudes de recursos conectados a las redes de VPC del proyecto, como:
Las solicitudes de estas fuentes permanecen dentro de la red de Google, incluso si acceden a tu servicio en la URL appspot.com Las solicitudes de otras fuentes, incluido Internet, no pueden llegar a tu servicio en la URL appspot.com ni en dominios personalizados. No hay asistencia para multiusuarios, es decir, múltiples dominios de confianza dentro del mismo proyecto.
Balanceo de cargas interno y en la nube Permite solicitudes de los siguientes recursos:
  • Recursos permitidos por el parámetro de configuración interna más restrictiva
  • Balanceador de cargas de aplicaciones externo
Usa el parámetro de configuración interna y Cloud Load Balancing para aceptar solicitudes de un balanceador de cargas de aplicaciones externo, pero no directamente desde Internet. Las solicitudes a la URL appspot.com omiten el balanceador de cargas para aplicaciones externo, por lo que este parámetro de configuración evita que las solicitudes externas lleguen a la URL appspot.com.
Todas Menos restrictivo. Permite todas las solicitudes, incluidas las solicitudes directas desde Internet a la URL appspot.com.

Accede a servicios internos

Se aplican las siguientes consideraciones:

  • Para las solicitudes de una VPC compartida, el tráfico solo se considera interno si la app de App Engine se implementa en el proyecto host de VPC compartida. Si la aplicación de App Engine se implementa en un proyecto de servicio de VPC compartida, solo el tráfico de las redes que pertenecen al proyecto de la aplicación es interno. El resto del tráfico, incluido el de otras VPC compartidas, es externo.

  • Cuando accedes a los servicios internos, llámalos como lo harías con sus URLs públicas, ya sea la URL appspot.com predeterminada o un dominio personalizado configurado en App Engine.

  • Para solicitudes de instancias de VM de Compute Engine o de algún otro recurso que se ejecute dentro de una red de VPC en el mismo proyecto, no se requiere ninguna configuración adicional.

  • Las solicitudes de recursos dentro de una red de VPC en el mismo proyecto se clasifican como internas incluso si el recurso desde el que se originan tiene una dirección IP pública.

  • Las solicitudes de recursos locales conectados a la red de VPC mediante Cloud VPN se consideran internal.

  • Para solicitudes de otros servicios de App Engine o de Cloud Run o Cloud Functions en el mismo proyecto, conecta el servicio o la función a una red de VPC y enruta todo el tráfico de salida a través del conector, como se describe en Conéctate a una red de VPC compartida.

Ver configuración de entrada

Console

  1. Ve a la página de Servicios de App Engine.

    Ir a la página Servicios

  2. Ubica la columna Ingress. Para cada servicio, el valor de esta columna muestra la configuración de entrada como una de Todo (predeterminado), Internas y de balanceo de cargas, o Internas.

gcloud

Para ver la configuración de entrada de un servicio mediante la CLI de gcloud, sigue estos pasos:

gcloud app services describe SERVICE

SERVICE por el nombre del servicio

Por ejemplo, para ver la configuración de entrada y otra información sobre el servicio predeterminado, ejecuta lo siguiente:

gcloud app services describe default

Editar configuración de entrada

Console

  1. Ve a la página de Servicios de App Engine.

    Ir a la página Servicios

  2. Selecciona el servicio que deseas editar.

  3. Haz clic en Editar configuración de entrada.

  4. Selecciona en el menú la configuración de entrada que quieras y haz clic en Guardar.

gcloud

Para actualizar de entrada de un servicio mediante la CLI de gcloud, sigue estos pasos:

gcloud app services update SERVICE --ingress=INGRESS

Reemplaza lo siguiente:

  • SERVICE: el nombre del servicio
  • INGRESS: el control de entrada que deseas aplicar Es uno de los siguientes: all, internal-only o internal-and-cloud-load-balancing.

Por ejemplo:

  • Actualiza el servicio predeterminado de una app de App Engine para aceptar tráfico solo desde Cloud Load Balancing y redes de VPC que estén en el mismo proyecto:

    gcloud app services update default --ingress=internal-and-cloud-load-balancing
  • A fin de actualizar un servicio llamado “internal-requests” para aceptar tráfico solo de las redes de VPC que se encuentren en el mismo proyecto, realiza lo siguiente:

    gcloud app services update internal-requests --ingress=internal-only

Configuración de salida

Si usas Acceso a VPC sin servidores, puedes especificar la configuración de salida para el servicio de App Engine.

De forma predeterminada, solo las solicitudes a las direcciones IP internas y a los nombres de DNS internos se enrutan a través de un conector de Acceso a VPC sin servidores. Puedes especificar el parámetro de configuración de salida del servicio en el archivo app.yaml.

La configuración de salida no es compatible con el servicio de recuperación de URL. Si se usa la biblioteca urlfetch, se ignora la configuración de salida, y las solicitudes no se enrutarán a través de un conector de Acceso a VPC sin servidores.

Para configurar el comportamiento de salida de tu servicio de App Engine, haz lo siguiente:

  1. Agrega el atributo egress_setting al campo vpc_access_connector del archivo app.yaml del servicio:

    vpc_access_connector:
      name: projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME
      egress_setting: EGRESS_SETTING
    

    Reemplaza lo siguiente:

    • PROJECT_ID por el ID del proyecto de Google Cloud
    • REGION por la región en la que se encuentra el conector
    • CONNECTOR_NAME por el nombre de tu conector
    • EGRESS_SETTING por uno de los siguientes valores:
      • private-ranges-only: predeterminado. Solo las solicitudes a los rangos de direcciones IP RFC 1918 y RFC 6598, o a nombres de DNS internos, se enrutan a la red de VPC. Todas las demás solicitudes se enrutan directamente a Internet.
      • all-traffic: todas las solicitudes salientes de tu servicio se enrutan a la red de VPC. Entonces, las solicitudes estarán sujetas al firewall, el DNS y las reglas de enrutamiento de la red de VPC. Ten en cuenta que el enrutamiento de todas las solicitudes salientes a tu red de VPC aumenta la cantidad de salida que controla el conector de Acceso a VPC sin servidores y puede generar cargos.
  2. Implementa el servicio:

    gcloud app deploy