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 |
|
europe-west2 |
Londres | |
us-central1 |
Iowa |
|
us-east1 |
Carolina del Sur | |
us-east4 |
Norte de Virginia | |
us-west1 |
Oregón |
|
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 |
|
northamerica-northeast1 |
Montreal |
|
southamerica-east1 |
São Paulo |
|
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.
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.
Haz clic en Crear función.
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.