Puedes habilitar tu servicio o trabajo de Cloud Run para enviar tráfico a una red de VPC a través de la salida directa de VPC sin necesidad de usar el conector de Acceso a VPC sin servidores.
Antes de comenzar
Si aún no tienes una red de VPC en tu proyecto, crea una.
Si usas una VPC compartida, consulta Conéctate a una red de VPC compartida.
Si usas una subred de VPC, la subred debe ser
/24
o mayor.Para asegurarte de tener suficientes direcciones IP disponibles para usar en Cloud Run, ten en cuenta las siguientes condiciones:
- La subred en la que planeas implementar servicios o revisiones de Cloud Run debe tener al menos cientos de direcciones IP disponibles.
- En estado estable, si la cantidad total de instancias de Cloud Run que usan la subred es de 100 o más, reserva suficientes direcciones IP para al menos 4 veces (4X) la cantidad de instancias. Cuando una revisión se reduce, ten en cuenta que Cloud Run conserva sus direcciones IP durante un máximo de 20 minutos. Por ejemplo, si actualizas revisiones para que
revision 1
escale de 100 instancias a cero, mientras querevision 2
escala de cero a 100, Cloud Run conserva la IPrevision 1
direcciones durante un máximo de 20 minutos después de reducir el escalamiento. Durante el período de 20 minutos en este caso, debes reservar al menos 800 direcciones IP ((100 + 100) * 4
).
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
- Proxy web seguro
- 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.
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 vertical
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
Configura los permisos de IAM
Asegúrate de que Cloud Run tenga acceso a la red de VPC mediante uno de los siguientes métodos:
Rol Agente de servicio de Cloud Run: De forma predeterminada, el agente de servicio de Cloud Run tiene el rol Agente de servicio de Cloud Run (
roles/run.serviceAgent
) que contiene los permisos necesarios.Permisos personalizados: Para obtener un control más detallado, otorga al agente de servicio de Cloud Run los siguientes permisos adicionales en el proyecto:
compute.networks.get
compute.subnetworks.get
compute.subnetworks.use
en el proyecto host o en la subred específicacompute.addresses.get
compute.addresses.list
compute.addresses.createInternal
compute.addresses.deleteInternal
Rol Usuario de red de Compute: si no usas el rol predeterminado Agente de servicio de Cloud Run o los permisos personalizados, otorga el rol Usuario de red de Compute (
roles/compute.networkUser
) ) en la cuenta de servicio del Agente de servicios de Cloud Run mediante la ejecución del siguiente comando:gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:service-PROJECT_NUMBER@serverless-robot-prod.iam.gserviceaccount.com" \ --role "roles/compute.networkUser"
Reemplaza lo siguiente:
- PROJECT_ID: el ID de tu proyecto.
- PROJECT_NUMBER: El número de proyecto en el que implementas tu servicio o trabajo de Cloud Run.
Implementa un servicio
La salida de VPC directa permite que tu servicio de Cloud Run envíe tráfico a una red de VPC 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 usar etiquetas de red de forma directa en las revisiones de servicio de Cloud Run para obtener una seguridad de red más detallada.
Puedes configurar la salida de VPC directa con un servicio a través de la consola de Google Cloud, Google Cloud CLI, YAML o Terraform.
Console
Haz clic en Crear servicio si quieres configurar un servicio nuevo en el que realizarás la implementación. 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 de forma directa a una VPC.
En el campo Red, selecciona la red de VPC a la que deseas enviar tráfico.
En el campo Subred, selecciona la subred desde la que tu servicio recibe direcciones IP. Puedes implementar varios servicios en la misma subred.
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 IP privadas a la VPC para enviar solo tráfico a direcciones internas a través de la red de VPC.
- Enruta todo el tráfico a la VPC para enviar todo el tráfico saliente a través de la red de VPC.
Haz clic en Crear o Implementar.
Para verificar que tu servicio esté en tu red de VPC, 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, como lo permiten las reglas de firewall.
gcloud
Para implementar un servicio de Cloud Run sin un conector de Google Cloud CLI, sigue estos pasos:
Asegúrate de que la API de Compute Engine esté habilitada para tu proyecto:
gcloud services enable compute.googleapis.com
Implementa el servicio de Cloud Run con el siguiente comando:
gcloud run deploy SERVICE_NAME \ --image=IMAGE_URL \ --network=NETWORK \ --subnet=SUBNET \ --network-tags=NETWORK_TAG_NAMES \ --vpc-egress=EGRESS_SETTING \ --region=REGION
Reemplaza lo siguiente:
- SERVICE_NAME por el nombre del servicio de Cloud Run.
- IMAGE_URL por una referencia a la imagen del contenedor, como
us-docker.pkg.dev/cloudrun/container/hello:latest
Si usas Artifact Registry, el repositorio REPO_NAME debe estar creado. La URL tiene el formatoLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. - NETWORK por el nombre de la red de VPC.
- SUBNET por el nombre de la subred Puedes implementar o ejecutar varios servicios o trabajos en la misma 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 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.private-ranges-only
: Envía solo el tráfico a direcciones internas por medio de la red de VPC.
- REGION por una región para el servicio.
Para verificar que tu servicio esté en tu red de VPC, ejecuta el siguiente comando:
gcloud run services describe SERVICE_NAME \ --region=REGION
Reemplaza lo siguiente:
SERVICE_NAME
por el nombre de tu servicioREGION
por la región del servicio que especificaste en el paso anterior.
El resultado debe contener el nombre de tu red, subred y configuración de salida, por ejemplo:
VPC access: Network: default Subnet: subnet Egress: private-ranges-only
Ahora puedes enviar solicitudes desde tu servicio de Cloud Run a cualquier recurso en la red de VPC, como lo permiten las reglas de firewall.
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 la red de VPC.
- SUBNET por el nombre de la subred Puedes implementar o ejecutar varios servicios o trabajos en la misma 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.private-ranges-only
: Envía solo el tráfico a direcciones internas por medio de la red de VPC.
- IMAGE por la URL de la imagen de contenedor de servicio.
También puedes especificar más opciones de configuración, como variables de entorno o límites de memoria.
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 sin un conector de Acceso a VPC sin servidores.
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
Si quieres configurar un nuevo trabajo, haz clic en la pestaña Trabajos y completa la página de configuración de trabajo inicial según sea necesario. Si quieres configurar un trabajo existente, haz clic en el trabajo y, luego, 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 de forma directa a una VPC.
En el campo Red, selecciona la red de VPC a la que deseas enviar tráfico.
En el campo Subred, selecciona la subred desde la que tu trabajo recibe direcciones IP. Puedes ejecutar varios trabajos en la misma subred.
En Enrutamiento del tráfico, selecciona una de las siguientes opciones:
- Enruta solo las solicitudes a IP privadas a la VPC para enviar solo tráfico a direcciones internas a través de la red de VPC.
- Enruta todo el tráfico a la VPC para enviar todo el tráfico saliente a través de la red de VPC.
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
.Opcional: Ingresa los nombres de las etiquetas de red que quieres asociar a tu trabajo o trabajos. Para los trabajos, las etiquetas de red se especifican a nivel de ejecución. Cada ejecución de trabajo puede tener etiquetas de red diferentes, como
network-tag-2
.Haz clic en Crear o Actualizar.
Para verificar que tu trabajo esté en la red de VPC, 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, como lo permiten las reglas de firewall.
gcloud
Para crear un trabajo de Cloud Run sin un conector de Google Cloud CLI, sigue estos pasos:
Asegúrate de que la API de Compute Engine esté habilitada para tu proyecto:
gcloud services enable compute.googleapis.com
Crea un trabajo de Cloud Run con el siguiente comando:
gcloud run jobs create JOB_NAME \ --image=IMAGE_URL \ --network=NETWORK \ --subnet=SUBNET \ --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 una referencia a la imagen de contenedor, como
us-docker.pkg.dev/cloudrun/container/job:latest
- NETWORK por el nombre de la red de VPC.
- SUBNET por el nombre de la subred Puedes implementar o ejecutar varios servicios o trabajos en la misma 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.private-ranges-only
: Envía solo el tráfico a direcciones internas por medio de la red de VPC.
- REGION por una región para el trabajo.
Para verificar que el trabajo esté en tu red de VPC, ejecuta el siguiente comando:
gcloud run jobs describe JOB_NAME \ --region=REGION
Reemplaza lo siguiente:
JOB_NAME
por el nombre de tu trabajo.REGION
por la región del trabajo que especificaste en el paso anterior.
El resultado debe contener el nombre de tu red y subred, por ejemplo:
VPC network: Network: default Subnet: default
Ahora puedes ejecutar el trabajo de Cloud Run y enviar solicitudes desde el trabajo a cualquier recurso en la red de VPC, como lo permiten las reglas de firewall.
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 la red de VPC.
- SUBNET por el nombre de la subred Puedes implementar o ejecutar varios servicios o trabajos en la misma 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.private-ranges-only
: Envía solo el tráfico a direcciones internas por medio de la red de VPC.
- IMAGE por la URL de la imagen de contenedor.
Crea o actualiza el servicio con el siguiente comando:
gcloud run jobs replace job.yaml
Restringe el acceso con reglas de firewall
Restringe el acceso a los recursos en una red de VPC mediante las reglas de firewall de VPC. Agrega estas restricciones mediante una de las siguientes estrategias:
- Crea una regla de firewall de entrada que haga referencia a tu servicio o trabajo mediante el rango de IP de la subred.
Crea una regla de firewall de salida que haga referencia a tu servicio o trabajo.
En la regla de firewall de salida, haz referencia a tu servicio o trabajo mediante la identidad de servicio de la cuenta de servicio vinculado, el rango de IP de la subred o las etiquetas de red asociadas.
Etiquetas de red para la salida
Agrega una capa adicional de seguridad de red mediante etiquetas de red en las reglas de firewall de salida.
Console
Para asociar etiquetas de red a un servicio o trabajo, sigue estos pasos:
En la consola de Google Cloud, ve a la página Cloud Run.
Haz clic en el servicio o trabajo con el que deseas asociar las etiquetas de red y, luego, haz clic en Editar e implementar nueva revisión para servicios o en Editar para trabajos.
Haz clic en la pestaña Herramientas de redes para los servicios o en la pestaña Conexiones para los trabajos.
Asegúrate de nhaber seleccionado Conectar a una VPC para el tráfico saliente y Enviar tráfico directamente a una VPC.
En el campo Subred, selecciona la subred desde la que tu servicio recibe direcciones IP. Puedes implementar o ejecutar varios servicios o trabajos en la misma subred.
En el campo Etiquetas de red, ingresa los nombres de las etiquetas de red que deseas asociar con el servicio o el trabajo.
Haz clic en Implementar o Actualizar.
En el caso de los servicios, cada revisión de servicio puede tener un conjunto diferente de etiquetas de red, ya que se especifican a nivel de revisión. En el caso de los trabajos, una ejecución de trabajo tiene las mismas etiquetas de red que tenía el trabajo cuando se creó el trabajo.
gcloud
Para asociar las etiquetas de red a un servicio o trabajo, usa el comando gcloud run deploy
:
gcloud run deploy SERVICE_JOB_NAME \ --image=IMAGE_URL \ --network=NETWORK \ --subnet=SUBNET \ --network-tags=NETWORK_TAG_NAMES \ --region=REGION
Reemplaza lo siguiente:
- SERVICE_JOB_NAME por el nombre de tu servicio o trabajo.
- IMAGE_URL por la URL de imagen del servicio o el trabajo.
- NETWORK por el nombre de la red de VPC.
- SUBNET por el nombre de la subred Puedes implementar o ejecutar varios servicios o trabajos en la misma subred.
- NETWORK_TAG_NAMES por el nombre de tu etiqueta de red o una lista de etiquetas de red separadas por comas.
- REGION por el nombre de tu región
En el caso de los servicios, cada revisión de servicio puede tener un conjunto diferente de etiquetas de red, ya que se especifican a nivel de revisión. En el caso de los trabajos, una ejecución de trabajo tiene las mismas etiquetas de red que tenía el trabajo cuando se creó el trabajo.
Desconecta un servicio
Console
Para quitar el servicio de la red de VPC, haz lo siguiente:
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, 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, 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, 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, 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, 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: El nombre de tu red de VPC
- SUBNET: el nombre de tu subred.
- Opcional: NETWORK_TAG_NAMES: son los nombres de las etiquetas de red si las asociaste con un servicio.
Implementa la revisión del servicio a través de la ejecución del 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, 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"}]'
Dónde
- NETWORK: El nombre de tu red de VPC
- SUBNET: el nombre de tu subred.
Implementa la revisión del servicio a través de la ejecución del siguiente comando:
gcloud run services replace service.yaml
Desconecta un trabajo
Console
Para quitar el trabajo de la red de VPC, haz lo siguiente:
Haz clic en el trabajo que deseas quitar y, luego, en Editar e implementar nueva revisión.
Haz clic en la pestaña Conexiones.
Desmarca Conéctate a una VPC para el tráfico saliente.
Haga clic en Update.
Para verificar que tu trabajo ya no esté en tu red de VPC, 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, 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.
Haga clic en Update.
gcloud
Para quitar tu trabajo de la red de VPC, 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, 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, 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"}]'
Reemplaza lo siguiente:
- NETWORK: El nombre de tu red de VPC
- SUBNET: el nombre de tu subred.
- Opcional: NETWORK_TAG_NAMES por los nombres de las etiquetas de red si las asociaste con un trabajo.
Actualiza el trabajo a través de la ejecución del 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, haz lo siguiente:
Descarga la configuración YAML del trabajo:
gcloud run jobs describe JOB_NAME --format export > job.yaml
Quita las variables
tags
del contenido de tu archivojob.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: El nombre de tu red de VPC
- SUBNET: el nombre de tu subred.
Actualiza el trabajo a través de la ejecución del siguiente comando:
gcloud run jobs replace job.yaml
Soluciona problemas
No se puede borrar la subred
Para borrar una subred, primero debes borrar o volver a implementar todos los recursos que la usen. Si Cloud Run usa una subred, desconecta el servicio o el trabajo de Cloud Run de la red de VPC o muévelo a una subred diferente antes borrar la subred.
La subred de VPC directa se queda sin direcciones IP
Si la subred de la red de VPC se queda sin direcciones IP, se registra a través de 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