Configuración de entrada

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

En esta sección se describe cómo usar la configuración de acceso para restringir el acceso de red a tu aplicación de App Engine. A nivel de red, de forma predeterminada, cualquier recurso de Internet puede acceder a tu aplicación de App Engine a través de su URL appspot o de 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 ajuste predeterminado especificando otro ajuste para el ingreso. Todas las rutas de entrada, incluida la URL appspot.com predeterminada, están sujetas a su configuración de entrada. El acceso se define a nivel de servicio.

Ajustes de Ingress disponibles

Están disponibles los siguientes ajustes:

Ajuste Descripción
Interno Es el más restrictivo. Permite solicitudes de recursos asociados a las redes VPC del proyecto, como las siguientes:
Las solicitudes de estas fuentes permanecen en la red de Google, incluso si acceden a tu servicio en la URL appspot.com. Las solicitudes de otras fuentes, incluida Internet, no pueden acceder a tu servicio en la URL appspot.com ni en los dominios personalizados. No se admite la arquitectura multiempresa, es decir, varios dominios de confianza en el mismo proyecto.
Balanceo de carga interno y de Cloud Permite solicitudes de los siguientes recursos:
  • Recursos permitidos por el ajuste interno más restrictivo
  • Balanceador de carga de aplicación externo
Usa la opción Balanceo de carga interno y de Cloud para aceptar solicitudes de un balanceador de carga de aplicación externo, pero no directamente de Internet. Las solicitudes a la URL appspot.com omiten el balanceador de carga de aplicación externo, por lo que este ajuste impide que las solicitudes externas lleguen a la URL appspot.com.
Todo La menos restrictiva. Permite todas las solicitudes, incluidas las que se envían directamente desde Internet a la URL de appspot.com.

Acceder a servicios internos

Ten en cuenta lo siguiente:

  • En el caso de las solicitudes de una VPC compartida, el tráfico solo se considera interno si la aplicación de App Engine se ha desplegado en el proyecto host de la 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 propiedad del proyecto de la aplicación será interno. El resto del tráfico, incluido el tráfico de otras VPCs compartidas, es externo.

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

  • En el caso de las solicitudes procedentes de instancias de VM de Compute Engine u otros recursos que se ejecuten en una red de VPC del mismo proyecto, no es necesario realizar ninguna configuración adicional.

  • Las solicitudes de recursos de redes VPC del mismo proyecto se clasifican como internas, aunque el recurso del que procedan tenga una dirección IP pública.

  • Las solicitudes de recursos on-premise conectados a la red de VPC a través de Cloud VPN se consideran internal.

  • En el caso de las solicitudes de otros servicios de App Engine o de funciones de Cloud Run 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, tal como se describe en el artículo Conectarse a una red de VPC compartida.

Ver la configuración de Ingress

Consola

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

    Ir a la página Servicios

  2. Busque la columna Ingreso. En cada servicio, el valor de esta columna muestra el ajuste de entrada como Todos (valor predeterminado), Interno + Balanceo de carga o Interno.

gcloud

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

gcloud app services describe SERVICE

Sustituye SERVICE por el nombre de tu servicio.

Por ejemplo, para ver los ajustes de entrada y otra información de la ejecución del servicio predeterminado, haz lo siguiente:

gcloud app services describe default

Editar la configuración de Ingress

Consola

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

    Ir a la página Servicios

  2. Selecciona el servicio que quieras editar.

  3. Haz clic en Editar ajuste de entrada.

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

gcloud

Para actualizar el ajuste de entrada de un servicio con la CLI de gcloud, sigue estos pasos:

gcloud app services update SERVICE --ingress=INGRESS

Sustituye:

  • SERVICE: el nombre de tu servicio.
  • INGRESS: el control de entrada que quieras aplicar. Uno de los valores all, internal-only o internal-and-cloud-load-balancing.

Por ejemplo:

  • Para actualizar el servicio predeterminado de una aplicación de App Engine de forma que solo acepte tráfico de Cloud Load Balancing y de redes de VPC que estén en el mismo proyecto, sigue estos pasos:

    gcloud app services update default --ingress=internal-and-cloud-load-balancing
  • Para actualizar un servicio llamado "internal-requests" para que solo acepte tráfico de redes de VPC que estén en el mismo proyecto, haz lo siguiente:

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

Configuración de salida

Si usas Acceso a VPC sin servidor, puedes especificar la configuración de salida de tu servicio de App Engine.

De forma predeterminada, solo las solicitudes a direcciones IP internas y nombres de DNS internos se enrutan a través de un conector de Acceso a VPC sin servidor. Puedes especificar el ajuste de salida de tu servicio en el archivo app.yaml.

Los ajustes de salida no son compatibles con el servicio de obtención de URLs. Si se usa la biblioteca urlfetch, se ignoran los ajustes de salida y las solicitudes no se enrutarán a través de un conector de Acceso a VPC sin servidor.

Para configurar el comportamiento de salida de tu servicio de App Engine, sigue estos pasos:

  1. Añade el atributo egress_setting al campo vpc_access_connector del archivo app.yaml de tu servicio:

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

    Sustituye:

    • PROJECT_ID con el ID de tu proyecto Google Cloud
    • REGION con la región en la que se encuentra tu conector
    • CONNECTOR_NAME con el nombre del conector
    • EGRESS_SETTING con una de las siguientes opciones:
      • private-ranges-only Predeterminado. Solo se enrutan a tu red de VPC las solicitudes a intervalos de direcciones IP RFC 1918 y RFC 6598 o nombres de DNS internos. El resto de las solicitudes se dirigen directamente a Internet.
      • all-traffic Todas las solicitudes salientes de tu servicio se dirigen a tu red de VPC. Las solicitudes están sujetas a las reglas de cortafuegos, DNS y enrutamiento de tu red de VPC. Ten en cuenta que, si enrutas todas las solicitudes salientes a tu red de VPC, aumentará la cantidad de tráfico de salida que gestiona el conector de Acceso a VPC sin servidor y se te cobrará.
  2. Despliega el servicio:

    gcloud app deploy