Se connecter à un réseau VPC

L'accès au VPC sans serveur vous permet de connecter directement vos fonctions Cloud Functions à votre réseau VPC, ce qui fournit l'accès aux instances de VM Compute Engine, aux instances Memorystore et à toute autre ressource disposant d'une adresse IP interne.

L'accès au VPC sans serveur accepte la communication avec les réseaux VPC connectés via Cloud VPN et l'appairage de réseaux VPC. L'accès au VPC sans serveur n'est pas compatible avec les anciens réseaux ni avec le VPC partagé.

Connexion au réseau VPC

Pour connecter Cloud Functions à votre réseau VPC, procédez comme suit :

  1. Créez un connecteur d'accès au VPC sans serveur.
  2. Accordez les autorisations appropriées à votre compte de service Cloud Functions.
  3. Configurez vos fonctions de sorte qu'elles utilisent le connecteur.

Créer un connecteur

Un connecteur d'accès au VPC sans serveur gère la communication avec votre réseau VPC. Un connecteur doit se trouver dans le même projet et la même région que les fonctions qui l'utilisent, mais il peut envoyer du trafic à des ressources se trouvant dans d'autres régions. Plusieurs fonctions peuvent exploiter le même connecteur.

Consultez la page Configurer l'accès au VPC sans serveur pour obtenir des instructions détaillées sur la création d'un connecteur d'accès au VPC sans serveur.

Configurer des autorisations

Pour que votre fonction puisse utiliser un connecteur d'accès au VPC sans serveur, le compte de service Cloud Functions de votre projet doit disposer des autorisations appropriées. Vous n'avez besoin d'accorder ces autorisations qu'une fois par projet. Pour configurer les autorisations, procédez comme suit :

Console

  1. Accédez à la page IAM dans Google Cloud Console

    Accéder à IAM

  2. Recherchez l'entrée Agent de service Cloud Functions.

  3. Cliquez sur l'icône en forme de crayon pour modifier les autorisations.

  4. Cliquez sur Ajouter un autre rôle.

  5. Sélectionnez Projet > Lecteur.

  6. Cliquez sur Ajouter un autre rôle.

  7. Sélectionnez Compute Engine > Utilisateur de réseau Compute.

  8. Cliquez sur Enregistrer.

gcloud

  1. Pour rechercher votre numéro de projet, exécutez la commande suivante, en remplaçant PROJECT_ID par votre ID de projet Cloud :

    gcloud projects describe PROJECT_ID --format="value(projectNumber)"
    
  2. Attribuez le rôle viewer à l'agent de service Cloud Functions (service-PROJECT_NUM@gcf-admin-robot.iam.gserviceaccount.com) :

    gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUM@gcf-admin-robot.iam.gserviceaccount.com \
    --role=roles/viewer
    

    PROJECT_NUM est le numéro de projet obtenu à l'étape 1.

  3. Attribuez le rôle compute.networkUser à l'agent de service Cloud Functions :

    gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUM@gcf-admin-robot.iam.gserviceaccount.com \
    --role=roles/compute.networkUser
    

Configurer une fonction de sorte qu'elle utilise un connecteur

Une fois que vous avez créé un connecteur d'accès au VPC sans serveur et défini les autorisations appropriées, vous pouvez configurer vos fonctions de sorte qu'elles utilisent le connecteur.

Console

  1. Accédez à la page de présentation de Cloud Functions dans Cloud Console :

    Accéder à Cloud Functions

  2. Cliquez sur Create function.

  3. Renseignez les champs obligatoires de votre fonction.

  4. Développez les paramètres avancés en cliquant sur Variables d'environnement, mise en réseau, délais avant expiration, etc.

  5. Dans le champ Connecteur VPC, sélectionnez ou saisissez le nom de votre connecteur.

  6. Cliquez sur Créer.

gcloud

Exécutez la commande gcloud functions deploy pour déployer la fonction et spécifiez l'indicateur --vpc-connector :

gcloud functions deploy FUNCTION_NAME \
--vpc-connector CONNECTOR_NAME \
FLAGS...

où :

  • FUNCTION_NAME est le nom de la fonction.
  • CONNECTOR_NAME est le nom du connecteur.
  • FLAGS... fait référence aux autres indicateurs que vous transmettez lors du déploiement de la fonction.

Une fois votre fonction déployée, elle peut envoyer des requêtes à des adresses IP internes afin d'accéder aux ressources de votre réseau VPC.

Pour plus de contrôle sur les requêtes de routage via le connecteur, consultez la section Paramètres de sortie.

Déconnecter une fonction d'un connecteur

Si votre fonction n'a plus besoin de se connecter à votre réseau VPC, vous pouvez déconnecter le connecteur d'accès au VPC sans serveur.

Console

  1. Accédez à la page de présentation de Cloud Functions dans Cloud Console :

    Accéder à Cloud Functions

  2. Cliquez sur le nom d'une fonction existante pour accéder à ses détails.

  3. Cliquez sur Modifier.

  4. Développez les paramètres avancés en cliquant sur Variables d'environnement, mise en réseau, délais avant expiration, etc.

  5. Effacez le champ Connecteur VPC.

  6. Cliquez sur Déployer.

gcloud

Exécutez la commande gcloud functions deploy pour mettre à jour votre fonction et spécifiez l'indicateur --clear-vpc-connector :

gcloud functions deploy FUNCTION_NAME --clear-vpc-connector

Étapes suivantes