Localizações das funções do Cloud Run (1.ª geração)

As funções do Cloud Run são regionais, o que significa que a infraestrutura que executa uma função do Cloud Run está localizada numa região específica e é gerida pela Google para estar disponível de forma redundante em todas as zonas dessa região.

Ao selecionar uma região para executar as suas funções do Cloud Run, as principais considerações devem ser a latência e a disponibilidade. Geralmente, pode selecionar a região mais próxima dos utilizadores da sua função do Cloud Run, mas também deve considerar a localização dos outros Google Cloud produtos e serviços que a sua app usa. A utilização de serviços em várias localizações pode afetar a latência da sua app, bem como os preços.

As regiões disponíveis para as funções do Cloud Run estão indicadas abaixo. As diferentes versões das funções do Cloud Run têm uma disponibilidade regional diferente.

Preços de Nível 1

As funções do Cloud Run estão disponíveis nas seguintes regiões com preços de nível 1:

Região Localização Emissões de CO2
asia-east1 Taiwan
asia-east2 Hong Kong
asia-northeast1 Tóquio
asia-northeast2 Osaca
europe-west1 Bélgica ícone de folha Baixo CO2
europe-west2 Londres
us-central1 Iowa ícone de folha Baixo CO2
us-east1 Carolina do Sul
us-east4 Virgínia do Norte
us-west1 Oregon ícone de folha Baixo CO2

Preços de Nível 2

As funções do Cloud Run estão disponíveis nas seguintes regiões com preços de nível 2:

Região Localização Emissões de CO2
asia-northeast3 Seul
asia-southeast1 Singapura
asia-southeast2 Jacarta
asia-south1 Mumbai
australia-southeast1 Sydney
europe-central2 Varsóvia
europe-west3 Frankfurt
europe-west6 Zurique ícone de folha Baixo CO2
northamerica-northeast1 Montreal ícone de folha Baixo CO2
southamerica-east1 São Paulo ícone de folha Baixo CO2
us-west2 Los Angeles
us-west3 Salt Lake City
us-west4 Las Vegas

Selecione a região

Pode selecionar uma região para a sua função durante a implementação.

gcloud

Se estiver a usar a Google Cloud CLI, pode especificar a região através da flag --region:

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

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

Consola

Se estiver a usar a Google Cloud consola, pode selecionar a região quando criar e implementar uma função.

  1. Na Google Cloud consola, aceda à página Vista geral das funções do Cloud Run.

    Aceda à página de vista geral das funções do Cloud Run

    Certifique-se de que o projeto para o qual ativou as funções do Cloud Run está selecionado.

  2. Clique em Criar função.

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

Pode implementar funções em diferentes regiões num projeto, mas, depois de selecionar a região para uma função, não é possível alterá-la.

As funções numa determinada região num determinado projeto têm de ter nomes exclusivos (com distinção entre maiúsculas e minúsculas), mas as funções em várias regiões ou em vários projetos podem partilhar o mesmo nome.

Predefinir uma região

Pode definir uma região predefinida através da Google Cloud CLI da seguinte forma:

gcloud config set functions/region REGION

Por exemplo:

gcloud config set functions/region europe-west1

Residência dos dados

As funções do Cloud Run oferecem uma garantia de residência de dados no âmbito da execução da função (conformidade com o âmbito A: execução da função), em que uma determinada função oferece residência de dados para a invocação/execução da função.

Esta conformidade aplica-se às funções HTTP e às funções orientadas por eventos. Para as funções baseadas em eventos, as funções do Cloud Run estão em conformidade com a residência de dados a partir do momento em que o produto a montante (produto de acionamento) envia o evento para as funções do Cloud Run. Por conseguinte, é importante garantir que o produto a montante (como o Cloud Storage ou o Pub/Sub) está em conformidade com a residência de dados.

Práticas recomendadas para alterar a região

Se precisar de alterar uma região onde uma função está implementada, siga as recomendações abaixo.

Funções HTTP

Para funções HTTP, recomendamos que volte a implementar primeiro a função HTTP na região de destino (pode ter o mesmo nome) e, em seguida, altere a função original para redirecionar o respetivo pedido HTTP para a nova função. Se os clientes da sua função HTTP suportarem redirecionamentos, pode simplesmente alterar a função original para devolver um estado de redirecionamento HTTP (301) juntamente com o URL da sua nova função. Se os seus clientes não processarem bem os redirecionamentos, pode usar um proxy para o pedido da função original para a nova função, iniciando um novo pedido da função original para a nova função. O passo final consiste em garantir que todos os clientes estão a chamar a nova função.

Funções orientadas por eventos

As funções acionadas por eventos adotam uma semântica de entrega de eventos, pelo menos, uma vez, o que significa que, em algumas circunstâncias, podem receber eventos duplicados e, por isso, devem ser sempre implementadas para serem idempotentes. Se a sua função já for idempotente, pode simplesmente voltar a implementá-la na nova região com o mesmo acionador de eventos e remover a função antiga depois de verificar se a nova função está a receber tráfego corretamente. Durante esta transição, ambas as funções vão receber eventos.

Se a sua função não for atualmente idempotente ou a respetiva idempotência não se estender além da região, recomendamos que implemente primeiro a idempotência antes de mover a função.