En esta página, se describe cómo usar la configuración de entrada para restringir el acceso de red a tu servicio de Cloud Run. De forma predeterminada, cualquier recurso de Internet puede acceder a tu servicio Cloud Run (completamente administrado) en su URL run.app
o en un dominio personalizado configurado en Cloud Run. Puedes cambiar este valor predeterminado si especificas una configuración diferente para la entrada.
Ten en cuenta que puedes usar esta característica junto con los métodos de autenticación de IAM para administrar el acceso a un servicio.
Opciones de configuración de entrada disponibles
Podrás configurar los siguientes parámetros:
Configuración | Descripción |
---|---|
todas | Permite que se pueda acceder a tu servicio desde la Internet pública. Aún se sigue aplicando el permiso para invocar de IAM. |
interna | Hace que tu servicio sea privado, lo que permite que solo las solicitudes internas del proyecto accedan a tu servicio. Aún se sigue aplicando el permiso para invocar de IAM. Actualmente, solo las solicitudes que se originan en las redes de VPC del proyecto se consideran internas. No hay asistencia para multiusuarios, es decir, varios dominios de confianza dentro del mismo proyecto. |
balanceo de cargas interno y en la nube | Permite que se pueda acceder a tu servicio desde la Internet pública, pero solo acepta las solicitudes internas y las que llegan a través del balanceo de cargas de HTTP(S).
El permiso de Invocador de IAM se seguirá aplicando. Si usas Identity-Aware Proxy, Google Cloud Armor o Cloud CDN, esto también evitará las omisiones de estos servicios, ya que se accederá a la URL predeterminada. |
Información sobre el acceso a servicios internos
Cuando accedes a los servicios internos, llámalos como lo harías con sus URL públicas, ya sea la URL run.app
predeterminada o un dominio personalizado configurado en Cloud Run.
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.
Para solicitudes de otros servicios de Cloud Run o de 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 enConectarse a una red de VPC. Ten en cuenta que se sigue aplicando el permiso de invocador de IAM.
Las solicitudes de recursos dentro de las redes 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.
Configura la entrada
Puedes configurar la entrada con cualquiera de los métodos admitidos en las siguientes pestañas:
Console
Si implementas un servicio nuevo, sigue estos pasos:
Haz clic en Crear servicio y configura el primer paso (Configuración del servicio) como desees y, luego, haz clic en Siguiente.
Configura el segundo paso (Configura la primera revisión del servicio) como desees y haz clic en Siguiente.
En el tercer paso, Configura cómo se activa este servicio, que se encuentra en la etiqueta Ingress*, selecciona el tráfico de entrada que deseas permitir:
Si estás configurando un servicio existente, haz lo siguiente:
Haz clic en el servicio.
Hacer clic en la pestaña Activadores
En la etiqueta Ingress, selecciona el tráfico de entrada que deseas permitir:
Haz clic en Guardar.
Línea de comandos
Si implementas un servicio nuevo, impleméntalo con la marca
--ingress
:gcloud beta run deploy SERVICE --image IMAGE_URL --platform managed --ingress INGRESS
Reemplazar
INGRESS
por una de las configuraciones de entrada disponiblesall
internal
internal-and-cloud-load-balancing
SERVICE
el nombre de tu servicio.IMAGE_URL
por una referencia a la imagen de contenedor, comogcr.io/myproject/my-image:latest
Si cambias una entrada de servicio existente:
gcloud beta run services update SERVICE --platform managed --ingress INGRESS
Reemplazar
INGRESS
por una de las configuraciones de entrada disponiblesall
internal
internal-and-cloud-load-balancing
SERVICE
el nombre de tu servicio.
YAML
Puedes descargar y ver la configuración del servicio existente mediante el comando gcloud run services describe --format export
, que genera resultados limpios en formato YAML. Luego, puedes modificar los campos que se describen a continuación y subir el YAML modificado mediante el comando gcloud beta run services replace
.
Asegúrate de modificar los campos tal como se indica en la documentación.
Para ver y descargar la configuración:
gcloud run services describe SERVICE --format export > service.yaml
Actualiza la anotación
run.googleapis.com/ingress:
:apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/ingress: INGRESS
Reemplazar
INGRESS
por una de las configuraciones de entrada disponiblesall
internal
internal-and-cloud-load-balancing
Reemplaza el servicio por la configuración nueva mediante el comando siguiente:
gcloud beta run services replace service.yaml
¿Qué sigue?
Puedes usar el Acceso a VPC sin servidores para conectar un servicio de Cloud Run (completamente administrado) directamente a tu red de VPC mediante la configuración de salida.
También puedes usar el balanceo de cargas de HTTP(S) con Cloud Run (completamente administrado).