Se connecter à un réseau VPC

Cette page explique comment utiliser l'accès au VPC sans serveur pour connecter votre application s'exécutant dans l'environnement standard App Engine directement à votre réseau VPC, afin d'accéder à des instances de VM Compute Engine, à des instances Memorystore et à toute autre ressource disposant d'une adresse IP interne.

Pour utiliser l'accès au VPC sans serveur, vous devez commencer par créer un connecteur d'accès au VPC sans serveur afin de gérer la communication avec votre réseau VPC. Une fois que vous avez créé un connecteur, vous devez configurer vos services App Engine pour qu'ils utilisent ce connecteur.

Créer un connecteur d'accès au VPC sans serveur

Pour obtenir des instructions détaillées sur la création de connecteurs d'accès au VPC sans serveur, reportez-vous à la section Créer un connecteur.

Configurer une application pour utiliser un connecteur

Une fois que vous avez créé un connecteur d'accès au VPC sans serveur, vous pouvez configurer les services de votre application App Engine pour utiliser le connecteur.

Pour spécifier un connecteur associé à un service de votre application, procédez comme suit :

  1. Ajoutez l'élément <vpc-access-connector> au fichier appengine-web.xml de votre service :

    <vpc-access-connector>
      <name>CONNECTOR_NAME</name>
    </vpc-access-connector>
    

    CONNECTOR_NAME est le nom du connecteur.

  2. Déployez le service :

    gcloud app deploy WEB-INF/appengine-web.xml
    

Une fois votre service déployé, celui-ci peut envoyer des requêtes aux adresses IP internes afin d'accéder aux ressources de votre réseau VPC. Pour déconnecter un service d'un réseau VPC, supprimez l'élément <vpc-access-connector> du fichier appengine-web.xml, puis redéployez le service.

Se connecter à un réseau VPC partagé

Si vous avez configuré un VPC partagé, vous pouvez connecter votre application à un réseau VPC partagé en procédant comme suit :

  1. Créez un connecteur d'accès au VPC sans serveur dans le projet hôte du VPC partagé.
  2. Dans les projets de service du VPC partagé où vous souhaitez déployer des services App Engine, activez l'API Serveless VPC Access :

    Activer l'API

  3. Accordez aux utilisateurs à l'origine du déploiement App Engine les autorisations nécessaires pour utiliser les connecteurs du projet hôte :

    Console

    1. Accédez à la page "IAM" du projet hôte du VPC partagé :

      Accéder à IAM

    2. Cliquez sur Ajouter.

    3. Dans le champ Nouveaux membres, saisissez l'adresse e-mail de l'utilisateur ou du compte de service qui effectue des déploiements App Engine dans le projet de service.

    4. Dans le champ Rôle, sélectionnez Utilisateur pour l'accès au VPC sans serveur.

    5. Cliquez sur Enregistrer. Reprenez ces étapes autant de fois que nécessaire lorsque vous avez plusieurs projets de service.

    gcloud

    Accordez à l'utilisateur ou au compte de service qui effectue les déploiements App Engine dans le projet de service les autorisations appropriées dans le projet hôte :

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
    --member DEPLOYER \
    --role roles/vpcaccess.user
    

    HOST_PROJECT_ID est l'ID du projet hôte de VPC partagé et DEPLOYER est l'adresse e-mail de l'utilisateur ou du compte de service qui effectue les déploiements App Engine dans le projet de service. N'oubliez pas de indiquer le préfixe DEPLOYER avec user: ou serviceAccount:, selon le type de compte de l'utilisateur à l'origine du déploiement.

    Répétez l'opération autant de fois que nécessaire lorsque vous avez plusieurs utilisateurs à l'origine des déploiements dans les projets de service.

  4. Dans les projets de service, lorsque vous déployez un service App Engine, spécifiez le nom complet du connecteur du projet hôte :

    projects/HOST_PROJECT_ID/locations/CONNECTOR_REGION/connectors/CONNECTOR_NAME
    

Étapes suivantes