Puedes habilitar tu servicio o trabajo de Cloud Run para enviar tráfico a una red de VPC compartida mediante la salida directa de VPC sin necesidad de usar el conector de Acceso a VPC sin servidores.
En esta página, se describe cómo configurar los permisos de IAM de Cloud Run para usar la subred de la red de VPC compartida y, luego, colocar tu servicio o trabajo en la subred compartida.
Antes de comenzar
Cuando uses la salida de VPC directa, asegúrate de que tu subred tenga al menos cientos de direcciones IP disponibles. Si la cantidad total de instancias en todos tus servicios de Cloud Run supera los 100, recomendamos tener al menos 4 veces (4X) la cantidad total disponible.
Limitaciones
Las siguientes limitaciones se aplican tanto a los servicios como a los trabajos de Cloud Run:
- Cloud Run admite una capacidad de procesamiento de hasta 1 Gbps por instancia individual. Si se supera esta cantidad, se limita el rendimiento.
Una cuota de uso de Cloud Run limita la cantidad máxima de instancias que puedes configurar para usar la salida de VPC directa. La cantidad máxima se configura por revisión o ejecución de trabajos de Cloud Run. Para aumentar los límites predeterminados, consulta cómo aumentar las cuotas. Puedes verificar tu cuota con la consola de Google Cloud.
- Los servicios y trabajos de Cloud Run pueden experimentar interrupciones de conexión durante los eventos de mantenimiento de la infraestructura de red. Te recomendamos que uses bibliotecas cliente que puedan manejar restablecimientos ocasionales de la conexión.
- La salida de VPC directa para los trabajos de Cloud Run solo está disponible en vista previa.
- Para garantizar ejecuciones de trabajos adecuadas, solo usa la salida de VPC directa para trabajos que no requieran más de 8 instancias simultáneas y asegúrate de reservar un mínimo de 1,024 direcciones IP.
Los siguientes elementos no son compatibles con la salida de VPC directa:
- Los registros de flujo de VPC no proporcionan el nombre del servicio o la revisión de Cloud Run.
- Los registros de flujo de VPC no se informan desde recursos que no son de VM, como Cloud Run o máquinas locales.
- Registro de reglas de firewall
- Duplicación de paquetes
- Network Intelligence Center
- Tráfico IPv6
- NAT privada
- Usar etiquetas de red en las reglas de firewall de entrada aplicadas al recurso de destino.
- Usar la identidad del servicio como la cuenta de servicio de origen en las reglas de firewall de entrada aplicadas al recurso de destino.
- Las reglas de firewall no pueden usar etiquetas de Resource Manager adjuntas a las cargas de trabajo de Cloud Run.
- Los trabajos de Cloud Run que se ejecutan durante más de 1 hora pueden experimentar interrupciones de conexión. Esto puede ocurrir durante los eventos de mantenimiento que migran el trabajo de una máquina a otra. El contenedor recibe una señal
SIGTSTP
10 segundos antes del evento y una señalSIGCONT
después del evento. Después de que el contenedor reciba la señalSIGCONT
, vuelve a intentar la conexión.
Configura los permisos de IAM
Antes de que Cloud Run en un proyecto de servicio de VPC compartida pueda acceder a una red de VPC compartida, primero debes asegurarte de que el agente de servicio de Cloud Run tenga suficientes permisos para usar la subred.
Para acceder a la red de VPC compartida, otorga permisos suficientes al agente de servicio de Cloud Run mediante la adición de uno de los siguientes roles:
Usuario de la red de Compute (
compute.networkUser
) en el proyecto host de la VPC compartida.Por ejemplo, ejecuta el siguiente comando:
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member "serviceAccount:service-SERVICE_PROJECT_NUMBER@serverless-robot-prod.iam.gserviceaccount.com" \ --role "roles/compute.networkUser"
Reemplaza lo siguiente:
- HOST_PROJECT_ID: es el ID del proyecto host de la VPC compartida.
- SERVICE_PROJECT_NUMBER: es el número de proyecto de servicio de VPC compartida en el que implementas tu servicio o trabajo de Cloud Run.
Visualizador de la red de Compute (
compute.networkViewer
) en el proyecto host de VPC compartida y el rol Usuario de la red de Compute (compute.networkUser
) en la subred de VPC compartida.Por ejemplo, para otorgar el rol de visualizador de red de Compute en la subred, ejecuta el siguiente comando:
gcloud compute networks subnets add-iam-policy-binding SUBNET_NAME \ --region REGION \ --member "serviceAccount:service-SERVICE_PROJECT_NUMBER@serverless-robot-prod.iam.gserviceaccount.com" \ --role "roles/compute.networkUser" \ --project HOST_PROJECT_ID
Reemplaza lo siguiente:
- SUBNET_NAME: Es el nombre de recurso completamente calificado de la subred en la que deseas ejecutar tus servicios de Cloud Run.
- REGION: es la región del servicio de Cloud Run, que debe coincidir con la región de la subred.
- SERVICE_PROJECT_NUMBER: es el número de proyecto de servicio de VPC compartida en el que implementas tu servicio o trabajo de Cloud Run.
- HOST_PROJECT_ID: es el ID del proyecto host de la VPC compartida.
El agente de servicio de Cloud Run requiere el rol de agente de servicio de Cloud Run en tu proyecto de Cloud Run. Para verificar que el rol no se haya quitado de forma manual, ejecuta el siguiente comando:
gcloud projects get-iam-policy SERVICE_PROJECT_ID \ --flatten bindings \ --filter "bindings.role:roles/run.serviceAgent"
Reemplaza SERVICE_PROJECT_ID por el ID de tu servicio o trabajo de Cloud Run.
Para obtener un control más detallado, puedes asegurarte de que el agente de servicio de Cloud Run tenga los siguientes permisos:
compute.networks.get
en el proyecto host de la VPC compartidacompute.subnetworks.get
en el proyecto host o en la subred específicacompute.subnetworks.use
en el proyecto host o en la subred específicacompute.addresses.get
en el proyecto de servicio de la VPC compartidacompute.addresses.list
en el proyecto de servicio de la VPC compartidacompute.addresses.createInternal
en el proyecto de servicio de la VPC compartidacompute.addresses.deleteInternal
en el proyecto de servicio de la VPC compartida
Asignación de direcciones IP
Para colocar tu servicio o trabajo de Cloud Run en una red de VPC, debes especificar una red y una subred. Cloud Run asigna direcciones IP desde tu subred.
Las direcciones IP son efímeras, por lo que no debes crear políticas basadas en IPs individuales. Si necesitas crear una política basada en IPs, como en reglas de firewall, debes usar el rango de direcciones IP de toda la subred.
Para cambiar la red o subred que usa tu servicio o trabajo, implementa una revisión de servicio nueva o ejecuta una tarea de trabajo nueva que use los valores de red y subred nuevos.
Escalamiento vertical
Para habilitar un escalamiento vertical rápido en caso de aumento de tráfico, Cloud Run asigna direcciones IP antes de que sean necesarias.
En cualquier momento, es probable que haya más direcciones IP asignadas que la cantidad de instancias que existen. Para garantizar que Cloud Run pueda obtener suficientes direcciones IP, asegúrate de que tu subred tenga al menos cientos de direcciones IP disponibles. Si la cantidad total de instancias de la subred en todos los servicios y trabajos de Cloud Run supera las 100, recomendamos tener al menos 4 veces (4X) la cantidad total disponible. Si Cloud Run no puede asignar más direcciones IP, no puede iniciar más instancias de servicio ni tareas de trabajo hasta que haya más direcciones IP disponibles. Si el espacio de dirección IP es limitado, consulta Rangos de IP compatibles para obtener más opciones. Para obtener eficiencia de la asignación de IP y facilidad de administración, coloca varios servicios o trabajos en la misma subred.
Reducción de escala
Incluso después de que todos los servicios o trabajos reduzcan la escala verticalmente a cero, Cloud Run reserva algunas direcciones IP de la subred durante un máximo de 20 minutos en caso de que los servicios
o trabajos deban volver a escalar de forma vertical con rapidez. Cada instancia requiere una dirección IP, pero
Cloud Run reserva una máscara de subred /28
mínima al principio.
Una vez que agotas las 16 instancias, Cloud Run crea una subred
nueva.
Para borrar la subred, primero debes borrar o volver a implementar los servicios o trabajos de Cloud Run para dejar de usar la subred y, luego, esperar entre 1 y 2 horas.
Rangos de IP compatibles
Cloud Run admite los siguientes rangos IPv4 para tu subred:
- RFC 1918 (recomendado)
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
- RFC 6598
100.64.0.0/10
- Clase E (no se recomienda con opciones de configuración locales)
240.0.0.0/4
Implementa un servicio
La salida de VPC directa permite que tu servicio de Cloud Run envíe tráfico a una red de VPC compartida sin un conector de Acceso a VPC sin servidores. Los costos de red reducen su escala a cero al igual que el servicio. También puedes agregar etiquetas de red directamente en las revisiones de servicio de Cloud Run para obtener una seguridad de red más detallada, como aplicar reglas de firewall de VPC.
Puedes configurar la salida de VPC directa con un servicio a través de la consola de Google Cloud, Google Cloud CLI o YAML.
Console
En la consola de Google Cloud, ve a la página Cloud Run:
Haz clic en Implementar contenedor y selecciona Servicio si quieres configurar un servicio nuevo. Si quieres configurar y, luego, implementar un servicio existente, haz clic en el servicio y, luego, en Implementar y editar una nueva revisión.
Si configuras un servicio nuevo, completa la página de configuración del servicio inicial como desees y haz clic en Contenedor, volúmenes, herramientas de redes y seguridad para expandir la página de configuración del servicio.
Haz clic en la pestaña Herramientas de redes.
Haz clic en Conéctate a una VPC para el tráfico saliente.
Haz clic en Enviar tráfico directamente a una VPC.
Selecciona Redes compartidas conmigo.
En el campo Red, selecciona la red de VPC compartida a la que deseas enviar tráfico.
En el campo Subred, selecciona la subred desde la que tu servicio recibe direcciones IP.
Opcional: Ingresa los nombres de las etiquetas de red que quieres asociar con tu servicio o tus servicios. Las etiquetas de red se especifican a nivel de revisión. Cada revisión del servicio puede tener diferentes etiquetas de red, como
network-tag-2
.En Enrutamiento del tráfico, selecciona una de las siguientes opciones:
- Enruta solo las solicitudes a IPs privadas a la VPC para enviar solo tráfico a direcciones internas a través de la red de VPC compartida.
- Enruta todo el tráfico a la VPC para enviar todo el tráfico saliente a través de la red de VPC compartida.
Haz clic en Crear o Implementar.
Para verificar que tu servicio esté en la red de VPC compartida, haz clic en el servicio y, luego, en la pestaña Herramientas de redes. Las redes y las subredes se detallan en la tarjeta VPC.
Ahora puedes enviar solicitudes desde tu servicio de Cloud Run a cualquier recurso en la red de VPC compartida, como lo permiten las reglas de firewall.
gcloud
A fin de colocar tu servicio en la subred compartida, especifica los nombres de recursos completamente calificados para la red de VPC compartida y la subred mediante la ejecución del siguiente comando:
gcloud run deploy SERVICE_NAME \ --image IMAGE_URL \ --network projects/HOST_PROJECT_ID/global/networks/VPC_NETWORK \ --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME \ --network-tags NETWORK_TAG_NAMES \ --vpc-egress=EGRESS_SETTING \ --region REGION \ --max-instances MAX
Reemplaza lo siguiente:
- SERVICE_NAME: el nombre de tu servicio de Cloud Run.
- IMAGE_URL: la URL de la imagen del servicio.
- HOST_PROJECT_ID: el ID de tu proyecto de VPC compartida.
- VPC_NETWORK: Es el nombre de recurso completamente calificado de tu red de VPC compartida.
- REGION: es la región del servicio de Cloud Run, que debe coincidir con la región de la subred.
- SUBNET_NAME: Es el nombre de recurso completamente calificado de tu subred.
- Opcional: NETWORK_TAG_NAMES por los nombres separados por comas de las etiquetas de red que deseas asociar con un servicio. Para los servicios, las etiquetas de red se especifican a nivel de revisión. Cada revisión del servicio puede tener etiquetas de red diferentes, como
network-tag-2
. - EGRESS_SETTING por un valor de configuración de salida:
all-traffic
: Envía todo el tráfico saliente por medio de la red de VPC compartida.private-ranges-only
: Envía solo tráfico a direcciones internas a través de la red de VPC compartida.
- MAX es la cantidad máxima de instancias que se usarán para la red de VPC compartida. El número máximo de instancias permitidas para los servicios es 100.
Para obtener más detalles y ver los argumentos opcionales, consulta la referencia de gcloud
.
YAML
Si creas un servicio nuevo, omite este paso. Si actualizas un servicio existente, descarga su configuración de YAML:
gcloud run services describe SERVICE --format export > service.yaml
Actualiza los siguientes atributos:
apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE_NAME labels: cloud.googleapis.com/location: REGION spec: template: metadata: annotations: run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]' run.googleapis.com/vpc-access-egress: EGRESS_SETTING spec: containers: - image: IMAGE
Reemplaza lo siguiente:
- SERVICE_NAME por el nombre del servicio de Cloud Run. Los nombres de servicios deben tener 49 caracteres o menos, y deben ser únicos por región y proyecto.
- REGION por la región del servicio de Cloud Run, que debe coincidir con la región de la subred.
- NETWORK por el nombre de recurso completamente calificado de tu red de VPC compartida.
- SUBNET_NAME por el nombre de recurso completamente calificado de tu subred.
- Opcional: NETWORK_TAG_NAMES por los nombres de las etiquetas de red que deseas asociar con un servicio. Para los servicios, las etiquetas de red se especifican a nivel de revisión. Cada revisión del servicio puede tener diferentes etiquetas de red, como
network-tag-2
. - EGRESS_SETTING por un valor de configuración de salida:
all-traffic
: Envía todo el tráfico saliente por medio de la red de VPC compartida.private-ranges-only
: Envía solo tráfico a direcciones internas a través de la red de VPC compartida.
- IMAGE por la URL de la imagen de contenedor de servicio.
Crea o actualiza el servicio con el siguiente comando:
gcloud run services replace service.yaml
Terraform
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
Agrega lo siguiente a tu archivo
main.tf
:
De manera opcional, haz que tu servicio sea público si deseas permitir el acceso sin autenticación.
Crea un trabajo
La salida de VPC directa permite que tu trabajo de Cloud Run envíe tráfico a una red de VPC compartida sin un conector de Acceso a VPC sin servidores. También puedes agregar etiquetas de red directamente en los trabajos de Cloud Run para obtener una seguridad de red más detallada, como aplicar reglas de firewall de VPC.
Puedes configurar la salida de VPC directa con un trabajo a través de la consola de Google Cloud, Google Cloud CLI o YAML.
Console
En la consola de Google Cloud, ve a la página Cloud Run:
Si quieres configurar un nuevo trabajo, haz clic en Implementar contenedor y selecciona Trabajo para completar el formulario inicial Crear trabajo según sea necesario. Si quieres configurar un trabajo existente, haz clic en la pestaña Trabajos, selecciona un trabajo y, luego, haz clic en Editar.
Haz clic en Contenedor, variables y secretos, conexiones y seguridad para expandir la página de propiedades del trabajo.
Haz clic en la pestaña Conexiones.
Haz clic en Conéctate a una VPC para el tráfico saliente.
Haz clic en Enviar tráfico directamente a una VPC.
Selecciona Redes compartidas conmigo.
En el campo Red, selecciona la red de VPC compartida a la que deseas enviar tráfico.
En el campo Subred, selecciona la subred desde la que tu trabajo recibe direcciones IP.
Opcional: Ingresa los nombres de las etiquetas de red que quieres asociar a un trabajo. Para los trabajos, las etiquetas de red se especifican a nivel de ejecución. Cada ejecución de trabajo puede tener diferentes etiquetas de red, como
network-tag-2
.En Enrutamiento del tráfico, selecciona una de las siguientes opciones:
- Enruta solo las solicitudes a IPs privadas a la VPC para enviar solo tráfico a direcciones internas a través de la red de VPC compartida.
- Enruta todo el tráfico a la VPC para enviar todo el tráfico saliente a través de la red de VPC compartida.
Haz clic en Crear o Actualizar.
Para verificar que tu trabajo esté en la red de VPC compartida, haz clic en el trabajo y, luego, en la pestaña Configuración. Las redes y las subredes se detallan en la tarjeta VPC.
Ahora puedes ejecutar el trabajo de Cloud Run y enviar solicitudes desde el trabajo a cualquier recurso en la red de VPC compartida, como lo permiten las reglas de firewall.
gcloud
A fin de colocar tu trabajo en la subred compartida, especifica los nombres de recursos completamente calificados para la red de VPC compartida y la subred mediante la ejecución del siguiente comando:
gcloud run jobs create JOB_NAME \ --image IMAGE_URL \ --network projects/HOST_PROJECT_ID/global/networks/VPC_NETWORK \ --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME \ --network-tags NETWORK_TAG_NAMES \ --vpc-egress=EGRESS_SETTING \ --region REGION \
Reemplaza lo siguiente:
- JOB_NAME por el nombre del trabajo de Cloud Run.
- IMAGE_URL: por la URL de la imagen del trabajo.
- HOST_PROJECT_ID: el ID del proyecto host de la VPC compartida.
- VPC_NETWORK: Es el nombre de recurso completamente calificado de tu red de VPC compartida.
- REGION: la región del trabajo de Cloud Run, que debe coincidir con la región de la subred.
- SUBNET_NAME: Es el nombre de recurso completamente calificado de tu subred.
- Opcional: NETWORK_TAG_NAMES por los nombres separados por comas de las etiquetas de red que deseas asociar con un trabajo. Cada ejecución de trabajo puede tener etiquetas de red diferentes, como
network-tag-2
. - EGRESS_SETTING por un valor de configuración de salida:
all-traffic
: Envía todo el tráfico saliente por medio de la red de VPC compartida.private-ranges-only
: Envía solo tráfico a direcciones internas a través de la red de VPC compartida.
Para obtener más detalles y ver los argumentos opcionales, consulta la referencia de gcloud
.
YAML
Si creas un trabajo nuevo, omite este paso. Si actualizas un trabajo existente, descarga su configuración de YAML:
gcloud run jobs describe JOB_NAME --format export > job.yaml
Actualiza los siguientes atributos:
apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB_NAME annotations: run.googleapis.com/launch-stage: BETA labels: cloud.googleapis.com/location: REGION spec: template: metadata: annotations: run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]' run.googleapis.com/vpc-access-egress: EGRESS_SETTING spec: containers: - image: IMAGE
Reemplaza lo siguiente:
- JOB_NAME por el nombre del trabajo de Cloud Run. Los nombres de trabajos deben tener 49 caracteres o menos, y deben ser únicos por región y proyecto.
- REGION por la región del trabajo de Cloud Run, que debe coincidir con la región de la subred.
- NETWORK por el nombre de recurso completamente calificado de tu red de VPC compartida.
- SUBNET por el nombre de recurso completamente calificado de tu subred.
- Opcional: NETWORK_TAG_NAMES por los nombres de las etiquetas de red que deseas asociar con un trabajo. Para los trabajos, las etiquetas de red se especifican a nivel de ejecución. Cada ejecución de trabajo puede tener diferentes etiquetas de red, como
network-tag-2
. - EGRESS_SETTING por un valor de configuración de salida:
all-traffic
: Envía todo el tráfico saliente por medio de la red de VPC compartida.private-ranges-only
: Envía solo tráfico a direcciones internas a través de la red de VPC compartida.
- IMAGE por la URL de la imagen de contenedor.
Crea o actualiza el servicio con el siguiente comando:
gcloud run jobs replace job.yaml
Desconecta un servicio
Console
Para quitar el servicio de la red de VPC compartida, haz lo siguiente:
En la consola de Google Cloud, ve a la página Cloud Run:
Haz clic en el servicio que deseas quitar y, luego, en Editar e implementar nueva revisión.
Haz clic en la pestaña Herramientas de redes.
Desmarca Conéctate a una VPC para el tráfico saliente.
Haz clic en Implementar.
Para verificar que tu servicio ya no esté en tu red de VPC compartida, haz clic en la pestaña Herramientas de redes. La red y la subred ya no se enumeran en la tarjeta VPC.
Para quitar solo las etiquetas de red y, al mismo tiempo, mantener el servicio conectado a la red de VPC compartida, haz lo siguiente:
Haz clic en el servicio que contiene las etiquetas de red que deseas quitar y, luego, en Implementar y editar una nueva revisión.
Haz clic en la pestaña Herramientas de redes.
Borra los nombres de las etiquetas de red que ya no deseas asociar con tu servicio.
Haz clic en Implementar.
gcloud
Para quitar tu servicio de la red de VPC compartida, ejecuta el siguiente comando:
gcloud run services update SERVICE_NAME --region=REGION \ --clear-network
Para quitar solo las etiquetas de red y, al mismo tiempo, mantener el servicio conectado a la red de VPC compartida, ejecuta el siguiente comando:
gcloud run services update SERVICE_NAME --region=REGION \ --clear-network-tags
Reemplaza lo siguiente:
- SERVICE_NAME: el nombre de tu servicio de Cloud Run.
- REGION: la región del servicio de Cloud Run.
YAML
Para quitar el servicio de la red de VPC compartida, haz lo siguiente:
Descarga la configuración YAML del servicio:
gcloud run services describe SERVICE_NAME --format export > service.yaml
Quita el siguiente contenido de tu archivo
service.yaml
:run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]'
Dónde
- NETWORK: Es el nombre de recurso completamente calificado de tu red de VPC compartida.
- SUBNET: Es el nombre de recurso completamente calificado de tu subred.
- Opcional: NETWORK_TAG_NAMES: son los nombres de las etiquetas de red si las asociaste con un servicio.
Actualiza el servicio con el siguiente comando:
gcloud run services replace service.yaml
Para quitar solo las etiquetas de red y, al mismo tiempo, mantener el servicio conectado a la red de VPC compartida, haz lo siguiente:
Descarga la configuración YAML del servicio:
gcloud run services describe SERVICE_NAME --format export > service.yaml
Quita las variables
tags
del contenido de tu archivoservice.yaml
y deja las variablesnetwork
ysubnetwork
en su lugar, como se muestra en el siguiente ejemplo:run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET"}]'
Reemplaza lo siguiente:
- NETWORK: Es el nombre de recurso completamente calificado de tu red de VPC compartida.
- SUBNET: Es el nombre de recurso completamente calificado de tu subred.
Actualiza el servicio con el siguiente comando:
gcloud run services replace service.yaml
Desconecta un trabajo
Console
Para quitar el trabajo de la red de VPC compartida, haz lo siguiente:
En la consola de Google Cloud, ve a la página Cloud Run:
Haz clic en el trabajo que deseas quitar y, luego, en Editar e implementar nueva revisión.
Haz clic en la pestaña Configuración.
Desmarca Conéctate a una VPC para el tráfico saliente.
Haz clic en Actualizar.
Para verificar que tu trabajo ya no esté en tu red de VPC compartida, haz clic en la pestaña Configuración. La red y la subred ya no se enumeran en la tarjeta VPC.
Para quitar solo las etiquetas de red y, al mismo tiempo, mantener el trabajo conectado a la red de VPC compartida, haz lo siguiente:
Haz clic en el trabajo que contiene las etiquetas de red que deseas quitar y, luego, en Implementar y editar una nueva revisión.
Haz clic en la pestaña Conexiones.
Borra los nombres de las etiquetas de red que ya no deseas asociar con tu trabajo.
Haz clic en Actualizar.
gcloud
Para quitar tu trabajo de la red de VPC compartida, ejecuta el siguiente comando:
gcloud run jobs update JOB_NAME --region=REGION \ --clear-network
Para quitar solo las etiquetas de red y, al mismo tiempo, mantener el trabajo conectado a la red de VPC compartida, ejecuta el siguiente comando:
gcloud run jobs update JOB_NAME --region=REGION \ --clear-network-tags
Reemplaza lo siguiente:
- JOB_NAME por el nombre del trabajo de Cloud Run.
- REGION: la región del trabajo de Cloud Run.
YAML
Para quitar el trabajo de la red de VPC compartida, haz lo siguiente:
Descarga la configuración YAML del trabajo:
gcloud run jobs describe JOB_NAME --format export > job.yaml
Quita el siguiente contenido de tu archivo
job.yaml
:run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]'
Dónde
- NETWORK: Es el nombre de recurso completamente calificado de tu red de VPC compartida.
- SUBNET: Es el nombre de recurso completamente calificado de tu subred.
- Opcional: NETWORK_TAG_NAMES: son los nombres de las etiquetas de red si las asociaste con un trabajo.
Actualiza el trabajo con el siguiente comando:
gcloud run jobs replace job.yaml
Para quitar solo las etiquetas de red y, al mismo tiempo, mantener el trabajo conectado a la red de VPC compartida, haz lo siguiente:
Descarga la configuración YAML del trabajo:
gcloud run jobs describe JOB_NAME --format export > job.yaml
Quita el siguiente contenido de tu archivo
job.yaml
:run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]'
Dónde
- NETWORK: Es el nombre de recurso completamente calificado de tu red de VPC compartida.
- SUBNET: Es el nombre de recurso completamente calificado de tu subred.
- Opcional: NETWORK_TAG_NAMES: son los nombres de las etiquetas de red si las asociaste con un trabajo.
Actualiza el trabajo con el siguiente comando:
gcloud run jobs replace job.yaml
Soluciona problemas
No se puede borrar la subred
Para borrar una subred, primero debes borrar todos los recursos que la usen. Si Cloud Run usa una subred, debes desconectar Cloud Run de la red de VPC compartida o moverla a una subred diferente antes de borrar la subred.
No se puede desconectar la red de VPC compartida
Para desconectar la red de VPC compartida en el proyecto host, sigue los pasos para desaprovisionar la VPC compartida y asegúrate de desconectar cualquier servicio o trabajo de Cloud Run de la red de VPC compartida.
Para ver qué recursos de Cloud Run usan la red de VPC compartida, ejecuta el siguiente comando:
gcloud compute shared-vpc list-associated-resources HOST_PROJECT_ID
Reemplaza HOST_PROJECT_ID por el ID del proyecto host de VPC compartida.
La subred de VPC directa se queda sin direcciones IP
Si la subred de la red de VPC compartida se queda sin direcciones IP, se registra mediante Cloud Logging. Cuando esto ocurre, Cloud Run no puede iniciar más instancias de servicio ni tareas de trabajo hasta que haya más direcciones IP disponibles.
Visualiza las direcciones IP asignadas
Para ver qué direcciones IP asignó Cloud Run, ve a la página de direcciones IP en la consola de Google Cloud o ejecuta el siguiente comando desde Google Cloud CLI:
gcloud compute addresses list