Locais das funções do Cloud Run

O Cloud Run functions é regional. Isso significa que a infraestrutura que executa a função do Cloud Run está em uma determinada região e é gerenciada pelo Google para estar disponível de modo redundante em todas as zonas dessa região.

Ao selecionar em qual região o Cloud Run functions será executado, os principais fatores a serem considerados são a latência e a disponibilidade. Geralmente, é possível selecionar a região mais próxima aos usuários do Cloud Run functions, mas você também deve considerar a localização dos outros produtos e serviços do Google Cloud que seu aplicativo usa. O uso de serviços em vários locais pode afetar a latência e o preço do seu aplicativo.

As regiões disponíveis para o Cloud Run functions estão listadas abaixo. As diferentes versões do Cloud Run functions têm disponibilidade regional diferente. Consulte a coluna "Versões de produtos compatíveis" nas tabelas.

Preços do nível 1

O Cloud Run functions está disponível nas seguintes regiões com os preços do Nível 1:

Região Local Emissões de CO2
asia-east1 Taiwan
asia-northeast1 Tóquio
asia-northeast2 Osaka
europe-north1 Finlândia Ícone de folha Baixo CO2
europe-southwest1 Madri
europe-west1 Bélgica Ícone de folha Baixo CO2
europe-west4 Países Baixos
europe-west8 Milão
europe-west9 Paris Ícone de folha Baixo CO2
me-west1 Tel Aviv
us-central1 Iowa Ícone de folha CO2 baixo
us-east1 Carolina do Sul
us-east4 Norte da Virgínia
us-east5 Columbus
us-south1 Dallas
us-west1 Oregon Ícone de folha Baixo CO2

Preços do nível 2

O Cloud Run functions está disponível nas regiões a seguir com os preços do Nível 2:

Região Local Emissões de CO2
asia-east2 Hong Kong
asia-northeast3 Seul
asia-southeast1 Singapura
asia-southeast2 Jacarta
asia-south1 Mumbai
asia-south2 Déli, Índia
australia-southeast1 Sydney
australia-southeast2 Melbourne
europe-central2 Varsóvia
europe-west2 Londres
europe-west3 Frankfurt ícone de folha Baixo CO2
europe-west6 Zurique ícone de folha Baixo CO2
europe-west10 Berlim
europe-west12 Turim
me-central1 Doha
me-central2 Dammam
northamerica-northeast1 Montreal Ícone de folha Baixo CO2
northamerica-northeast2 Toronto Ícone de folha Baixo CO2
southamerica-east1 São Paulo Ícone de folha Baixo CO2
southamerica-west1 Santiago, Chile
us-west2 Los Angeles
us-west3 Salt Lake City
us-west4 Las Vegas

Selecione a região

É possível selecionar uma região para a função durante a implantação.

gcloud

Se você estiver usando a CLI do Google Cloud, poderá especificar a região usando a sinalização --region.

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

Em que REGION é uma das regiões listadas acima.

Console

Se estiver usando o console do Google Cloud, é possível selecionar a região ao criar e implantar uma função.

  1. No console do Google Cloud, acesse a página de visão geral das funções do Cloud Run.

    Acesse a página de visão geral das funções do Cloud Run.

    Verifique se o projeto para que você ativou as funções do Cloud Run está selecionado.

  2. Clique em Criar função.

  3. No campo Região, selecione uma região.

É possível implantar funções em diferentes regiões dentro de um projeto, mas depois que a região tiver sido selecionada para uma função, ela não poderá ser alterada.

É necessário que as funções em uma determinada região em um determinado projeto tenham nomes exclusivos (diferenciando maiúsculas), mas as funções entre regiões ou entre projetos podem compartilhar o mesmo nome.

Como definir uma região padrão

É possível definir uma região padrão usando a CLI do Google Cloud da seguinte maneira:

gcloud config set functions/region REGION

Exemplo:

gcloud config set functions/region europe-west1

Residência dos dados

O Cloud Run functions oferece uma garantia de residência de dados no escopo de execução da função (Conformidade de escopo A: execução da função), em que uma determinada função fornece residência de dados para a invocação/execução da função.

Essa conformidade se aplica a funções HTTP e funções orientadas a eventos. Para funções orientadas a eventos, o Cloud Run functions é compatível com residência de dados desde o momento em que o produto upstream (produto acionador) entrega o evento ao Cloud Run functions. Portanto, é importante garantir que o produto upstream (como o Cloud Storage ou o Pub/Sub) seja compatível com a residência de dados.

Práticas recomendadas para alterar a região

Se você precisar alterar uma região em que uma função será implantada, siga as recomendações abaixo.

Funções HTTP

Para funções HTTP, recomendamos reimplantar a função HTTP na região de destino (ela pode ter o mesmo nome) e, em seguida, alterar a função original para redirecionar a solicitação HTTP para a nova função. Se os clientes da função HTTP derem suporte a redirecionamentos, bastará alterar a função original para retornar um status de redirecionamento HTTP (301) com o URL da nova função. Se os clientes não lidarem bem com redirecionamentos, é possível fazer proxy da solicitação da função original para a nova função iniciando uma nova solicitação da função original para a nova. O passo final é garantir que todos os clientes estejam chamando a nova função.

Funções baseadas em eventos

As funções orientadas a eventos adotam uma semântica de entrega de evento de pelo menos uma vez. Isso significa que, em algumas circunstâncias, elas podem receber eventos duplicados e, portanto, precisam sempre ser implantadas para serem idempotentes. Se sua função já for idempotente, é possível simplesmente reimplantar a função na nova região com o mesmo gatilho de evento e remover a função antiga depois de verificar se a nova função está recebendo tráfego corretamente. Durante essa transição, ambas as funções receberão eventos.

Caso a função não esteja idempotente, ou a idempotência não se estenda além da região, recomendamos implementar a idempotência antes de mover a função.