Para configurar un extremo público nuevo para el servicio de Cloud Run, puedes usar Firebase Hosting frente al servicio de Cloud Run. Con Firebase Hosting, puedes obtener acceso a una CDN global y configurar dominios personalizados gratuitos para tu servicio. Firebase Hosting te permite dirigir las solicitudes de hosting al servicio de Cloud Run, pero es posible que requiera tiempo de integración si no estás familiarizado con el uso de Firebase Hosting.
Mediante las integraciones de Cloud Run (vista previa) que se describen en esta página, puedes exponer con rapidez tu servicio de Cloud Run a través de Firebase nuevo sitio de Firebase Hosting sin tener que configurar Firebase Hosting. Si deseas usar un sitio existente, consulta Entrega contenido dinámico y aloja microservicios con Cloud Run.
Antes de comenzar
- Asegúrate de que el servicio de Cloud Run con el que te integras ya esté implementado.
- Revisa la página de precios de Firebase Hosting. 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 Firebase (
roles/firebase.admin
)
Conecta el servicio de Cloud Run a un sitio de Firebase Hosting
Puedes conectarte a un sitio de Firebase Hosting con la consola o la línea de comandos.
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 Firebase Hosting.
Ingresa el ID de un sitio en el cuadro de campo Subdominio (ID del sitio). Tu servicio se alojará en site_ID.web.app después de su creación.
Si se te solicita que habilites una lista de APIs, haz clic en Habilitar y espera a que las API se habiliten. Ten en cuenta que la API de Firebase Hosting está sujeta a las Condiciones del Servicio de Firebase.
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 finalice, se mostrarán las URLs públicas del sitio.
- También puedes hacer clic en el vínculo proporcionado para ir directamente a la consola de Firebase.
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=firebase-hosting \ --service=SERVICE \ --parameters='site-id=SITE_ID'
Reemplaza lo siguiente:
- SITE_ID por el ID del sitio de Firebase Hosting que deseas crear y usar Esto aparece como el subdominio de la URL de Firebase “SITE_ID.web.app”
- SERVICE por el nombre del servicio de Cloud Run que usas.
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
Espera entre 1 y 2 minutos mientras se crea el sitio de Firebase Hosting. Cuando se completa el proceso, se muestra el siguiente mensaje:
[firebase-hosting] integration [firebase-hosting-1] has been created successfully.
Puedes verificar el estado con
gcloud beta run integrations describe
.
Actualiza las integraciones de Firebase Hosting
La actualización de una integración actualiza todos los recursos de Google Cloud asociados a esa integración. Para actualizar una integración de Firebase Hosting de tu servicio de Cloud Run, haz lo siguiente:
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 la integración de Firebase Hosting 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 tu integración de Firebase Hosting.
De manera opcional, puedes usar las siguientes opciones de marcas:
Opción Descripción --parameters
El ID del sitio por el que reemplazas el servicio de Cloud Run. --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.
Ver integraciones de Firebase Hosting
Para ver el estado actual de las integraciones de Firebase Hosting con el 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 la integración de Firebase Hosting 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 tu integración de Firebase Hosting.
Borra integraciones de Firebase Hosting
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 una integración de Firebase Hosting de tu servicio de Cloud Run, haz lo siguiente:
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 la integración de Firebase Hosting 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 tu integración de Firebase Hosting.
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.