Panoramica di Cloud Run Functions

Questa guida fornisce una panoramica introduttiva di come altri Google Cloud servizi sono coinvolti nel processo di implementazione delle funzioni Cloud Run.

Prima di iniziare

Acquisisci familiarità con i concetti di deployment delle funzioni e delle origini Cloud Run dalla guida Modello di risorse e opzioni di deployment di Cloud Run.

Panoramica dell'architettura

Quando esegui il deployment del codice sorgente della funzione nelle funzioni Cloud Run, questo codice viene archiviato in un bucket Cloud Storage. Cloud Build quindi compila automaticamente il codice in un'immagine container ed esegue il push dell'immagine in un registry di immagini Artifact Registry. Le funzioni Cloud Run accedono a questa immagine quando devono eseguire il container per eseguire la tua funzione.

Nel diagramma seguente, la casella Funzioni Cloud Run rappresenta una funzione di cui è stato eseguito il deployment in Cloud Run utilizzando l'API Cloud Run Admin o l'API Cloud Functions. In genere, le funzioni più recenti vengono eseguite il deployment utilizzando l'API Cloud Run Admin, mentre quelle precedenti vengono eseguite il deployment utilizzando l'API Cloud Functions.

Chiama l'API Cloud Run Admin dalla console Google Cloud.
Figura 1. Un utente prepara il codice sorgente delle funzioni e lo esegue su Cloud Run.

A seconda dell'API utilizzata per il deployment di una funzione, si verifica quanto segue:

  • Se hai eseguito il deployment della funzione utilizzando l'API Cloud Run Admin, si verifica quanto segue:

    1. Il codice sorgente viene caricato in un bucket Cloud Storage senza periodo di conservazione.

      1. Se utilizzi la crittografia predefinita, il nome del bucket viene generato automaticamente e si chiama run-sources-PROJECT_ID-REGION.
      2. Se proteggi i tuoi dati con le chiavi di crittografia gestite dal cliente (CMEK), il nome del bucket non viene generato automaticamente e devi fornire un nome del bucket.
    2. Il codice sorgente viene inviato a Cloud Build, dove i buildpack di Google Cloud e il framework Functions creano un'immagine container. Tieni presente che l'account di servizio Cloud Build crea l'immagine del contenitore.

    3. L'immagine del contenitore viene quindi caricata in Artifact Registry tramite un bucket creato automaticamente denominato REGION-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy.

    4. L'immagine viene dispiata in Cloud Run come servizio.

    5. Puoi attivare o richiamare la funzione con Eventarc, Pub/Sub o altri attivatori HTTP.

  • Se hai eseguito il deployment della funzione utilizzando l'API Cloud Functions (v2), si verifica quanto segue:

    1. Il codice sorgente viene caricato in un bucket Cloud Storage senza periodo di conservazione.

      Il nome del bucket viene generato automaticamente e segue questo formato:

      1. Se utilizzi la crittografia predefinita, questo bucket si chiama gcf-v2-sources-PROJECT_NUMBER-REGION.
      2. Se proteggi i dati con CMEK, il bucket si chiama gcf-sources-PROJECT_NUMBER-REGION-CMEK_KEY_HASH.
    2. Il codice sorgente viene inviato a Cloud Build, dove i buildpack di Google Cloud e il framework Functions creano un'immagine container. Tieni presente che l'account di servizio Cloud Build crea l'immagine del contenitore.

    3. L'immagine del contenitore viene quindi caricata in Artifact Registry tramite un bucket creato automaticamente denominato REGION-docker.pkg.dev/PROJECT_ID/gcf-artifacts.

    4. L'immagine viene dispiata in Cloud Run come servizio.

    5. Puoi attivare o richiamare la funzione con Eventarc, Pub/Sub o altri attivatori HTTP.

Passaggi successivi