Este guia fornece uma visão geral introdutória de como outros serviços Google Cloud estão envolvidos no processo de implantação de funções do Cloud Run.
Antes de começar
Conheça os conceitos de funções e implantação de origem do Cloud Run no guia Modelo de recursos e opções de implantação do Cloud Run.
Informações gerais da arquitetura
Quando você implanta o código-fonte da função no Cloud Run, ele é armazenado em um bucket do Cloud Storage. Em seguida, o Cloud Build cria automaticamente seu código em uma imagem de contêiner e a envia para um registro de imagens do Artifact Registry. As funções do Cloud Run acessam essa imagem quando precisam gerar o contêiner para executar a função.
No diagrama a seguir, a caixa "Funções do Cloud Run" representa uma função implantada no Cloud Run usando a API Cloud Run Admin ou a API Cloud Functions. Normalmente, as funções mais recentes são implantadas usando a API Cloud Run Admin, e as mais antigas são implantadas usando a API Cloud Functions.
Dependendo da API usada ao implantar uma função, o seguinte ocorre:
Se você implantou sua função usando a API Cloud Run Admin, o seguinte ocorre:
O código-fonte é enviado para um bucket do Cloud Storage que não tem período de retenção.
- Se você estiver usando a criptografia padrão, o nome do bucket será
gerado automaticamente e chamado de
run-sources-PROJECT_ID-REGION
. - Se você estiver protegendo seus dados com chaves de criptografia gerenciadas pelo cliente (CMEK), o nome do bucket não será gerado automaticamente, e você precisará fornecer um nome de bucket.
- Se você estiver usando a criptografia padrão, o nome do bucket será
gerado automaticamente e chamado de
O código-fonte é enviado ao Cloud Build, onde os buildpacks do Google Cloud e o Functions Framework criam uma imagem de contêiner. A conta de serviço do Cloud Build cria a imagem do contêiner.
A imagem do contêiner é enviada para o Artifact Registry usando um bucket criado automaticamente chamado
REGION-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy
.A imagem é implantada no Cloud Run como um serviço.
É possível acionar ou invocar a função com o Eventarc, o Pub/Sub ou outros gatilhos HTTP.
Se você tiver implantado sua função usando a API Cloud Functions v2, o seguinte vai ocorrer:
O código-fonte é enviado para um bucket do Cloud Storage que não tem período de retenção.
O nome do bucket é gerado automaticamente e segue este formato:
- Se você estiver usando a criptografia padrão, esse bucket será chamado de
gcf-v2-sources-PROJECT_NUMBER-REGION
. - Se você estiver protegendo seus dados com CMEK, o bucket será chamado de
gcf-sources-PROJECT_NUMBER-REGION-CMEK_KEY_HASH
.
- Se você estiver usando a criptografia padrão, esse bucket será chamado de
O código-fonte é enviado ao Cloud Build, onde os buildpacks do Google Cloud e o Functions Framework criam uma imagem de contêiner. A conta de serviço do Cloud Build cria a imagem do contêiner.
A imagem do contêiner é enviada para o Artifact Registry usando um bucket criado automaticamente chamado
REGION-docker.pkg.dev/PROJECT_ID/gcf-artifacts
.A imagem é implantada no Cloud Run como um serviço.
É possível acionar ou invocar a função com o Eventarc, o Pub/Sub ou outros gatilhos HTTP.
A seguir
- Saiba mais sobre os diferentes tipos de funções e as opções de acionamento de funções.
- Se você já criou funções com a API Cloud Functions, consulte o guia de comparação das funções do Cloud Run para saber mais sobre as diferenças entre as duas versões das funções do Cloud Run.