Locais das funções do Cloud Run (1ª geração)
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-east2 |
Hong Kong | |
asia-northeast1 |
Tóquio | |
asia-northeast2 |
Osaka | |
europe-west1 |
Bélgica | Baixo CO2 |
europe-west2 |
Londres | |
us-central1 |
Iowa | CO2 baixo |
us-east1 |
Carolina do Sul | |
us-east4 |
Virgínia do Norte | |
us-west1 |
Oregon | 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-northeast3 |
Seul | |
asia-southeast1 |
Singapura | |
asia-southeast2 |
Jacarta | |
asia-south1 |
Mumbai | |
australia-southeast1 |
Sydney | |
europe-central2 |
Varsóvia | |
europe-west3 |
Frankfurt | Baixo CO2 |
europe-west6 |
Zurique | Baixo CO2 |
northamerica-northeast1 |
Montreal | Baixo CO2 |
southamerica-east1 |
São Paulo | Baixo CO2 |
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 --no-gen2 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.
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.
Clique em Criar função.
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.