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 |
|
europe-west2 |
Londres | |
us-central1 |
Iowa |
|
us-east1 |
Carolina do Sul | |
us-east4 |
Virgínia do Norte | |
us-west1 |
Oregon |
|
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 |
|
northamerica-northeast1 |
Montreal |
|
southamerica-east1 |
São Paulo |
|
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.
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.
Clique em Criar função.
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.