Présentation de Cloud Run Functions

Ce guide fournit une présentation des autres Google Cloud services impliqués dans le processus de déploiement des fonctions Cloud Run.

Avant de commencer

Familiarisez-vous avec les concepts de fonctions Cloud Run et de déploiement depuis la source dans le guide Options de déploiement et modèle de ressources Cloud Run.

Présentation de l'architecture

Lorsque vous déployez le code source de votre fonction dans Cloud Run Functions, ce code source est stocké dans un bucket Cloud Storage. Cloud Build compile ensuite automatiquement votre code dans une image de conteneur, puis transfère cette image dans un registre d'images Artifact Registry. Les fonctions Cloud Run accèdent à cette image lorsqu'elles doivent exécuter le conteneur pour exécuter votre fonction.

Dans le diagramme suivant, le cadre "Fonctions Cloud Run" représente une fonction déployée dans Cloud Run, à l'aide de l'API Cloud Run Admin ou de l'API Cloud Functions. En règle générale, les fonctions plus récentes sont déployées à l'aide de l'API Cloud Run Admin, tandis que les fonctions plus anciennes sont déployées à l'aide de l'API Cloud Functions.

Appelez l'API Cloud Run Admin depuis la console Google Cloud.
Figure 1. Un utilisateur prépare le code source des fonctions et le déploie sur Cloud Run.

Selon l'API utilisée lors du déploiement d'une fonction, les événements suivants se produisent:

  • Si vous avez déployé votre fonction à l'aide de l'API Cloud Run Admin, ce qui suit se produit:

    1. Votre code source est importé dans un bucket Cloud Storage sans période de conservation.

      1. Si vous utilisez le chiffrement par défaut, le nom du bucket est généré automatiquement et nommé run-sources-PROJECT_ID-REGION.
      2. Si vous protégez vos données avec des clés de chiffrement gérées par le client (CMEK), le nom du bucket n'est pas généré automatiquement et vous devez en fournir un.
    2. Le code source est envoyé à Cloud Build, où les buildpacks de Google Cloud et le framework Functions créent une image de conteneur. Notez que le compte de service Cloud Build compile l'image du conteneur.

    3. Votre image de conteneur est ensuite importée dans Artifact Registry via un bucket créé automatiquement appelé REGION-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy.

    4. L'image est déployée dans Cloud Run en tant que service.

    5. Vous pouvez déclencher ou appeler la fonction avec Eventarc, Pub/Sub ou d'autres déclencheurs HTTP.

  • Si vous avez déployé votre fonction à l'aide de l'API Cloud Functions (v2), ce qui suit se produit:

    1. Votre code source est importé dans un bucket Cloud Storage sans période de conservation.

      Le nom du bucket est généré automatiquement et suit le format suivant:

      1. Si vous utilisez le chiffrement par défaut, ce bucket est nommé gcf-v2-sources-PROJECT_NUMBER-REGION.
      2. Si vous protégez vos données avec des CMEK, le bucket est nommé gcf-sources-PROJECT_NUMBER-REGION-CMEK_KEY_HASH.
    2. Le code source est envoyé à Cloud Build, où les buildpacks de Google Cloud et le framework Functions créent une image de conteneur. Notez que le compte de service Cloud Build compile l'image du conteneur.

    3. Votre image de conteneur est ensuite importée dans Artifact Registry via un bucket créé automatiquement appelé REGION-docker.pkg.dev/PROJECT_ID/gcf-artifacts.

    4. L'image est déployée dans Cloud Run en tant que service.

    5. Vous pouvez déclencher ou appeler la fonction avec Eventarc, Pub/Sub ou d'autres déclencheurs HTTP.

Étape suivante