Ubicaciones de las funciones de Cloud Run Functions

Cloud Run Functions es regional, lo que significa que la infraestructura que ejecuta una función de Cloud Run Functions se ubica en una región específica y Google la administra para que esté disponible de manera redundante en todas las zonas de esa región.

Cuando selecciones la región en la que ejecutarás tus funciones de Cloud Run Functions, las consideraciones principales deben ser la latencia y la disponibilidad. Por lo general, puedes seleccionar la región más cercana a la de los usuarios de tu función de Cloud Run Functions, pero también debes considerar la ubicación de los otros productos y servicios de Google Cloud que tu aplicación usa. El uso de servicios en varias ubicaciones puede afectar la latencia de la app y los precios.

Las regiones disponibles para Cloud Run Functions se enumeran a continuación. Las diferentes versiones de Cloud Run Functions tienen una disponibilidad regional diferente. Consulta la columna “Versiones de productos compatibles” en las tablas.

Precios del nivel 1

Cloud Run Functions está disponible con precios de nivel 1 en las siguientes regiones:

Región Ubicación Emisiones de CO2
asia-east1 Taiwán
asia-northeast1 Tokio
asia-northeast2 Osaka
europe-north1 Finlandia ícono de hoja CO2 bajo
europe-southwest1 Madrid
europe-west1 Bélgica ícono de hoja CO2 bajo
europe-west4 Países Bajos
europe-west8 Milán
europe-west9 París ícono de hoja CO2 bajo
me-west1 Tel Aviv
us-central1 Iowa ícono de hoja CO2 bajo
us-east1 Carolina del Sur
us-east4 Virginia del Norte
us-east5 Columbus
us-south1 Dallas
us-west1 Oregón ícono de hoja CO2 bajo

Precios del nivel 2

Cloud Run Functions está disponible con precios de nivel 2 en las siguientes regiones:

Región Ubicación Emisiones de CO2
asia-east2 Hong Kong
asia-northeast3 Seúl
asia-southeast1 Singapur
asia-southeast2 Yakarta
asia-south1 Bombay
asia-south2 Delhi, India
australia-southeast1 Sídney
australia-southeast2 Melbourne
europe-central2 Varsovia
europe-west2 Londres
europe-west3 Fráncfort ícono de hoja CO2 bajo
europe-west6 Zúrich ícono de hoja CO2 bajo
europe-west10 Berlín
europe-west12 Turín
me-central1 Doha
me-central2 Dammam
northamerica-northeast1 Montreal ícono de hoja CO2 bajo
northamerica-northeast2 Toronto ícono de hoja CO2 bajo
southamerica-east1 São Paulo ícono de hoja CO2 bajo
southamerica-west1 Santiago, Chile
us-west2 Los Ángeles
us-west3 Salt Lake City
us-west4 Las Vegas

Seleccionar la región

Puedes seleccionar una región para tu función durante la implementación.

gcloud

Si usas Google Cloud CLI, puedes especificar la región con la marca --region:

gcloud functions deploy FUNCTION_NAME --region=REGION ...

En el ejemplo anterior, REGION es una de las regiones enumeradas con anterioridad.

Console

Si usas la consola de Google Cloud, puedes seleccionar la región cuando creas y cuando implementas una función.

  1. En la consola de Google Cloud, ve a la página Descripción general de las funciones de Cloud Run.

    Ir a la página Descripción general de las funciones de Cloud Run

    Asegúrate de que el proyecto para el que habilitaste funciones de Cloud Run esté seleccionado.

  2. Haz clic en Crear función.

  3. En el campo Región, selecciona una región.

Puedes implementar funciones en regiones diferentes en un proyecto, pero una vez que hayas seleccionado la región para una función, no la puedes cambiar.

Las funciones en una región o proyecto determinados deben tener un nombre único (distingue mayúsculas de minúsculas), pero las funciones entre regiones o proyectos pueden compartir el mismo nombre.

Configura una región predeterminada

Puedes configurar una región predeterminada con Google Cloud CLI de la siguiente manera:

gcloud config set functions/region REGION

Por ejemplo:

gcloud config set functions/region europe-west1

Residencia de los datos

Cloud Run Functions ofrece una garantía de residencia de datos en el alcance de la ejecución de la función (Cumplimiento de alcance A: ejecución de funciones), en la que una función determinada proporciona residencia de datos para la invocación y ejecución de funciones.

Este cumplimiento se aplica a las funciones de HTTP y las funciones controladas por eventos. Para las funciones controladas por eventos, Cloud Run Functions cumple con los requisitos de residencia de datos desde el momento en que el producto ascendente (producto en activación) entrega el evento a Cloud Run Functions. Por lo tanto, es importante garantizar que el producto ascendente (como Cloud Storage o Pub/Sub) cumpla con la residencia de datos.

Prácticas recomendadas para el cambio de región

Si necesitas cambiar una región en la que se implementa la función, sigue las recomendaciones que aparecen a continuación.

Funciones de HTTP

Para las funciones de HTTP, recomendamos que primero vuelvas a implementar tu función de ese tipo en la región de destino (puede tener el mismo nombre) y, luego, alteres tu función original para redireccionar su solicitud HTTP a la función nueva. Si los clientes de tu función de HTTP admiten redireccionamientos, simplemente cambia tu función original para volver a un estado de redireccionamiento de HTTP (301), además de la URL de tu función nueva. Si tus clientes no controlan de buena forma los redireccionamientos, puedes realizar la solicitud mediante un proxy desde la función original hasta la función nueva si inicias una solicitud nueva desde la función original hasta la función nueva. El paso final es asegurarse de que todos los clientes llaman a la función nueva.

Funciones controladas por eventos

Las funciones controladas por eventos adoptan una semántica de entrega de eventos “al menos una vez”, lo que significa que reciben eventos duplicados en circunstancias determinadas y, por lo tanto, siempre se deben implementar para ser idempotentes. Si tu función ya es idempotente, simplemente puedes volver a implementarla en la región nueva con el mismo activador de eventos y quitar la función antigua después de que verifiques que la nueva recibe tráfico de forma correcta. Durante esta transición ambas funciones recibirán eventos.

Si tu función no es idempotente, o si su idempotencia no va más allá de la región, te recomendamos que primero implementes la idempotencia antes de mover la función.