Para configurar un extremo público nuevo para el servicio de Cloud Run, puedes usar Cloud Load Balancing para agregar un balanceador de cargas de aplicaciones externo global frente al servicio de Cloud Run. El balanceador de cargas de aplicaciones externo global te permite controlar la configuración de tu dominio personalizado, pero requiere pasos de configuración si aún no tienes un certificado TLS o usas un balanceador de cargas de aplicaciones externo global.
Mediante las integraciones de Cloud Run (vista previa) que se describen en esta página, puedes configurar con rapidez una asignación de dominios personalizados nueva para tu servicio de Cloud Run mediante un balanceador de cargas de aplicaciones externo global. Si deseas usar un balanceador de cargas de aplicaciones externo global existente, consulta Configura un balanceador de cargas de aplicaciones externo global con Cloud Run.
Antes de comenzar
- Asegúrate de tener el acceso necesario para realizar cambios de DNS en el dominio que deseas asignar al servicio de Cloud Run.
- Asegúrate de que el servicio de Cloud Run con el que te integras ya esté implementado.
- Revisa la página de precios del balanceador de cargas de aplicaciones externo global. Se te facturan los recursos individuales usados en la integración.
Roles obligatorios
Para usar las integraciones de Cloud Run, tú o tu administrador deben otorgar roles de IAM en dos principales diferentes.
Haz clic para ver los roles necesarios para tu Cuenta de Google
Para obtener los permisos que necesitas para usar las integraciones de Cloud Run, pídele a tu administrador que otorgue a tu Cuenta de Google los siguientes roles de IAM en tu proyecto:
- Desarrollador de Cloud Run (
roles/run.developer
) - Visualizador de Compute (
roles/compute.viewer
) - Desarrollador de Serverless Integrations (
roles/runapps.developer
) - Operador de Serverless Integrations (
roles/runapps.operator
) - Usuario de cuenta de servicio (
roles/iam.serviceAccountUser
)
Haz clic para ver los roles necesarios para la cuenta de servicio
Para implementar el servicio de Cloud Run, puedes usar la cuenta de servicio predeterminada de Compute Engine creada automáticamente o especificar una cuenta de servicio administrada por el usuario. Esta cuenta de servicio debe tener los siguientes roles:
- Desarrollador de Cloud Run (
roles/run.developer
) - Escritor de bucket de servicios (
roles/logging.bucketWriter
) - Usuario de cuenta de servicio (
roles/iam.serviceAccountUser
) - Administrador de almacenamiento (
roles/storage.admin
) - Administrador de balanceador de cargas de Compute (
roles/compute.loadBalancerAdmin
)
Asigna un dominio personalizado con un balanceador de cargas de aplicaciones externo global
Puedes asignar un dominio personalizado con la consola o la línea de comandos. Ten en cuenta que el certificado SSL puede tardar hasta una hora en aprovisionarse y que el dominio comience a enrutar el tráfico HTTPS al servicio de Cloud Run.
Console
En la consola de Google Cloud, ve a la página Cloud Run.
Haz clic en el servicio de la lista de servicios que deseas usar en esta integración.
Haz clic en la pestaña Integraciones.
Haz clic en Agregar integración.
Haz clic en Dominios personalizados: Balanceo de cargas de Google Cloud.
Escribe el dominio en el campo Dominio.
Escribe la ruta de acceso del dominio que estás usando en el campo Ruta de acceso.
Ingresa el nombre del servicio que asignas a este dominio personalizado en el campo Servicio.
Si asignas otros dominios, haz clic en Agregar elemento y repite los pasos anteriores para asignar el dominio al servicio según sea necesario.
Si se te solicita que habilites una lista de APIs, haz clic en Habilitar y espera a que las API se habiliten.
En Recursos, observa los recursos nuevos que se crearán como resultado de esta integración.
Haz clic en Enviar y espera a que se creen la integración y los recursos.
- Cuando se complete, se creará una tabla con los registros DNS que debes configurar: úsala para actualizar los registros DNS en tu proveedor de DNS.
- Después de actualizar tu DNS en tu proveedor de DNS, puede tardar hasta 45 minutos en aprovisionar el certificado SSL y comenzar a enrutar el tráfico a tu servicio.
gcloud
Actualiza a la versión más reciente de Google Cloud CLI:
gcloud components update
Crea la integración:
gcloud beta run integrations create \ --type=custom-domains \ --parameters='set-mapping=DOMAIN:SERVICE' \
Reemplaza lo siguiente:
- DOMAIN por el dominio personalizado, por ejemplo,
example.com
osubdomain.example.com
- También puede contener una ruta de acceso, como
example.com/subpath/*
- También puede contener una ruta de acceso, como
- SERVICE por el nombre de servicio de Cloud Run
De manera opcional, puedes incluir la marca
--service-account=SERVICE_ACCOUNT_EMAIL
.Reemplaza SERVICE_ACCOUNT_EMAIL por la dirección de correo electrónico de la cuenta de servicio administrada por el usuario (
PROJECT_NUMBER-compute@developer.gserviceaccount.com
) que se usa para implementar el servicio. Omite esta marca si deseas usar la cuenta de servicio de procesamiento predeterminada (SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com
).Para seguir usando la cuenta de servicio especificada cuando implementas integraciones de Cloud Run, ejecuta lo siguiente:
gcloud config set runapps/deployment-service-account
- DOMAIN por el dominio personalizado, por ejemplo,
Espera entre 2 y 5 minutos, tiempo durante el cual se crea un balanceador de cargas completamente configurado. Cuando se completa el proceso, se muestra el siguiente mensaje:
[custom-domains] integration [custom-domains] has been created successfully. To complete the process, please ensure the following DNS records are configured for the domains: NAME TTL TYPE DATA DOMAIN 3600 A IP_ADDRESS It can take up to an hour for the SSL certificate to be provisioned.
Puedes verificar el estado con
gcloud beta run integrations describe
.Actualiza los registros DNS en el proveedor de DNS con el valor IP_ADDRESS que se muestra. Después de actualizar tu DNS en tu proveedor de DNS, puede tardar hasta 45 minutos en aprovisionar el certificado SSL y comenzar a enrutar el tráfico a tu servicio.
Borra dominios personalizados con integraciones de balanceadores de cargas
Si actualizas una integración, se actualizarán todos los recursos de Google Cloud asociados a esa integración. Para actualizar un dominio personalizado con la integración del balanceador de cargas de tu servicio de Cloud Run, sigue estos pasos:
Console
En la consola de Google Cloud, ve a la página Cloud Run.
Haz clic en el servicio que deseas actualizar.
Haz clic en la pestaña Integraciones.
Ubica los dominios personalizados con la integración del balanceador de cargas y haz clic en Editar.
Cuando termines de actualizar los campos, haz clic en Actualizar.
gcloud
Usa el siguiente comando para obtener una lista de las integraciones disponibles:
gcloud beta run integrations list
Ejecuta el comando para actualizar la integración:
gcloud beta run integrations update INTEGRATION_NAME
Reemplaza lo siguiente:
- Reemplaza INTEGRATION_NAME por el nombre de tus dominios personalizados con la integración del balanceador de cargas.
De manera opcional, puedes usar las siguientes opciones de marcas:
Opción Descripción --parameters
El dominio personalizado que se establecerá para el servicio. --service-account
La dirección de correo electrónico de la cuenta de servicio administrada por el usuario que se debe especificar cuando se actualiza el servicio. Esta cuenta de servicio anula la cuenta de servicio anterior que se usó en la implementación.
Visualiza dominios personalizados con integraciones de balanceadores de cargas
Para ver el estado actual de los dominios personalizados con integraciones del balanceador de cargas de tu servicio de Cloud Run, sigue estos pasos:
Console
En la consola de Google Cloud, ve a la página Cloud Run.
Haz clic en el servicio de la lista de servicios que deseas usar en esta integración.
Haz clic en la pestaña Integraciones.
Ubica los dominios personalizados con la integración de balanceador de cargas que te interese y haz clic en Ver detalles.
gcloud
Usa el siguiente comando para obtener una lista de las integraciones disponibles:
gcloud beta run integrations list
Con un nombre de la lista que se muestra, muestra sus detalles:
gcloud beta run integrations describe INTEGRATION_NAME
Reemplaza INTEGRATION_NAME por el nombre de tus dominios personalizados con la integración del balanceador de cargas.
Borra dominios personalizados con integraciones de balanceadores de cargas
Si borras una integración, también se borrarán todos los recursos de Google Cloud asociados a esa integración, pero no se borrará tu servicio de Cloud Run.
Para borrar un dominio personalizado con la integración del balanceador de cargas de tu servicio de Cloud Run, sigue estos pasos:
Console
En la consola de Google Cloud, ve a la página Cloud Run.
Haz clic en el servicio del que deseas borrar una integración.
Haz clic en la pestaña Integraciones.
Ubica los dominios personalizados con la integración de balanceador de cargas que te interese y haz clic en el ícono de puntos suspensivos a la derecha de la integración. Luego, haz clic en Borrar.
gcloud
Usa el siguiente comando para obtener una lista de las integraciones disponibles:
gcloud beta run integrations list
Con un nombre de la lista que se muestra, borra la integración:
gcloud beta run integrations delete INTEGRATION_NAME
Reemplaza lo siguiente:
- Reemplaza INTEGRATION_NAME por el nombre de tus dominios personalizados con la integración del balanceador de cargas.
De manera opcional, puedes usar las siguientes opciones de marcas:
Opción Descripción --service-account
La dirección de correo electrónico de la cuenta de servicio administrada por el usuario para realizar la operación de eliminación.
Limitaciones
Las integraciones de Cloud Run solo se admiten en ciertas regiones. Si necesitas usar una región que no es compatible con las integraciones de Cloud Run, consulta Configura un balanceador de cargas de aplicaciones externo global con Cloud Run.