Configurer des connecteurs dans des projets de service de VPC partagé
Si votre organisation utilise un VPC partagé, vous pouvez configurer des connecteurs d'accès au VPC sans serveur dans le projet de service ou le projet hôte. Ce guide explique comment configurer un connecteur dans le projet de service.
Si vous devez configurer un connecteur dans le projet hôte, consultez la section Configurer des connecteurs dans le projet hôte. Pour en savoir plus sur les avantages offerts par chacune de ces deux méthodes, consultez la section Se connecter à un réseau VPC partagé.
En règle générale, vous devez effectuer les tâches suivantes :
- Ajouter des règles de pare-feu pour autoriser les plages d'adresses IP requises
- Octroyer des autorisations
- Créer un sous-réseau
- Sur la page Configurer l'accès au VPC sans serveur, suivez les instructions des sections suivantes :
Ajouter des règles de pare-feu pour autoriser les plages d'adresses IP
Pour effectuer ces étapes, vous devez disposer de l'un des rôles suivants sur le projet hôte :
- Rôle Administrateur de sécurité Compute Engine
- Rôle personnalisé Identity and Access Management (IAM) avec l'autorisation
compute.firewalls.create
activée
Vous devez créer des règles de pare-feu pour permettre aux requêtes provenant des plages d'adresses IP suivantes d'atteindre le connecteur et d'être accessibles par le connecteur :
- Plages NAT
107.178.230.64/26
35.199.224.0/19
- Plages de vérification d'état
130.211.0.0/22
35.191.0.0/16
108.170.220.0/23
Ces plages sont utilisées par l'infrastructure Google sous-jacente de Cloud Run, Cloud Run Functions et l'environnement standard App Engine. Toutes les requêtes provenant de ces adresses IP proviennent d'une infrastructure Google, ce qui garantit que votre fonction ne communique qu'avec le connecteur VPC auquel elle est connectée.
Pour une configuration simple, appliquez les règles pour autoriser les services sans serveur dans tout projet de service connecté au réseau VPC partagé à envoyer des requêtes à n'importe quelle ressource du réseau.
Pour appliquer ces règles :
Exécutez les trois commandes suivantes pour définir les règles permettant aux requêtes de l'environnement sans serveur d'atteindre tous les connecteurs VPC du réseau :
gcloud compute firewall-rules create serverless-to-vpc-connector \ --allow tcp:667,udp:665-666,icmp \ --source-ranges 107.178.230.64/26,35.199.224.0/19 \ --direction=INGRESS \ --target-tags vpc-connector \ --network=VPC_NETWORK
gcloud compute firewall-rules create vpc-connector-to-serverless \ --allow tcp:667,udp:665-666,icmp \ --destination-ranges 107.178.230.64/26,35.199.224.0/19 \ --direction=EGRESS \ --target-tags vpc-connector \ --network=VPC_NETWORK
gcloud compute firewall-rules create vpc-connector-health-checks \ --allow tcp:667 \ --source-ranges 130.211.0.0/22,35.191.0.0/16,108.170.220.0/23 \ --direction=INGRESS \ --target-tags vpc-connector \ --network=VPC_NETWORK
VPC_NETWORK
est le réseau VPC auquel associer le connecteur.Créez une règle d'entrée sur votre réseau VPC pour autoriser les requêtes provenant de connecteurs :
gcloud compute firewall-rules create vpc-connector-requests \ --allow tcp,udp,icmp \ --direction=INGRESS \ --source-tags vpc-connector \ --network=VPC_NETWORK
Cette règle permet au connecteur VPC d'accéder à chaque ressource du réseau. Pour limiter les ressources que votre environnement sans serveur peut atteindre à l'aide de l'accès au VPC sans serveur, spécifiez une cible pour ces règles de pare-feu.
Créer des règles de pare-feu pour des connecteurs spécifiques
La procédure décrite à la section Ajouter des règles de pare-feu pour autoriser les plages d'adresses IP permet de créer dans les règles de pare-feu qui s'appliquent à tous les connecteurs, actuels et créés ultérieurement. Si vous ne souhaitez pas utiliser cette fonctionnalité, mais que vous préférez créer des règles pour des connecteurs spécifiques, vous pouvez définir des règles de sorte qu'elles ne s'appliquent qu'à ces connecteurs.
Pour limiter le champ d'application des règles à des connecteurs spécifiques, vous pouvez utiliser l'un des mécanismes suivants.
- Tags réseau Chaque connecteur dispose de deux tags réseau :
vpc-connector
etvpc-connector-REGION-CONNECTOR_NAME
. Utilisez ce dernier format pour limiter le champ d'application de vos règles de pare-feu à un connecteur spécifique. - Plages d'adresses IP Utilisez cette option uniquement pour les règles de sortie, car elle ne fonctionne pas pour l'entrée. Vous pouvez utiliser la plage d'adresses IP du sous-réseau du connecteur pour limiter le champ d'application de vos règles de pare-feu à un seul connecteur VPC.
Accorder des autorisations aux comptes de service de vos projets de service
Pour chaque projet de service qui utilisera des connecteurs VPC, un administrateur VPC partagé doit accorder le rôle d'utilisateur de réseau Compute (compute.networkUser
) du projet hôte au projet de service cloudservices
et aux comptes de service vpcaccess
.
Pour accorder le rôle , procédez comme suit :
Utilisez ces commandes .
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --role "roles/compute.networkUser" \ --member "serviceAccount:service-SERVICE_PROJECT_NUMBER@gcp-sa-vpcaccess.iam.gserviceaccount.com"
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --role "roles/compute.networkUser" \ --member "serviceAccount:SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com"
Si le compte de service
@gcp-sa-vpcaccess
n'existe pas, activez l'API Serverless VPC Access dans le projet de service, puis réessayez :gcloud services enable vpcaccess.googleapis.com
Si vous préférez ne pas accorder à ces comptes de service l'accès à l'ensemble du réseau VPC partagé et ne souhaitez accorder l'accès qu'à des sous-réseaux spécifiques, vous pouvez attribuer ces rôles à ces comptes de service sur des sous-réseaux spécifiques uniquement.
Créer un sous-réseau
Lorsque vous utilisez un VPC partagé, l'administrateur de VPC partagé doit créer un sous-réseau pour chaque connecteur. Reportez-vous à la documentation sur l'ajout d'un sous-réseau pour ajouter un sous-réseau /28
au réseau VPC partagé. Ce sous-réseau doit se trouver dans la même région que les services sans serveur qui utiliseront le connecteur.
Étapes suivantes
- Sur la page Configurer l'accès au VPC sans serveur, suivez les instructions des sections suivantes :