Usa el entorno flexible de App Engine en una red de VPC compartida

En el entorno flexible de App Engine, puedes especificar una red para implementar las instancias de tu servicio. En esta página, se muestra cómo configurar un proyecto para utilizar el entorno flexible de App Engine en una red de VPC compartida.

Consulta Aprovisiona una VPC compartida para obtener más información sobre cómo configurar una red de VPC compartida.

Configura el entorno flexible de App Engine con una VPC compartida

La implementación de instancias del entorno flexible de App Engine en una red de VPC compartida implica los siguientes tres pasos:

  1. Crea una regla de firewall para permitir el tráfico del entorno flexible de App Engine en la red de VPC compartida.

  2. Concede los permisos adecuados a las cuentas de servicio en el proyecto de servicio de la VPC compartida.

  3. Configura tus servicios de App Engine para usar la red de VPC compartida.

Permite el tráfico hacia la red de VPC compartida

Un administrador de una VPC compartida necesita crear una regla de firewall en el proyecto host de la VPC compartida para permitir el tráfico hacia el entorno flexible de App Engine en la red de VPC compartida. La regla de firewall permite la entrega y la verificación de estado del tráfico para las instancias de entorno flexible.

La regla de firewall debe tener las siguientes propiedades:

  • Red: nombre de la red de VPC compartida
  • Dirección del tráfico: entrada
  • Acción si hay coincidencia: permitir
  • Objetivos: etiquetas de destino especificadas
  • Etiquetas de destino: aef-instance
  • Filtro de fuente: rangos de IP
  • Rangos de IP de origen: 35.191.0.0/16, 130.211.0.0/22
  • Protocolos y puertos: protocolos y puertos especificados
    • TCP: 8443, 10402

Un administrador de VPC compartida puede crear la regla de firewall mediante Google Cloud Platform Console o la herramienta de línea de comandos de gcloud:

Console

Para crear la regla de firewall con GCP Console, sigue estos pasos:

  1. Ve a la página de creación de reglas de firewall.

    Crea una regla de firewall

  2. En los campos Nombre y Descripción, proporciona un nombre y una descripción para la regla de firewall.

  3. Rellena las propiedades necesarias como se especificó anteriormente.

  4. Haz clic en Crear.

gcloud

Para crear la regla de firewall con la herramienta de línea de comandos de gcloud, ejecuta el siguiente comando:

gcloud compute firewall-rules create NETWORK_NAME-flex-firewall \
--project HOST_PROJECT_ID \
--network NETWORK_NAME \
--allow tcp:10402,tcp:8443 \
--target-tags aef-instance \
--source-ranges 35.191.0.0/16,130.211.0.0/22 \
--description 'Allows traffic to App Engine flexible environment'

Donde:

  • NETWORK_NAME es el nombre de la red de VPC compartida.
  • HOST_PROJECT_ID es el ID del proyecto de GCP correspondiente al proyecto host de la VPC compartida.

Configura los permisos

Un administrador de una VPC compartida debe otorgar a las siguientes dos cuentas de servicio la función Usuario de la red de Compute para permitir que un proyecto de servicio implemente instancias de entorno flexible de App Engine en la red:

  • Agente de servicio de las API de Google (PROJECT_NUM@cloudservices.gserviceaccount.com)
  • Agente de servicio del entorno flexible de App Engine (service-PROJECT_NUM@gae-api-prod.google.com.iam.gserviceaccount.com)

Console

Sigue estos pasos para configurar los permisos con GCP Console:

  1. Dirígete a la página de configuración de IAM para el proyecto de servicio y toma nota del número de proyecto.

    Ir a la configuración de IAM

  2. Dirígete a la página IAM del proyecto host.

    Ir a IAM

  3. Haz clic en Agregar.

  4. En el campo Nuevos miembros, ingresa las siguientes direcciones de correo electrónico separadas por una coma. Reemplaza PROJECT_NUM por el número de proyecto obtenido en el paso 1.

    • PROJECT_NUM@cloudservices.gserviceaccount.com
    • service-PROJECT_NUM@gae-api-prod.google.com.iam.gserviceaccount.com
  5. En el menú desplegable Selecciona una función, selecciona Compute Engine > Usuario de la red de Compute.

  6. Haz clic en Guardar.

gcloud

  1. Obtén el número del proyecto de servicio en el que se implementa la aplicación de App Engine. Ejecuta el siguiente comando, reemplazando SERVICE_PROJECT_ID por el ID del proyecto correspondiente al proyecto de servicio:

    export SERVICE_PROJECT_NUM=$(gcloud projects describe SERVICE_PROJECT_ID --format="value(projectNumber)")
    
  2. Otorga al Agente de servicio de las API de Google correspondiente al proyecto de servicio la función compute.networkUser en el proyecto host con el siguiente comando:

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
    --member=serviceAccount:$SERVICE_PROJECT_NUM@cloudservices.gserviceaccount.com \
    --role=roles/compute.networkUser
    

    donde HOST_PROJECT_ID es el ID del proyecto de GCP correspondiente al proyecto host de la VPC compartida.

  3. Otorga al Agente de servicio del entorno flexible de App Engine correspondiente al proyecto de servicio la función compute.networkUser en el proyecto host con el siguiente comando:

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
    --member=serviceAccount:service-$SERVICE_PROJECT_NUM@gae-api-prod.google.com.iam.gserviceaccount.com \
    --role=roles/compute.networkUser
    

Configura y, luego, implementa tu servicio

Una vez que hayas configurado la regla de firewall y los permisos adecuados, puedes implementar un nuevo servicio o un servicio del entorno flexible de App Engine existente en la red de VPC compartida.

  1. En el archivo app.yaml, usa el campo name de la configuración de red para especificar el nombre completo de la red de VPC compartida:

    network:
      name: projects/HOST_PROJECT_ID/global/networks/NETWORK_NAME
    

    Donde:

    • HOST_PROJECT_ID es el ID del proyecto de GCP correspondiente al proyecto host de la VPC compartida.
    • NETWORK_NAME es el nombre de la red de VPC compartida.

    Para configurar el servicio a fin de que forme parte de una subred llamada SUBNETWORK_NAME, configura también el campo subnetwork_name:

    network:
      name: projects/HOST_PROJECT_ID/global/networks/NETWORK_NAME
      subnetwork_name: SUBNETWORK_NAME
    
  2. Implementa el servicio:

    gcloud app deploy
    

Verifica tu configuración

Para verificar que tu servicio de entorno flexible de App Engine se ejecute en la red de VPC compartida, consulta la configuración de la versión en la página de versiones de App Engine en GCP Console:

  1. Dirígete a la página de versiones de App Engine.

    Ir a Versiones de App Engine

  2. En la columna Configuración de la derecha, haz clic en la opción Ver correspondiente a la versión deseada.

  3. Verifica que el nombre de red en la configuración sea el nombre de la red de VPC compartida.

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación del entorno de App Engine Flexible para Python