Ubicaciones de Cloud Run Functions (1.ª gen.)

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

Al seleccionar una región para ejecutar tus funciones de Cloud Run, debes tener en cuenta principalmente la latencia y la disponibilidad. Por lo general, puedes seleccionar la región más cercana a los usuarios de tu función de Cloud Run, pero también debes tener en cuenta la ubicación de los otros productos y servicios Google Cloud que utilice tu aplicación. Usar servicios en varias ubicaciones puede afectar a la latencia de tu aplicación, así como a los precios.

A continuación se indican las regiones disponibles para las funciones de Cloud Run. Las diferentes versiones de Cloud Run Functions tienen una disponibilidad regional diferente.

Precios del nivel 1

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

Región Ubicación Emisiones de CO2
asia-east1 Taiwán
asia-east2 Hong Kong
asia-northeast1 Tokio
asia-northeast2 Osaka
europe-west1 Bélgica icono de una hoja CO2 bajo
europe-west2 Londres
us-central1 Iowa icono de una hoja CO2 bajo
us-east1 Carolina del Sur
us-east4 Norte de Virginia
us-west1 Oregón icono de una hoja CO2 bajo

Precios del nivel 2

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

Región Ubicación Emisiones de CO2
asia-northeast3 Seúl
asia-southeast1 Singapur
asia-southeast2 Yakarta
asia-south1 Bombay
australia-southeast1 Sídney
europe-central2 Varsovia
europe-west3 Fráncfort
europe-west6 Zúrich icono de una hoja CO2 bajo
northamerica-northeast1 Montreal icono de una hoja CO2 bajo
southamerica-east1 São Paulo icono de una hoja CO2 bajo
us-west2 Los Ángeles
us-west3 Salt Lake City
us-west4 Las Vegas

Selecciona la región

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

gcloud

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

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

REGION es una de las regiones indicadas arriba.

Consola

Si usas la consola de Google Cloud , puedes seleccionar la región al crear y desplegar una función.

  1. En la Google Cloud consola, ve a la página de información general de Cloud Run Functions.

    Ve a la página de información general de Cloud Run Functions.

    Asegúrate de que esté seleccionado el proyecto en el que has habilitado Cloud Run Functions.

  2. Haz clic en Crear función.

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

Puedes desplegar funciones en diferentes regiones de un proyecto, pero una vez que se ha seleccionado una región para una función, no se puede cambiar.

Las funciones de una región determinada de un proyecto concreto deben tener nombres únicos (con distinción entre mayúsculas y minúsculas), pero las funciones de diferentes regiones o proyectos pueden tener el mismo nombre.

Definir una región predeterminada

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

gcloud config set functions/region REGION

Por ejemplo:

gcloud config set functions/region europe-west1

Residencia de datos

Las funciones de Cloud Run ofrecen una garantía de residencia de datos en el ámbito de la ejecución de la función (cumplimiento del ámbito A: ejecución de la función), en la que una función determinada proporciona residencia de datos para la invocación o ejecución de la función.

Este cumplimiento se aplica tanto a las funciones HTTP como a las funciones basadas en eventos. En el caso de las funciones basadas en eventos, Cloud Run Functions cumple los requisitos de residencia de datos desde el momento en que el producto upstream (el producto que activa la función) envía el evento a Cloud Run Functions. Por lo tanto, es importante asegurarse de que el producto upstream (como Cloud Storage o Pub/Sub) cumpla los requisitos de residencia de datos.

Prácticas recomendadas para cambiar de región

Si necesitas cambiar una región en la que se ha implementado una función, sigue las recomendaciones que se indican a continuación.

Funciones HTTP

En el caso de las funciones HTTP, te recomendamos que primero vuelvas a desplegar la función HTTP en la región de destino (puede tener el mismo nombre) y, a continuación, modifiques la función original para que redirija su solicitud HTTP a la nueva función. Si los clientes de tu función HTTP admiten redirecciones, puedes cambiar tu función original para que devuelva un estado de redirección HTTP (301) junto con la URL de tu nueva función. Si tus clientes no gestionan bien las redirecciones, puedes proxy la solicitud de la función original a la nueva iniciando una nueva solicitud de la función original a la nueva. El último paso es asegurarse de que todos los clientes llamen a la nueva función.

Funciones basadas en eventos

Las funciones basadas en eventos adoptan una semántica de entrega de eventos de al menos una vez, lo que significa que, en algunas circunstancias, pueden recibir eventos duplicados, por lo que siempre deben implementarse para que sean idempotentes. Si tu función ya es idempotente, puedes volver a implementarla en la nueva región con el mismo activador de eventos y eliminar la función antigua después de verificar que la nueva función recibe tráfico correctamente. Durante esta transición, ambas funciones recibirán eventos.

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