Provisionner un VPC partagé
Le VPC partagé vous permet d'exporter des sous-réseaux d'un réseau cloud privé virtuel (VPC) dans un projet hôte vers d'autres projets de service dans la même organisation. Les instances hébergées dans les projets de service peuvent établir des connexions réseau au sein des sous-réseaux partagés du projet hôte. Cette page décrit comment configurer et utiliser le VPC partagé, y compris certaines étapes d'administration préparatoires requises pour votre organisation.
Le VPC partagé est compatible avec l'exportation de sous-réseaux IPv4 uniquement (pile unique) et IPv4 et IPv6 (double pile).
Pour en savoir plus sur la dissociation des projets de service ou la suppression complète de la configuration d'un VPC partagé, consultez la page Déprovisionner un VPC partagé.
Le VPC partagé est également appelé "XPN" dans l'API et l'interface de ligne de commande.
Quotas, limites et ressources éligibles
Avant de commencer, assurez-vous de bien connaître le VPC partagé et IAM, en particulier :
Prenez note des quotas et limites relatifs au VPC partagé.
Assurez-vous de connaître les ressources pouvant participer et celles qui ne le peuvent pas.
Assurez-vous que vous avez activé l'API Compute Engine et la facturation pour votre projet hôte et tous les projets de service que vous prévoyez d'associer au projet hôte.
Préparer votre organisation
Tenez compte des informations suivantes lorsque vous préparez votre organisation.
Administrateurs et IAM
La préparation de votre organisation, la configuration des projets hôtes de VPC partagé et l'utilisation des réseaux VPC partagés impliquent au minimum trois rôles d'administration différents pour la gestion de l'authentification et des accès (IAM, Identity and Access Management). Pour plus d'informations sur chaque rôle, ainsi que des informations sur les rôles facultatifs, consultez la section Administrateurs et IAM dans la présentation du VPC partagé.
Contraintes liées aux règles d'administration
Les contraintes de règles d'administration permettent de protéger les ressources de VPC partagé au niveau du projet, du dossier ou de l'organisation. Les sections suivantes décrivent chacune des règles.
Empêcher la suppression accidentelle de projets hôtes
La suppression accidentelle d'un projet hôte conduirait à des interruptions dans tous les projets de service qui y sont associés. Lorsqu'un projet est configuré en tant que projet hôte de VPC partagé, un verrou spécial, appelé privilège, lui est appliqué. Tant que le privilège est présent, il empêche toute suppression accidentelle du projet. Le privilège est automatiquement supprimé du projet hôte lorsque celui-ci n'est plus configuré pour le VPC partagé.
Un utilisateur doté du rôle orgpolicy.policyAdmin
peut définir une contrainte de règle au niveau de l'organisation (constraints/compute.restrictXpnProjectLienRemoval) qui limite la suppression des privilèges aux seuls rôles suivants :
- Utilisateurs dotés du rôle
roles/owner
ouroles/resourcemanager.lienModifier
au niveau de l'organisation - Utilisateurs dotés de rôles personnalisés incluant les autorisations
resourcemanager.projects.get
etresourcemanager.projects.updateLiens
au niveau de l'organisation
Cela permet d'empêcher un propriétaire de projet ne disposant pas des rôles roles/owner
ou resourcemanager.lienModifier
au niveau de l'organisation de supprimer accidentellement un projet hôte de VPC partagé. Pour plus d'informations sur les autorisations associées au rôle resourcemanager.lienModifier
, consultez la section Placer un privilège sur un projet dans la documentation de Resource Manager.
Comme une règle d'administration s'applique à tous les projets de l'organisation, vous n'avez besoin de réaliser les étapes ci-dessous qu'une seule fois pour limiter la suppression des privilèges.
Authentifiez-vous auprès de
gcloud
en tant qu'administrateur de l'organisation ou compte principal IAM possédant le rôleorgpolicy.policyAdmin
. RemplacezORG_ADMIN
par le nom d'un administrateur de l'organisation :gcloud auth login ORG_ADMIN
Repérez l'ID de votre organisation dans le résultat renvoyé par cette commande.
gcloud organizations list
Appliquez la règle
compute.restrictXpnProjectLienRemoval
à votre organisation en exécutant cette commande. RemplacezORG_ID
par le numéro identifié à l'étape précédente.gcloud resource-manager org-policies enable-enforce \ --organization ORG_ID compute.restrictXpnProjectLienRemoval
Pour protéger votre compte, déconnectez-vous de
gcloud
lorsque vous avez terminé d'effectuer des tâches en tant qu'administrateur de l'organisation.gcloud auth revoke ORG_ADMIN
Contraindre les associations de projets hôtes
Par défaut, un administrateur de VPC partagé peut associer un projet non hôte à un projet hôte de la même organisation. Un administrateur de règles d'administration peut restreindre l'ensemble de projets hôtes auxquels un ou plusieurs projets non hôtes d'un dossier ou d'une organisation peuvent être associés. Pour en savoir plus, consultez la contrainte constraints/compute.restrictSharedVpcHostProjects
.
Définir les sous-réseaux du projet hôte pouvant être utilisés par un projet de service
Par défaut, une fois que vous avez configuré le VPC partagé, les comptes principaux IAM des projets de service peuvent utiliser n'importe quel sous-réseau du projet hôte s'ils disposent des autorisations IAM appropriées.
En plus de pouvoir gérer les autorisations d'utilisateur au niveau individuel, un administrateur de règles d'administration peut définir une stratégie visant à indiquer l'ensemble de sous-réseaux auxquels un projet spécifique ou des projets d'un dossier ou d'une organisation peuvent accéder.
Pour en savoir plus, consultez la contrainte constraints/compute.restrictSharedVpcSubnetworks
.
Empêcher l'arrêt accidentel de projets hôtes
La déconnexion de la facturation sur un réseau VPC partagé peut entraîner l'arrêt complet de toutes les ressources dépendantes, y compris les projets de service. Pour éviter toute occurrence d'un arrêt accidentel de VPC partagé en raison d'une facturation inactive ou désactivée, sécurisez la liaison entre le projet hôte et son compte de facturation.
Désigner des administrateurs de VPC partagé
Un administrateur d'organisation peut attribuer à un ou plusieurs membres IAM les rôles Administrateur de VPC partagé et Administrateur de projet IAM.
Le rôle d'administrateur de projet IAM autorise les administrateurs de VPC partagé à partager tous les sous-réseaux existants et futurs, et pas seulement les sous-réseaux individuels. L'attribution de ce rôle crée une liaison au niveau de l'organisation ou du dossier, et non au niveau du projet. Par conséquent, les comptes principaux IAM doivent être définis au niveau de l'organisation et non simplement au sein d'un projet.
Console
Pour accorder le rôle d'Administrateur de VPC partagé au niveau de l'organisation
Connectez-vous à Google Cloud Console en tant qu'administrateur de l'organisation, puis accédez à la page "IAM".
Dans le menu du projet, sélectionnez votre organisation.
Si vous sélectionnez un projet, le menu Rôles affiche des entrées incorrectes.
Cliquez sur Ajouter.
Saisissez les adresses e-mail des nouveaux comptes principaux.
Dans le menu Rôles, sélectionnez Compute Engine >Administrateur VPC Compute partagé.
Cliquez sur Ajouter un autre rôle.
Dans la liste déroulante Rôles, sélectionnez Gestionnaire de ressources > Administrateur de projet IAM.
Cliquez sur Enregistrer.
Pour accorder le rôle d'Administrateur de VPC partagé au niveau du dossier
Connectez-vous à Google Cloud Console en tant qu'administrateur de l'organisation, puis accédez à la page "IAM".
Dans le menu du projet, sélectionnez votre dossier.
Si vous sélectionnez un projet ou une organisation, les options affichées ne sont pas correctes.
Cliquez sur Ajouter.
Saisissez les adresses e-mail des nouveaux comptes principaux.
Sous Sélectionner un rôle, choisissez Compute Engine > Administrateur VPC Compute partagé.
Cliquez sur Ajouter un autre rôle.
Dans le menu Rôles, sélectionnez Gestionnaire de ressources > Administrateur de projet IAM.
Cliquez sur Ajouter un autre rôle.
Dans le menu Rôles, sélectionnez Gestionnaire de ressources > Lecteur de réseau Compute
Cliquez sur Enregistrer.
gcloud
Authentifiez-vous auprès de
gcloud
en tant qu'administrateur de l'organisation. RemplacezORG_ADMIN
par le nom d'un administrateur de l'organisation :gcloud auth login ORG_ADMIN
Repérez l'ID de votre organisation dans le résultat renvoyé par cette commande.
gcloud organizations list
Pour attribuer le rôle d'administrateur de VPC partagé au niveau de l'organisation, procédez comme suit:
Attribuez le rôle Administrateur de VPC partagé à un compte principal IAM existant. Remplacez
ORG_ID
par l'ID d'organisation identifié à l'étape précédente etEMAIL_ADDRESS
par l'adresse e-mail de l'utilisateur auquel vous attribuez ce rôle.gcloud organizations add-iam-policy-binding ORG_ID \ --member='user:EMAIL_ADDRESS' \ --role="roles/compute.xpnAdmin"
gcloud organizations add-iam-policy-binding ORG_ID \ --member='user:EMAIL_ADDRESS' \ --role="roles/resourcemanager.projectIamAdmin"
Pour attribuer le rôle d'administrateur de VPC partagé au niveau du dossier, procédez comme suit:
Déterminez l'ID de votre dossier en consultant le résultat de cette commande.
gcloud resource-manager folders list --organization=ORG_ID
Attribuez le rôle Administrateur de VPC partagé à un compte principal IAM existant. Remplacez
ORG_ID
par l'ID d'organisation identifié à l'étape précédente etEMAIL_ADDRESS
par l'adresse e-mail de l'utilisateur auquel vous attribuez ce rôle.gcloud resource-manager folders add-iam-policy-binding FOLDER_ID \ --member='user:EMAIL_ADDRESS' \ --role="roles/compute.xpnAdmin"
gcloud resource-manager folders add-iam-policy-binding FOLDER_ID \ --member='user:EMAIL_ADDRESS' \ --role="roles/resourcemanager.projectIamAdmin"
gcloud resource-manager folders add-iam-policy-binding FOLDER_ID \ --member='user:EMAIL_ADDRESS' \ --role="roles/compute.networkViewer"
Révoquez le jeton de votre compte d'administrateur de l'organisation dans l'outil de ligne de commande
gcloud
lorsque vous avez terminé les tâches de protection de votre compte.gcloud auth revoke ORG_ADMIN
API
Pour attribuer le rôle d'administrateur de VPC partagé au niveau de l'organisation, procédez comme suit :
Déterminez l'ID de votre organisation.
POST https://cloudresourcemanager.googleapis.com/v1/organizations
Décrivez et enregistrez les détails de vos règles d'administration existantes.
POST https://cloudresourcemanager.googleapis.com/v1/organizations/ORG_ID:getIamPolicy
Remplacez
ORG_ID
par l'ID de votre organisation.Attribuez le rôle d'administrateur de VPC partagé.
POST https://cloudresourcemanager.googleapis.com/v1/organizations/ORG_ID:setIamPolicy { "bindings": [ ...copy existing bindings { "members": [ "user:EMAIL_ADDRESS" ], "role": "roles/compute.xpnAdmin" }, { "members": [ "user:EMAIL_ADDRESS" ], "role": "roles/resourcemanager.projectIamAdmin" } ], "etag": "ETAG", "version": 1, ...other existing policy details }
Remplacez les éléments suivants :
ORG_ID
: ID de l'organisation qui contient l'utilisateur auquel vous accordez le rôle d'administrateur de VPC partagé.EMAIL_ADDRESS
: adresse e-mail de l'utilisateur.ETAG
: identifiant unique obtenu lorsque vous avez décrit la règle existante. Il empêche les collisions lorsque plusieurs requêtes de mise à jour sont envoyées en même temps.
Pour en savoir plus, consultez la section sur la méthode
organizations.setIamPolicy
.
Pour attribuer le rôle d'administrateur de VPC partagé au niveau du dossier, formulez la requête suivante :
Déterminez l'ID de votre organisation.
POST https://cloudresourcemanager.googleapis.com/v1/organizations
Recherchez l'ID de votre dossier.
GET https://cloudresourcemanager.googleapis.com/v2/folders?parent=organizations/ORG_ID
Remplacez
ORG_ID
par l'ID de votre organisation.Décrivez et enregistrez les détails de votre stratégie de dossier existante.
POST https://cloudresourcemanager.googleapis.com/v2/folders/FOLDER_ID:getIamPolicy
Remplacez
FOLDER_ID
par l'ID de votre dossier.Attribuez le rôle d'administrateur de VPC partagé.
POST https://cloudresourcemanager.googleapis.com/v1/organizations/FOLDER_ID:setIamPolicy { "bindings": [ ...copy existing bindings { "members": [ "user:EMAIL_ADDRESS" ], "role": "roles/compute.xpnAdmin" }, { "members": [ "user:EMAIL_ADDRESS" ], "role": "roles/resourcemanager.projectIamAdmin" }, { "members": [ "user:EMAIL_ADDRESS" ], "role": "roles/compute.networkViewer" } ], "etag": "ETAG", "version": 1, ...other existing policy details }
Remplacez les éléments suivants :
FOLDER_ID
: ID de l'organisation qui contient l'utilisateur auquel vous attribuez le rôle d'administrateur de VPC partagé.EMAIL_ADDRESS
: adresse e-mail de l'utilisateur.ETAG
: identifiant unique obtenu lorsque vous avez décrit la règle existante. Il empêche les collisions lorsque plusieurs requêtes de mise à jour sont envoyées en même temps.
Pour en savoir plus, consultez la section sur la méthode
folders.setIamPolicy
.
Configurer un VPC partagé
Toutes les tâches de cette section doivent être effectuées par un administrateur de VPC partagé.
Activer un projet hôte
Dans une organisation, les administrateurs de VPC partagé peuvent désigner des projets en tant que projets hôtes de VPC partagé, soumis à des quotas et limites, en suivant la procédure décrite ici.
Les administrateurs de VPC partagé peuvent également créer et supprimer des projets s'ils disposent du rôle Créateur de projet et du rôle Suppresseur de projets (roles/resourcemanager.projectCreator
et roles/resourcemanager.projectDeleter
) pour votre organisation.
Lorsque vous activez un projet hôte, les ressources réseau du projet ne sont pas automatiquement partagées avec les projets de service. Vous devez associer des projets de service au projet hôte pour partager les réseaux et les sous-réseaux sélectionnés avec les projets de service.
Console
Si vous ne disposez pas encore d'administrateur VPC Compute partagé (roles/compute.xpnAdmin
), alors vous ne peut pas consulter cette page dans la console Google Cloud.
Dans Google Cloud Console, accédez à la page VPC partagé.
Connectez-vous en tant qu'administrateur de VPC partagé.
Dans le sélecteur de projet, choisissez le projet que vous souhaitez activer en tant que projet hôte de VPC partagé.
Cliquez sur Configurer un VPC partagé.
Sur la page suivante, sous Activer le projet hôte, cliquez sur Enregistrer et continuer.
Sous Sélectionner des sous-réseaux, effectuez l'une des opérations suivantes :
- Cliquez sur Partager tous les sous-réseaux (autorisations au niveau du projet) si vous devez partager tous les sous-réseaux actuels et futurs des réseaux VPC du projet hôte avec les projets de service et les administrateurs de projet de service spécifiés dans les étapes suivantes.
- Cliquez sur Sous-réseaux individuels (autorisations au niveau du sous-réseau) si vous devez partager de manière sélective certains sous-réseaux des réseaux VPC du projet hôte avec des projets de service et des administrateurs de projet de service. Sélectionnez ensuite les sous-réseaux à partager.
Cliquez sur Continuer.
L'écran suivant apparaît.Dans Noms des projets, spécifiez les projets de service devant être associés au projet hôte. Notez que l'association de projets de service ne définit pas d'administrateur de projet de service ; cela intervient à l'étape suivante.
Dans la section Sélectionner les utilisateurs par rôle, ajoutez les administrateurs de projet de service. Le rôle IAM
compute.networkUser
pour les sous-réseaux partagés sera attribué à ces utilisateurs. Seuls les administrateurs de projet de service peuvent créer des ressources dans les sous-réseaux du projet hôte de VPC partagé.Cliquez sur Enregistrer.
gcloud
Authentifiez-vous auprès de
gcloud
en tant qu'administrateur de VPC partagé. RemplacezSHARED_VPC_ADMIN
par le nom de l'administrateur de VPC partagé :gcloud auth login SHARED_VPC_ADMIN
Activez le VPC partagé pour le projet dont vous devez faire un projet hôte. Remplacez
HOST_PROJECT_ID
par l'ID du projet.gcloud compute shared-vpc enable HOST_PROJECT_ID
Confirmez que le projet est répertorié en tant que projet hôte pour votre organisation. Remplacez
ORG_ID
par l'ID de votre organisation (déterminé pargcloud organizations list
).gcloud compute shared-vpc organizations list-host-projects ORG_ID
Si vous aviez uniquement besoin d'activer un projet hôte, vous pouvez vous déconnecter de
gcloud
pour protéger vos identifiants de compte d'administrateur de VPC partagé. Sinon, ignorez cette étape et poursuivez avec les instructions permettant d'associer des projets de service.gcloud auth revoke SHARED_VPC_ADMIN
API
Activez le VPC partagé pour le projet à l'aide d'identifiants disposant des autorisations associées à l'administrateur de VPC partagé.
POST https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/enableXpnHost
Remplacez
HOST_PROJECT_ID
par l'ID du projet qui sera un projet hôte de VPC partagé.Pour en savoir plus, consultez la section sur la méthode
projects.enableXpnHost
.Confirmez que le projet est bien répertorié en tant que projet hôte.
POST https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/listXpnHosts
Remplacez
HOST_PROJECT_ID
par l'ID du projet hôte de VPC partagé.Pour en savoir plus, consultez la section sur la méthode
projects.listXpnHosts
.
Terraform
Vous pouvez utiliser une ressource Terraform pour activer un projet hôte.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Associer les projets de service
Un projet de service doit être associé à un projet hôte préalablement à toute utilisation du VPC partagé par les administrateurs du projet de service. Pour réaliser cette association, un administrateur de VPC partagé doit effectuer les étapes suivantes.
Un projet de service ne peut être associé qu'à un seul projet hôte, mais un projet hôte prend en charge plusieurs projets de service associés. Pour plus de détails, reportez-vous à la section consacrée aux limites propres aux VPC partagés sur la page des quotas de VPC.
Console
- Connectez-vous à Google Cloud Console en tant qu'administrateur de VPC partagé.
- Dans Google Cloud Console, accédez à la page VPC partagé.
Accéder à la page "VPC partagé" - Cliquez sur l'onglet Projets associés.
- Sous l'onglet Projets associés, cliquez sur le bouton Associer des projets.
- Dans la section Noms des projets, cochez les cases correspondant aux projets de service à associer. Notez que l'association de projets de service ne définit pas d'administrateur de projet de service ; cela intervient à l'étape suivante.
- Dans la section Autorisations du réseau VPC, sélectionnez les rôles dont les membres se verront attribuer le rôle
compute.networkUser
. Les membres IAM se voient accorder le rôle Utilisateur du réseau pour l'ensemble du projet hôte ou certains sous-réseaux du projet hôte, en fonction du mode de partage du réseau VPC. Ces membres sont désignés comme les administrateurs de projet de service au sein de leurs projets de service respectifs. - Dans la section Mode de partage de réseau VPC, sélectionnez l'une des options suivantes :
- Cliquez sur Partager tous les sous-réseaux (autorisations au niveau du projet) pour partager tous les sous-réseaux actuels et futurs des réseaux VPC du projet hôte avec les projets de service et les administrateurs de projet de service.
- Cliquez sur Sous-réseaux individuels (autorisations au niveau du sous-réseau) si vous devez partager de manière sélective certains sous-réseaux des réseaux VPC du projet hôte avec des projets de service et des administrateurs de projet de service. Sélectionnez ensuite les Sous-réseaux à partager.
- Cliquez sur Enregistrer.
gcloud
Si ce n'est pas déjà fait, authentifiez-vous auprès de
gcloud
en tant qu'administrateur de VPC partagé. RemplacezSHARED_VPC_ADMIN
par le nom de l'administrateur de VPC partagé :gcloud auth login SHARED_VPC_ADMIN
Associez un projet de service à un projet hôte préalablement activé. Remplacez
SERVICE_PROJECT_ID
par l'ID du projet de service etHOST_PROJECT_ID
par l'ID du projet hôte.gcloud compute shared-vpc associated-projects add SERVICE_PROJECT_ID \ --host-project HOST_PROJECT_ID
Confirmez que le projet de service a été correctement associé.
gcloud compute shared-vpc get-host-project SERVICE_PROJECT_ID
Vous pouvez au besoin répertorier les projets de service associés au projet hôte :
gcloud compute shared-vpc list-associated-resources HOST_PROJECT_ID
Si vous aviez uniquement besoin d'associer un projet de service, vous pouvez vous déconnecter de
gcloud
pour protéger vos identifiants de compte d'administrateur de VPC partagé. Sinon, vous pouvez ignorer cette étape et définir des administrateurs de projet de service pour tous les sous-réseaux ou pour certains seulement.gcloud auth revoke SHARED_VPC_ADMIN
API
Associez un projet de service au projet hôte de VPC partagé.
POST https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/enableXpnResource { "xpnResource": { "id": "SERVICE_PROJECT" } }
Remplacez les éléments suivants :
HOST_PROJECT_ID
: ID du projet hôte de VPC partagé.SERVICE_PROJECT
: ID du projet de service à associer.
Pour en savoir plus, consultez la section sur la méthode
projects.enableXpnResource
.Vérifiez que les projets de service sont associés au projet hôte.
GET https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/getXpnResources
Remplacez les éléments suivants :
HOST_PROJECT_ID
: ID du projet hôte de VPC partagé.
Pour en savoir plus, consultez la section sur la méthode
projects.getXpnResources
.
Terraform
Vous pouvez utiliser une ressource Terraform pour associer un projet de service.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Administrateurs de projet de service pour tous les sous-réseaux
Un administrateur de VPC partagé peut attribuer à un compte principal IAM d'un projet de service le rôle Administrateur de projet de service, avec accès à tous les sous-réseaux du projet hôte. Les administrateurs de projet de service de ce type disposent du rôle compute.networkUser
pour l'ensemble du projet hôte. Ils ont donc accès à tous les sous-réseaux définis et futurs du projet hôte.
Un utilisateur disposant du rôle compute.networkUser
sur le projet hôte peut voir tous les sous-réseaux des projets de service associés.
Console
Pour utiliser la console Google Cloud afin d'accorder à un compte principal IAM d'un projet de service le rôle d'administrateur de projet de service, avec accès à tous les sous-réseaux d'un projet hôte, consultez la section Associer des projets de service.
gcloud
Ces étapes indiquent comment définir un compte principal IAM d'un projet de service comme administrateur de projet de service, avec accès à tous les sous-réseaux d'un projet hôte. Pour réaliser ces étapes, vous devez avoir préalablement activé un projet hôte et associé le projet de service au projet hôte.
Si ce n'est pas déjà fait, authentifiez-vous auprès de
gcloud
en tant qu'administrateur de VPC partagé. RemplacezSHARED_VPC_ADMIN
par le nom de l'administrateur de VPC partagé :gcloud auth login SHARED_VPC_ADMIN
Créez une liaison de stratégie pour faire d'un compte principal IAM du projet de service un administrateur de projet de service. Remplacez
HOST_PROJECT_ID
par l'ID du projet hôte etSERVICE_PROJECT_ADMIN
par l'adresse e-mail de l'utilisateur administrateur du projet de service.gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member "user:SERVICE_PROJECT_ADMIN" \ --role "roles/compute.networkUser"
Vous pouvez spécifier différents types de comptes principaux en modifiant le format de l'argument
--member
:- Spécifiez un groupe Google (par adresse e-mail) comme compte principal à l'aide de
group:
. - Spécifiez un domaine Google comme compte principal à l'aide de
domain:
. - Spécifiez un compte de service à l'aide de
serviceAccount:
. Pour plus d'informations sur ce cas d'utilisation, reportez-vous à la section Comptes de service en tant qu'administrateurs de projet de service.
- Spécifiez un groupe Google (par adresse e-mail) comme compte principal à l'aide de
Répétez l'étape précédente pour chaque administrateur de projet de service supplémentaire à définir.
Lorsque vous avez terminé de définir les administrateurs de projet de service, déconnectez-vous de
gcloud
pour protéger vos identifiants de compte d'administrateur de VPC partagé.gcloud auth revoke SHARED_VPC_ADMIN
API
Décrivez et enregistrez les détails de votre stratégie de projet existante. Vous aurez besoin de la stratégie existante et de la valeur
etag
.POST https://cloudresourcemanager.googleapis.com/v2/projects/HOST_PROJECT_ID:getIamPolicy
Remplacez
HOST_PROJECT_ID
par l'ID du projet hôte qui contient le réseau VPC partagé.Créez une liaison de stratégie pour désigner des comptes principaux IAM dans le projet de service en tant qu'administrateurs de projet de service.
POST https://cloudresourcemanager.googleapis.com/v1/projects/HOST_PROJECT_ID:setIamPolicy { "bindings": [ ...copy existing bindings { "members": [ PRINCIPAL, ...additional principals ], "role": "roles/compute.networkUser" }, ], "etag": "ETAG", "version": 1, ...other existing policy details }
Remplacez les éléments suivants :
HOST_PROJECT_ID
: ID du projet hôte qui contient le réseau VPC partagé.PRINCIPAL
: identité associée au rôle, telle qu'un utilisateur, un groupe, un domaine ou un compte de service. Pour en savoir plus, consultez la section concernant le champmembers
dans la documentation de Resource Manager.ETAG
: identifiant unique obtenu lorsque vous avez décrit la règle existante. Il empêche les collisions lorsque plusieurs requêtes de mise à jour sont envoyées en même temps.
Pour en savoir plus, consultez la section sur la méthode
projects.setIamPolicy
.
Administrateurs de projets de service pour certains sous-réseaux
Un administrateur de VPC partagé peut accorder à un compte principal IAM d'un projet de service le rôle Administrateur de projet de service, avec un accès uniquement à certains sous-réseaux du projet hôte. Cette option offre plus de précision dans la définition des administrateurs de projet de service en leur accordant le rôle compute.networkUser
uniquement pour certains sous-réseaux du projet hôte.
Un utilisateur disposant du rôle compute.networkUser
sur le projet hôte peut voir tous les sous-réseaux des projets de service associés.
Console
Pour utiliser la console Google Cloud afin d'accorder à un compte principal IAM d'un projet de service le rôle d'administrateur de projet de service, avec un accès uniquement à certains sous-réseaux d'un projet hôte, consultez la section Associer des projets de service.
gcloud
Ces étapes indiquent comment définir un compte principal IAM d'un projet de service comme administrateur de projet de service, avec accès uniquement à certains sous-réseaux d'un projet hôte. Pour pouvoir définir ce compte principal, vous devez avoir préalablement activé un projet hôte et associé le projet de service au projet hôte.
Si ce n'est pas déjà fait, authentifiez-vous auprès de
gcloud
en tant qu'administrateur de VPC partagé. RemplacezSHARED_VPC_ADMIN
par le nom de l'administrateur de VPC partagé :gcloud auth login SHARED_VPC_ADMIN
Choisissez le sous-réseau du projet hôte auquel les administrateurs de projet de service doivent avoir accès. Obtenez ses règles IAM actuelles au format JSON. Remplacez
SUBNET_NAME
par le nom du sous-réseau dans le projet hôte etHOST_PROJECT_ID
par l'ID du projet hôte.gcloud compute networks subnets get-iam-policy SUBNET_NAME \ --region SUBNET_REGION \ --project HOST_PROJECT_ID \ --format json
Copiez le résultat JSON obtenu à l'étape précédente et enregistrez-le dans un fichier. Pour plus de clarté dans ces instructions, il est ici enregistré dans un fichier nommé
subnet-policy.json
.Modifiez le fichier
subnet-policy.json
en ajoutant les comptes principaux IAM qui deviendront administrateurs de projet de service avec un accès au sous-réseau. Remplacez chaque occurrence deSERVICE_PROJECT_ADMIN
par l'adresse e-mail d'un utilisateur IAM du projet de service.{ "bindings": [ { "members": [ "user:[SERVICE_PROJECT_ADMIN]", "user:[SERVICE_PROJECT_ADMIN]" ], "role": "roles/compute.networkUser" } ], "etag": "[ETAG_STRING]" }
Notez que vous pouvez spécifier différents types de comptes principaux IAM (autres que des utilisateurs) dans la règle :
- Remplacez
user:
pargroup:
pour spécifier un groupe Google (par adresse e-mail) en tant que compte principal. - Remplacez
user:
pardomain:
pour spécifier un domaine Google en tant que compte principal. - Spécifiez un compte de service à l'aide de
serviceAccount:
. Pour plus d'informations sur ce cas d'utilisation, consultez la section Comptes de service en tant qu'administrateurs de projet de service.
- Remplacez
Mettez à jour la liaison de règle pour le sous-réseau avec le contenu du fichier
subnet-policy.json
.gcloud compute networks subnets set-iam-policy SUBNET_NAME subnet-policy.json \ --region SUBNET_REGION \ --project HOST_PROJECT_ID
Lorsque vous avez terminé de définir les administrateurs de projet de service, déconnectez-vous de
gcloud
pour protéger vos identifiants de compte d'administrateur de VPC partagé.gcloud auth revoke SHARED_VPC_ADMIN
API
Décrivez et enregistrez les détails de votre stratégie de sous-réseau existante. Vous aurez besoin de la stratégie existante et de la valeur
etag
.GET https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/SUBNET_REGION/subnetworks/SUBNET_NAME/getIamPolicy
Remplacez les éléments suivants :
HOST_PROJECT_ID
: ID du projet hôte qui contient le réseau VPC partagé.SUBNET_NAME
: nom du sous-réseau à partager.SUBNET_REGION
: région dans laquelle se trouve le sous-réseau.
Mettez à jour la stratégie de sous-réseau pour autoriser les administrateurs de projet de service à accéder aux sous-réseaux du projet hôte.
POST https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/SUBNET_REGION/subnetworks/SUBNET_NAME/setIamPolicy { "bindings": [ ...copy existing bindings { "members": [ PRINCIPAL, ...additional principals ], "role": "roles/compute.networkUser" }, ], "etag": "ETAG", "version": 1, ...other existing policy details }
Remplacez les éléments suivants :
ETAG
: identifiant unique obtenu lorsque vous avez décrit la règle existante. Il empêche les collisions lorsque plusieurs requêtes de mise à jour sont envoyées en même temps.HOST_PROJECT_ID
: ID du projet hôte qui contient le réseau VPC partagé.PRINCIPAL
: identité associée au rôle, telle qu'un utilisateur, un groupe, un domaine ou un compte de service. Pour en savoir plus, consultez la section concernant le champmembers
dans la documentation de Resource Manager.SUBNET_NAME
: nom du sous-réseau à partager.SUBNET_REGION
: région dans laquelle se trouve le sous-réseau.
Pour en savoir plus, consultez la section sur la méthode
subnetworks.setIamPolicy
.
Comptes de service comme administrateurs de projet de service
Un administrateur de VPC partagé peut également définir des comptes de service de projets de service comme administrateurs de projet de service. Cette section explique comment promouvoir deux types de comptes de service différents comme administrateurs de projet de service :
Des comptes de service gérés par l'utilisateur ayant le format suivant :
USER_ID
@SERVICE_PROJECT_ID
.iam.gserviceaccount.comLe compte de service des API Google ayant le format suivant :
SERVICE_PROJECT_NUMBER
@cloudservices.gserviceaccount.com
Le rôle d'administrateur de projet de service (compute.networkUser
) peut être accordé pour l'ensemble des sous-réseaux ou seulement pour certains sous-réseaux du projet hôte. Toutefois, pour simplifier les instructions, cette section illustre uniquement comment réaliser l'opération pour ces deux types de compte de service pour l'ensemble des sous-réseaux du projet hôte.
Comptes de service gérés par l'utilisateur comme administrateurs de projet de service
Ces instructions décrivent comment promouvoir un compte de service géré par l'utilisateur au rôle d'administrateur de projet de service pour l'ensemble des sous-réseaux du projet hôte de VPC partagé.
Console
- Connectez-vous à Google Cloud Console en tant qu'administrateur de VPC partagé.
- Accédez à la page Paramètres dans Google Cloud Console.
Accéder à la page Paramètres - Sélectionnez comme projet le projet de service contenant le compte de service qui doit être défini comme administrateur de projet de service.
- Copiez l'ID de projet du projet de service. Pour plus de clarté, cette procédure désigne l'ID du projet de service par l'espace réservé
SERVICE_PROJECT_ID
. - Sélectionnez comme projet le projet hôte de VPC partagé.
- Accédez à la page "IAM" de Google Cloud Console.
Accéder à la page "IAM" - Cliquez sur Ajouter.
- Ajoutez
SERVICE_ACCOUNT_NAME
@SERVICE_PROJECT_ID
.iam.gserviceaccount.com au champ Comptes principaux, en veillant à remplacerSERVICE_ACCOUNT_NAME
par le nom du compte de service. - Dans le menu Rôles, sélectionnez Compute Engine > Utilisateur de réseau de Compute.
- Cliquez sur Ajouter.
gcloud
Si ce n'est pas déjà fait, authentifiez-vous auprès de
gcloud
en tant qu'administrateur de VPC partagé. RemplacezSHARED_VPC_ADMIN
par le nom de l'administrateur de VPC partagé :gcloud auth login SHARED_VPC_ADMIN
Si vous ne connaissez pas l'ID du projet de service, vous pouvez répertorier tous les projets de votre organisation. La liste résultant de cette commande affiche l'ID de chaque projet.
gcloud projects list
Créez une liaison de règle pour que le compte de service devienne administrateur de projet de service. Remplacez
HOST_PROJECT_ID
par l'ID du projet hôte,SERVICE_ACCOUNT_NAME
par le nom du compte de service etSERVICE_PROJECT_ID
par l'ID du projet de service.gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT_NAME@SERVICE_PROJECT_ID.iam.gserviceaccount.com" \ --role "roles/compute.networkUser"
API
Décrivez et enregistrez les détails de votre stratégie de projet existante. Vous aurez besoin de la stratégie existante et de la valeur
etag
.POST https://cloudresourcemanager.googleapis.com/v2/projects/HOST_PROJECT_ID:getIamPolicy
Remplacez
HOST_PROJECT_ID
par l'ID du projet hôte qui contient le réseau VPC partagé.Créez une liaison de règle pour désigner des comptes de service en tant qu'administrateurs de projet de service.
POST https://cloudresourcemanager.googleapis.com/v1/projects/HOST_PROJECT_ID:setIamPolicy { "bindings": [ ...copy existing bindings { "members": [ "serviceAccount:SERVICE_ACCOUNT_NAME@SERVICE_PROJECT_ID.iam.gserviceaccount.com", ...include additional service accounts ], "role": "roles/compute.networkUser" }, ], "etag": "ETAG", "version": 1, ...other existing policy details }
Remplacez les éléments suivants :
HOST_PROJECT_ID
: ID du projet hôte qui contient le réseau VPC partagé.SERVICE_ACCOUNT_NAME
: nom du compte de service.SERVICE_PROJECT_ID
: ID du projet de service qui contient le compte de service.ETAG
: identifiant unique obtenu lorsque vous avez décrit la règle existante. Il empêche les collisions lorsque plusieurs requêtes de mise à jour sont envoyées en même temps.
Pour en savoir plus, consultez la section sur la méthode
projects.setIamPolicy
.
Compte de service des API Google comme administrateur de projet de service
Ces instructions décrivent comment définir un compte de service des API Google comme administrateur de projet de service pour l'ensemble des sous-réseaux du projet hôte de VPC partagé. Promouvoir le compte de service des API Google comme administrateur de projet de service est une nécessité pour les groupes d'instances gérés utilisés dans le cadre d'un VPC partagé, car les tâches du type création d'instance sont réalisées par ce type de compte de service. Pour plus d'informations sur cette relation, consultez la page Groupes d'instances gérés et IAM.
Console
- Connectez-vous à Google Cloud Console en tant qu'administrateur de VPC partagé.
- Accédez à la page Paramètres dans Google Cloud Console.
Accéder à la page Paramètres - Sélectionnez comme projet le projet de service contenant le compte de service qui doit être défini comme administrateur de projet de service.
- Copiez le Numéro de projet du projet de service. Pour plus de clarté, cette procédure désigne le numéro du projet de service par l'espace réservé
SERVICE_PROJECT_NUMBER
. - Sélectionnez comme projet le projet hôte de VPC partagé.
- Accédez à la page "IAM" de Google Cloud Console.
Accéder à la page "IAM" - Cliquez sur Ajouter.
- Ajoutez
SERVICE_PROJECT_NUMBER
@cloudservices.gserviceaccount.com au champ Membres. - Dans le menu Rôles, sélectionnez Compute Engine > Utilisateur de réseau de Compute.
- Cliquez sur Ajouter.
gcloud
Si ce n'est pas déjà fait, authentifiez-vous auprès de
gcloud
en tant qu'administrateur de VPC partagé. RemplacezSHARED_VPC_ADMIN
par le nom de l'administrateur de VPC partagé :gcloud auth login SHARED_VPC_ADMIN
Déterminez le numéro de projet correspondant au projet de service. Pour plus de clarté, cette procédure désigne le numéro du projet de service par
SERVICE_PROJECT_NUMBER
. RemplacezSERVICE_PROJECT_ID
par l'ID du projet de service.gcloud projects describe SERVICE_PROJECT_ID --format='get(projectNumber)'
Si vous ne connaissez pas l'ID du projet de service, vous pouvez répertorier tous les projets de votre organisation. La liste résultant de cette commande affiche l'ID de chaque projet.
gcloud projects list
Créez une liaison de règle pour que le compte de service devienne administrateur de projet de service. Remplacez
HOST_PROJECT_ID
par l'ID du projet hôte etSERVICE_PROJECT_NUMBER
par le numéro du projet de service.gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member "serviceAccount:SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com" \ --role "roles/compute.networkUser"
API
Décrivez et enregistrez les détails de votre stratégie de projet existante. Vous aurez besoin de la stratégie existante et de la valeur
etag
.POST https://cloudresourcemanager.googleapis.com/v2/projects/HOST_PROJECT_ID:getIamPolicy
Remplacez
HOST_PROJECT_ID
par l'ID du projet hôte qui contient le réseau VPC partagé.Répertoriez les projets pour trouver le numéro de votre projet.
GET https://cloudresourcemanager.googleapis.com/v1/projects?filter=projectId="SERVICE_PROJECT_ID"
Remplacez
SERVICE_PROJECT_ID
par l'ID du projet de service dans lequel se trouve le compte de service.Créez une liaison de règle pour désigner des comptes de service en tant qu'administrateurs de projet de service.
POST https://cloudresourcemanager.googleapis.com/v1/projects/HOST_PROJECT_ID:setIamPolicy { "bindings": [ ...copy existing bindings { "members": [ "serviceAccount:SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com" ], "role": "roles/compute.networkUser" }, ], "etag": "ETAG", "version": 1, ...other existing policy details }
Remplacez les éléments suivants :
HOST_PROJECT_ID
: ID du projet hôte qui contient le réseau VPC partagé.SERVICE_PROJECT_NUMBER
: numéro du projet de service qui contient le compte de service.ETAG
: identifiant unique obtenu lorsque vous avez décrit la règle existante. Il empêche les collisions lorsque plusieurs requêtes de mise à jour sont envoyées en même temps.
Pour en savoir plus, consultez la section sur la méthode
projects.setIamPolicy
.
Utiliser un VPC partagé
Une fois qu'un administrateur de VPC partagé a activé un projet hôte, lui a associé les projets de service requis et a défini des administrateurs de projet de service pour l'ensemble ou certains des sous-réseaux du projet hôte, les administrateurs du projet de service peuvent créer, au sein des projets de service, des instances, des modèles et des équilibreurs de charge internes en exploitant les sous-réseaux du projet hôte.
Toutes les tâches de cette section doivent être réalisées par un administrateur de projet de service.
Il est important de noter que les administrateurs de VPC partagé n'accordent que le rôle d'utilisateur de réseau de Compute (roles/compute.networkUser
) à l'ensemble du projet hôte ou uniquement à certains de ses sous-réseaux. Ceux-ci doivent également disposer des autres rôles nécessaires à l'administration de leurs projets de service respectifs. Ainsi, un administrateur de projet de service peut également être propriétaire d'un projet ou, au minimum, disposer du rôle Administrateur d'instances Compute (roles/compute.instanceAdmin
) pour le projet.
Répertorier les sous-réseaux disponibles
Les administrateurs de projet de service peuvent répertorier les sous-réseaux pour lesquels ils possèdent des autorisations en procédant comme suit.
Console
Dans Google Cloud Console, accédez à la page VPC partagé.
gcloud
Si ce n'est pas déjà fait, authentifiez-vous auprès de
gcloud
en tant qu'administrateur de projet de service. RemplacezSERVICE_PROJECT_ADMIN
par le nom de l'administrateur de projet de service :gcloud auth login SERVICE_PROJECT_ADMIN
Exécutez la commande suivante en remplaçant
HOST_PROJECT_ID
par l'ID du projet hôte de VPC partagé :gcloud compute networks subnets list-usable --project HOST_PROJECT_ID
L'exemple suivant répertorie les sous-réseaux disponibles dans le projet hôte
project-1
:$ gcloud compute networks subnets list-usable --project project-1 PROJECT REGION NETWORK SUBNET RANGE SECONDARY_RANGES project-1 us-west1 net-1 subnet-1 10.138.0.0/20 project-1 us-central1 net-1 subnet-2 10.128.0.0/20 r-1 192.168.2.0/24 r-2 192.168.3.0/24 project-1 us-east1 net-1 subnet-3 10.142.0.0/20
Pour en savoir plus, consultez la commande list-usable
dans la documentation du SDK.
API
Répertoriez les sous-réseaux disponibles dans le projet hôte. Effectuez la requête en tant qu'administrateur de projet de service.
GET https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/aggregated/subnetworks/listUsable
Remplacez HOST_PROJECT_ID
par l'ID du projet hôte qui contient le réseau VPC partagé.
Pour en savoir plus, consultez la section sur la méthode subnetworks.listUsable
.
Réserver une adresse IPv4 ou IPv6 interne statique
Les administrateurs de projet de service peuvent réserver une adresse IPv4 ou IPv6 interne au sein d'un sous-réseau d'un réseau VPC partagé. L'objet de configuration de l'adresse IP est créé dans le projet de service, alors que sa valeur provient de la plage d'adresses disponibles dans le sous-réseau partagé choisi.
Pour réserver une adresse IP interne autonome dans le projet de service, procédez comme suit :
Console
- Configurer un VPC partagé
Dans Google Cloud Console, accédez à la page VPC partagé.
Connectez-vous en tant qu'administrateur de VPC partagé.
Sélectionnez le projet de service dans l'outil de sélection de projets.
Accédez à la page Adresses IP en sélectionnant Réseau VPC > Adresses IP.
Cliquez sur Réserver une adresse IP statique interne.
Dans le champ Nom, saisissez un nom d'adresse IP.
Dans la liste Version IP, sélectionnez la version d'adresse IP requise :
- Pour réserver une adresse IPv4 interne statique, sélectionnez IPv4.
- Pour réserver une adresse IPv6 interne statique, sélectionnez IPv6.
Cliquez sur le bouton Réseaux partagés avec moi.
Dans les listes Réseau et Sous-réseau, sélectionnez un réseau VPC et un sous-réseau, respectivement.
Spécifiez la manière dont vous souhaitez réserver l'adresse IP :
- Pour réserver des adresses IPv4, pour spécifier une adresse IPv4 interne statique à réserver, dans Adresse IP statique, sélectionnezLaissez-moi choisir, puis saisissez une adresse IP personnalisée. Sinon, le système attribue automatiquement une adresse IPv4 interne statique dans le sous-réseau.
- Pour les adresses IPv6, le système attribue automatiquement une adresse IPv6 interne statique à partir de la plage d'adresses IPv6 internes du sous-réseau.
Facultatif : si vous souhaitez partager l'adresse IPv4 interne statique dans différentes interfaces, sélectionnez Partagée pour Objectif. La sélection par défaut est Non partagée.
Cliquez sur Réserver.
gcloud
Si vous ne l'avez pas déjà fait, authentifiez-vous auprès de la Google Cloud CLI en tant qu'administrateur de projet de service. Remplacez
SERVICE_PROJECT_ADMIN
par le nom de l'administrateur de projet de service :gcloud auth login SERVICE_PROJECT_ADMIN
Exécutez la commande
compute addresses create
.Réservez des adresses IPv4 :
gcloud compute addresses create IP_ADDR_NAME \ --project SERVICE_PROJECT_ID \ --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET \ --region=REGION --ip-version=IPV4
Réservez des adresses IPv6 :
gcloud compute addresses create IP_ADDR_NAME \ --project SERVICE_PROJECT_ID \ --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET \ --region=REGION --ip-version=IPV6
Remplacez les éléments suivants :
IP_ADDR_NAME
: nom d'un objet d'adresse IPv4.SERVICE_PROJECT_ID
: ID du projet de service.HOST_PROJECT_ID
: ID du projet hôte de VPC partagé.REGION
: région qui contient le sous-réseau partagé.SUBNET
: nom du sous-réseau partagé.
Des détails supplémentaires sur la création d'adresses IP sont disponibles dans la documentation du SDK.
API
Exécutez la méthode addresses.insert
.
Réservez une adresse IPv4 statique interne en tant qu'administrateur de projet de service :
POST https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/regions/REGION/addresses { "name": "ADDRESS_NAME", "subnetwork": "projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME", "addressType": "INTERNAL" }
Remplacez les éléments suivants :
ADDRESS_NAME
: nom de l'adresse IP interne réservée.HOST_PROJECT_ID
: ID du projet qui contient le réseau VPC partagé.REGION
: région où sera située l'adresse IPv4 réservée et où se situe le sous-réseau partagé.SERVICE_PROJECT_ID
: ID du projet de service où vous réservez l'adresse IPv4.SUBNET_NAME
: nom du sous-réseau partagé.
Pour en savoir plus, consultez la section sur la méthode addresses.insert
.
Terraform
Vous pouvez utiliser un bloc de données Terraform pour spécifier les informations sur le sous-réseau hôte.
Utilisez ensuite une ressource Terraform pour réserver une adresse IPv4 interne statique. Si vous omettez l'argument address
, une adresse IPv4 disponible est sélectionnée et réservée.
Spécifiez le sous-réseau hôte :
Réservez une adresse IPv4 du sous-réseau du projet hôte à utiliser dans le projet de service :
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Réserver une adresse IPv4 externe statique
Une ressource d'un projet de service peut utiliser une adresse IPv4 externe statique régionale définie dans le projet de service ou le projet hôte. Par conséquent, une ressource des projets de service associés peut utiliser une adresse IPv4 externe statique régionale réservée dans le projet hôte.
Réserver une adresse IPv6 statique externe
Les administrateurs de projet de service peuvent réserver une adresse IPv6 externe statique dans un projet de service. L'objet de configuration de l'adresse IP est créé dans le projet de service, alors que sa valeur provient de la plage d'adresses disponibles dans le sous-réseau partagé choisi.
Console
Vous pouvez réserver une adresse IPv6 externe autonome dans le projet de service à l'aide de la console Google Cloud :
- Configurer un VPC partagé
- Dans Google Cloud Console, accédez à la page "VPC partagé".
Accéder à la page VPC partagé - Connectez-vous en tant qu'administrateur de VPC partagé.
- Sélectionnez le projet de service dans l'outil de sélection de projets.
- Pour accéder à la page Adresses IP, sélectionnez Réseau VPC > Adresses IP.
- Cliquez sur Réserver une adresse IP statique externe.
- Choisissez un nom pour la nouvelle adresse.
- Indiquez si le niveau de service réseau est Premium ou Standard. La réservation d'adresse statique IPv6 n'est acceptée qu'avec le niveau Premium.
- Sous Version IP, sélectionnez IPv4.
- Choisissez si cette adresse IP est régionale ou globale.
- Si vous réservez une adresse IP statique pour un équilibreur de charge global, sélectionnez Global.
- Si vous réservez une adresse IP statique pour une instance ou pour un équilibreur de charge régional, sélectionnez Régional, puis sélectionnez la région dans laquelle créer l'adresse.
- Sélectionnez les options suivantes :
- Réseaux dans ce projet : choisissez cette option si vous souhaitez réserver une adresse IPv6 externe dans un sous-réseau du même réseau cloud privé virtuel (VPC) où vous réservez l'adresse IPv6.
- Réseaux partagés avec moi : choisissez cette option si vous souhaitez réserver une adresse IPv6 externe dans un sous-réseau d'un réseau VPC partagé.
En fonction de votre choix, choisissez les éléments suivants :
- Réseau : le réseau VPC
- Sous-réseau : sous-réseau à partir duquel attribuer l'adresse IPv6 régionale statique
- Type de point de terminaison : choisissez Instance de VM ou Équilibreur de charge réseau.
Facultatif : si vous avez choisi Instance de VM comme type de point de terminaison, sélectionnez une instance de VM à laquelle associer l'adresse IPv6.
Cliquez sur Réserver.
gcloud
Si ce n'est pas déjà fait, authentifiez-vous auprès de
gcloud
en tant qu'administrateur de projet de service. RemplacezSERVICE_PROJECT_ADMIN
par le nom de l'administrateur de projet de service :gcloud auth login SERVICE_PROJECT_ADMIN
Exécutez la commande
gcloud compute addresses create
:gcloud compute addresses create IP_ADDR_NAME \ --project SERVICE_PROJECT_ID \ --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET \ --region=REGION \ --ip-version=IPV6 \ --endpoint-type=[VM | NETLB]
Remplacez les éléments suivants :
IP_ADDR_NAME
: nom de l'objet d'adresse IPv6.SERVICE_PROJECT_ID
: ID du projet de service.HOST_PROJECT_ID
: ID du projet hôte de VPC partagé.SUBNET
: nom du sous-réseau partagé.REGION
: région qui contient le sous-réseau partagé.
API
Pour réserver une adresse IPv6 interne statique en tant qu'administrateur de projet de service, utilisez la méthode addresses.insert
:
POST https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/regions/REGION/addresses { "name": "ADDRESS_NAME", "ipVersion": "IPV6", "ipv6EndpointType": "VM|LB", "networkTier": "PREMIUM", "subnetwork": "projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME", "addressType": "EXTERNAL" }
Remplacez les éléments suivants :
SERVICE_PROJECT_ID
: ID du projet de service où vous réservez l'adresse IPv6.REGION
: région où se trouvent l'adresse IPv6 réservée et le sous-réseau partagé.ADDRESS_NAME
: nom de l'adresse IPv6 externe statique réservée.HOST_PROJECT_ID
: ID du projet qui contient le réseau VPC partagé.SUBNET_NAME
: nom du sous-réseau partagé.
Créer une instance
Tenez compte des points suivants lorsque vous utilisez un VPC partagé pour créer une instance:
Le processus standard de création d'une instance implique la sélection d'une zone, d'un réseau et d'un sous-réseau. Aussi bien le sous-réseau que la zone sélectionnés doivent se trouver dans la même région. Lorsqu'un administrateur de projet de service crée une instance dans le cadre d'un sous-réseau provenant d'un réseau VPC partagé, la zone sélectionnée pour cette instance doit appartenir à la même région que le sous-réseau sélectionné.
Lorsque vous créez une instance avec une adresse IPv4 interne statique réservée, le sous-réseau et la région sont déjà sélectionnés lorsque l'adresse IPv4 statique est créée. Un exemple
gcloud
de création d'une instance avec une adresse IPv4 interne statique est fourni dans cette section.Les administrateurs de projet de service ne peuvent créer que des instances utilisant des sous-réseaux pour lesquels ils ont reçu une autorisation. Pour déterminer quels sous-réseaux sont disponibles, consultez Répertorier les sous-réseaux disponibles.
Lorsque Google Cloud reçoit une demande de création d'une instance dans un sous-réseau d'un réseau VPC partagé, il vérifie que le compte principal IAM à l'origine de cette demande est autorisé à utiliser ce sous-réseau partagé. Si la vérification échoue, l'instance n'est pas créée et Google Cloud renvoie une erreur d'autorisation. Pour obtenir de l'aide, contactez l'administrateur du VPC partagé.
Vous pouvez créer une instance à double pile dans un sous-réseau à double pile. Les sous-réseaux à double pile ne sont compatibles qu'avec les réseaux VPC en mode personnalisé. Le type d'accès IPv6 du sous-réseau détermine si l'adresse IPv6 attribuée à la VM est une adresse IPv6 interne ou externe.
Console
- Configurer un VPC partagé
Dans Google Cloud Console, accédez à la page VPC partagé.
Connectez-vous en tant qu'administrateur de VPC partagé.
Sélectionnez le projet de service dans l'outil de sélection de projets.
Pour accéder à la page Créer une instance, sélectionnez Compute Engine > Instances de VM > Créer une instance.
Renseignez un nom pour l'instance.
Dans le champ Région, sélectionnez une région contenant un sous-réseau partagé.
Cliquez sur Mise en réseau sous Options avancées.
Sous Interfaces réseau, cliquez sur la case d'option Réseaux partagés avec moi.
Dans la liste Sous-réseau partagé, sélectionnez le sous-réseau requis dans lequel vous souhaitez créer l'instance :
- Pour les adresses IPv4, sélectionnez un sous-réseau à pile unique.
- Pour les adresses IPv6, sélectionnez un sous-réseau à double pile avec le type d'accès IPv6 requis.
Sélectionnez le type de pile d'adresses IP :
- Pour les adresses IPv4, sélectionnez IPv4 (pile unique).
- Pour les adresses IPv6, sélectionnez IPv4 et IPv6 (double pile).
Renseignez tout autre paramètre nécessaire pour la création de l'instance.
Cliquez sur Créer.
gcloud
Pour créer une instance avec une adresse IPv4 interne éphémère dans un sous-réseau partagé d'un réseau VPC partagé :
gcloud compute instances create INSTANCE_NAME \ --project SERVICE_PROJECT_ID \ --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET \ --zone ZONE
Remplacez les éléments suivants :
INSTANCE_NAME
: nom de l'instance.SERVICE_PROJECT_ID
: ID du projet de service.HOST_PROJECT_ID
: ID du projet hôte de VPC partagé.REGION
: région qui contient le sous-réseau partagé.SUBNET
: nom du sous-réseau partagé.ZONE
: zone située dans la région spécifiée. .
Pour créer une instance avec une adresse IPv4 interne statique réservée dans un réseau VPC partagé :
- Réservez une adresse IPv4 interne statique dans le projet de service à partir de la plage d'adresses disponibles du projet hôte.
Créez l'instance :
gcloud compute instances create INSTANCE_NAME \ --project SERVICE_PROJECT_ID \ --private-network-ip IP_ADDR_NAME \ --zone ZONE \ --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET
Remplacez les éléments suivants :
INSTANCE_NAME
: nom de l'instance.SERVICE_PROJECT_ID
: ID du projet de service.IP_ADDR_NAME
: nom de l'adresse IP statiqueZONE
: zone située dans la même région queIP_ADDR_NAME
.HOST_PROJECT_ID
: ID du projet hôte de VPC partagé.REGION
: région qui contient le sous-réseau partagé.SUBNET
: nom du sous-réseau partagé associé à l'adresse IPv4 interne statique.
Pour créer une instance avec une adresse IPv4 interne éphémère et une adresse IPv6 éphémère :
gcloud compute instances create INSTANCE_NAME \ --project SERVICE_PROJECT_ID \ --stack-type IPV4_IPV6 \ --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET \ --zone ZONE
Remplacez les éléments suivants :
INSTANCE_NAME
: nom de l'instance.SERVICE_PROJECT_ID
: ID du projet de service.HOST_PROJECT_ID
: ID du projet hôte de VPC partagé.REGION
: région qui contient le sous-réseau partagé.SUBNET
: nom du sous-réseau partagé.ZONE
: zone située dans la région spécifiée.
Créez une instance avec une adresse IPv6 externe statique réservée :
gcloud compute instances create INSTANCE_NAME \ --project SERVICE_PROJECT_ID \ --stack-type IPV4_IPV6 \ --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET \ --ipv6-address IPV6_ADDRESS \ --ipv6-prefix-length=96 \ --ipv6-network-tier PREMIUM \ --zone ZONE
Remplacez les éléments suivants :
INSTANCE_NAME
: nom de l'instance.SERVICE_PROJECT_ID
: ID du projet de service.HOST_PROJECT_ID
: ID du projet hôte de VPC partagé.REGION
: région qui contient le sous-réseau partagé.SUBNET
: nom du sous-réseau partagé.IPV6_ADDRESS
: adresse IPv6 à attribuer à l'instance.ZONE
: zone située dans la région spécifiée.
API
Pour créer une instance avec une adresse IPv4 interne éphémère, spécifiez uniquement le sous-réseau :
POST https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/zones/ZONE/instances { "machineType": "MACHINE_TYPE", "name": "INSTANCE_NAME", "networkInterfaces": [ { "subnetwork": "projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME" } ], "disks": [ { "boot": true, "initializeParams": { "sourceImage": "SOURCE_IMAGE" } } ] }
Remplacez les éléments suivants :
INSTANCE_NAME
: nom de l'instance.HOST_PROJECT_ID
: ID du projet qui contient le réseau VPC partagé.MACHINE_TYPE
: type de machine pour l'instance.REGION
: région qui contient le sous-réseau partagé.SERVICE_PROJECT_ID
: ID du projet de service.SOURCE_IMAGE
: image de l'instance.SUBNET
: nom du sous-réseau partagé.ZONE
: zone située dans la région spécifiée.
Pour en savoir plus, consultez la section sur la méthode
instances.insert
.Pour créer une instance avec une adresse IPv4 interne réservée, spécifiez le sous-réseau et le nom de l'adresse IPv4 réservée :
POST https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/zones/ZONE/instances { "machineType": "MACHINE_TYPE", "name": "INSTANCE_NAME", "networkInterfaces": [ { "subnetwork": "projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME", "networkIP": "projects/SERVICE_PROJECT_ID/regions/REGION/addresses/ADDRESS_NAME" } ], "disks": [ { "boot": true, "initializeParams": { "sourceImage": "SOURCE_IMAGE" } } ] }
Remplacez les éléments suivants :
ADDRESS_NAME
: nom de l'adresse IPv4 interne réservée.INSTANCE_NAME
: nom de l'instance.HOST_PROJECT_ID
: ID du projet qui contient le réseau VPC partagé.MACHINE_TYPE
: type de machine pour l'instance.REGION
: région qui contient le sous-réseau partagé.SERVICE_PROJECT_ID
: ID du projet de service.SOURCE_IMAGE
: image de l'instance.SUBNET
: nom du sous-réseau partagé.ZONE
: zone située dans la région spécifiée.
Pour en savoir plus, consultez la section sur la méthode
instances.insert
.Pour créer une instance avec une adresse IPv4 interne éphémère et une adresse IPv6 éphémère, spécifiez le sous-réseau et le type de pile :
POST https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/zones/ZONE/instances { "machineType": "MACHINE_TYPE", "name": "INSTANCE_NAME", "networkInterfaces": [ { "subnetwork": "projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME", "stackType": "IPv4_IPv6" } ], "disks": [ { "boot": true, "initializeParams": { "sourceImage": "SOURCE_IMAGE" } } ] }
Remplacez les éléments suivants :
INSTANCE_NAME
: nom de l'instance.HOST_PROJECT_ID
: ID du projet qui contient le réseau VPC partagé.MACHINE_TYPE
: type de machine pour l'instance.REGION
: région qui contient le sous-réseau partagé.SERVICE_PROJECT_ID
: ID du projet de service.SOURCE_IMAGE
: image de l'instance.SUBNET
: nom du sous-réseau partagé.ZONE
: zone située dans la région spécifiée.
Pour en savoir plus, consultez la section sur la méthode
instances.insert
.
Terraform
Vous pouvez utiliser un bloc de données Terraform pour spécifier les informations sur le sous-réseau hôte. Créez ensuite une instance de VM dans un projet de service à l'aide d'une ressource Terraform.
Spécifiez le sous-réseau hôte :
Créez une instance de VM dans un projet de service avec une adresse IPv4 éphémère du sous-réseau partagé du projet hôte :
Créez une instance de VM dans un projet de service avec une adresse IPv4 statique réservée du sous-réseau partagé du projet hôte :
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Créer un modèle d'instance
Tenez compte des points suivants lorsque vous utilisez un VPC partagé pour créer un modèle d'instance:
Le processus de création d'un modèle d'instance implique la sélection d'un réseau et d'un sous-réseau.
Les modèles créés pour être utilisés dans un réseau VPC partagé et en mode personnalisé doivent spécifier aussi bien le réseau qu'un sous-réseau.
Les modèles créés pour être utilisés dans un réseau VPC partagé et en mode automatique peuvent éventuellement différer la sélection d'un sous-réseau. Dans ce cas, il y aura sélection automatique d'un sous-réseau dans la même région que tout groupe d'instances géré utilisant le modèle. (Les réseaux en mode automatique possèdent, par définition, un sous-réseau dans chaque région.)
Lorsqu'un compte principal IAM crée un modèle d'instance, Google Cloud n'effectue aucune vérification des autorisations pour déterminer si le compte principal peut utiliser le sous-réseau spécifié. Cette vérification des autorisations s'applique toujours quand un groupe d'instances géré utilisant le modèle est demandé.
Vous pouvez créer un modèle d'instance à double pile dans un sous-réseau à double pile. Les sous-réseaux à double pile ne sont compatibles qu'avec les réseaux VPC en mode personnalisé. Le type d'accès IPv6 du sous-réseau détermine si l'adresse IPv6 attribuée à la VM est une adresse IPv6 interne ou externe.
Console
- Configurer un VPC partagé
- Dans Google Cloud Console, accédez à la page "VPC partagé".
Accéder à la page "VPC partagé" - Connectez-vous en tant qu'administrateur de VPC partagé.
- Sélectionnez le projet de service dans l'outil de sélection de projets.
- Pour accéder à la page Créer un modèle d'instance, sélectionnez Compute Engine > Modèles d'instances > Créer des modèles d'instance.
- Renseignez un nom pour le modèle d'instance.
- Dans la section Options avancées, cliquez sur Mise en réseau.
- Dans la section Interfaces réseau, cliquez sur l'icône Case d'option Réseaux partagés avec moi.
- Dans la liste Sous-réseau partagé, sélectionnez le sous-réseau requis dans lequel vous souhaitez créer le modèle d'instance :
- Pour les adresses IPv4, sélectionnez un sous-réseau à pile unique.
- Pour les adresses IPv6, sélectionnez un sous-réseau à double pile avec le type d'accès IPv6 requis.
- Sélectionnez le type de pile d'adresses IP :
- Pour les adresses IPv4, sélectionnez IPv4 (pile unique).
- Pour les adresses IPv6, sélectionnez IPv4 et IPv6 (double pile).
- Renseignez tout autre paramètre nécessaire pour la création du modèle d'instance.
- Cliquez sur Créer.
gcloud
Pour créer un modèle d'instance IPv4 uniquement à utiliser dans un sous-réseau créé automatiquement au sein d'un réseau VPC partagé en mode automatique :
gcloud compute instance-templates create TEMPLATE_NAME \ --project SERVICE_PROJECT_ID \ --network projects/HOST_PROJECT_ID/global/networks/NETWORK
Remplacez les éléments suivants :
TEMPLATE_NAME
: nom du modèleSERVICE_PROJECT_ID
: ID du projet de service.HOST_PROJECT_ID
: ID du projet hôte de VPC partagé.NETWORK
: nom du réseau VPC partagé.
Pour créer un modèle d'instance IPv4 uniquement pour un sous-réseau créé manuellement au sein d'un réseau VPC partagé (en mode automatique ou personnalisé) :
gcloud compute instance-templates create TEMPLATE_NAME \ --project SERVICE_PROJECT_ID \ --region REGION \ --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET
Remplacez les éléments suivants :
TEMPLATE_NAME
: nom du modèleSERVICE_PROJECT_ID
: ID du projet de service.HOST_PROJECT_ID
: ID du projet hôte de VPC partagé.REGION
: région qui contient le sous-réseau partagé.SUBNET
: nom du sous-réseau partagé.
Pour créer un modèle d'instance à double pile utilisant un sous-réseau d'un réseau VPC partagé en mode personnalisé :
gcloud compute instance-templates create TEMPLATE_NAME \ --project SERVICE_PROJECT_ID \ --stack-type IPV4_IPV6 \ --region REGION \ --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET
Remplacez les éléments suivants :
TEMPLATE_NAME
: nom du modèleSERVICE_PROJECT_ID
: ID du projet de service.HOST_PROJECT_ID
: ID du projet hôte de VPC partagé.REGION
: région qui contient le sous-réseau partagé.SUBNET
: nom du sous-réseau partagé.
API
Pour créer un modèle d'instance IPv4 uniquement qui utilise n'importe quel sous-réseau créé automatiquement d'un réseau VPC partagé en mode automatique, spécifiez le réseau VPC.
POST https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/global/instanceTemplates { "properties": { "networkInterfaces": [ { "network": "projects/HOST_PROJECT_ID/global/networks/NETWORK" } ] ... }
Remplacez les éléments suivants :
HOST_PROJECT_ID
: ID du projet qui contient le réseau VPC partagé.SERVICE_PROJECT_ID
: ID du projet de service.NETWORK
: nom du réseau VPC partagé.
Pour en savoir plus, consultez la section sur la méthode
instanceTemplates.insert
.Pour créer un modèle d'instance IPv4 uniquement qui utilise un sous-réseau créé manuellement dans un réseau VPC partagé (en mode automatique ou personnalisé), spécifiez le sous-réseau :
POST https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/global/instanceTemplates { "properties": { "networkInterfaces": [ { "subnetwork": "projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME" } ] ... }
Remplacez les éléments suivants :
HOST_PROJECT_ID
: ID du projet qui contient le réseau VPC partagé.REGION
: région qui contient le sous-réseau partagé.SERVICE_PROJECT_ID
: ID du projet de service.SUBNET_NAME
: nom du sous-réseau partagé.
Pour en savoir plus, consultez la section sur la méthode
instanceTemplates.insert
.Pour créer un modèle d'instance à double pile utilisant un sous-réseau d'un réseau VPC partagé en mode personnalisé, spécifiez le sous-réseau et le type de pile :
POST https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/global/instanceTemplates { "properties": { "networkInterfaces": [ { "subnetwork": "projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME", "stackType": "IPV4_IPV6" } ] ... }
Remplacez les éléments suivants :
HOST_PROJECT_ID
: ID du projet qui contient le réseau VPC partagé.REGION
: région qui contient le sous-réseau partagé.SERVICE_PROJECT_ID
: ID du projet de service.SUBNET_NAME
: nom du sous-réseau partagé.
Pour en savoir plus, consultez la section sur la méthode
instanceTemplates.insert
.
Terraform
Vous pouvez utiliser un bloc de données Terraform pour spécifier les informations sur le sous-réseau hôte. Créez ensuite un modèle d'instance de VM à l'aide d'une ressource Terraform. Les adresses IPv4 des VM proviennent du sous-réseau partagé du projet hôte.
Le sous-réseau doit exister dans la même région que celle dans laquelle les instances de VM sont créées.
Spécifiez le sous-réseau hôte :
Créez un modèle d'instance de VM dans le projet de service :
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Créer un groupe d'instances géré
Lorsque vous créez un groupe d'instances géré dans le cadre d'un VPC partagé, gardez à l'esprit les points suivants :
Pour utiliser des groupes d'instances gérés dans un VPC partagé, le compte de service des API Google doit être administrateur de projet de service car c'est ce compte qui assure l'exécution de tâches telles que la création automatique d'instances par autoscaling.
Le processus standard de création d'un groupe d'instances géré implique la sélection d'une zone ou d'une région, suivant le type de groupe, ainsi que d'un modèle d'instance. (Les détails du réseau et du sous-réseau sont liés au modèle d'instance.) Seuls les modèles d'instances faisant référence aux sous-réseaux de la même région que le groupe d'instances géré sont éligibles.
Les administrateurs de projet de service ne peuvent créer des groupes d'instances gérés que si les instances membres utilisent des sous-réseaux pour lesquels ils ont reçu une autorisation. Étant donné que les détails du réseau et du sous-réseau sont liés au modèle d'instance, les administrateurs de projet de service ne peuvent utiliser que les modèles faisant référence à des sous-réseaux qu'ils sont autorisés à utiliser.
Lorsque Google Cloud reçoit une demande de création d'un groupe d'instances géré, il vérifie si le compte principal IAM à l'origine de cette demande est autorisé à utiliser le sous-réseau (dans la même région que le groupe) spécifié dans le modèle d'instance. Si la vérification échoue, le groupe d'instances géré n'est pas créé et Google Cloud renvoie une erreur :
Required 'compute.subnetworks.use' permission for 'projects/SUBNET_NAME
.Répertoriez les sous-réseaux disponibles pour déterminer ceux que vous pouvez utiliser et contactez l'administrateur de VPC partagé si le compte de service a besoin d'un accès supplémentaire. Pour plus d'informations, consultez la section Comptes de service en tant qu'administrateurs de projet de service.
Pour plus d'informations, consultez la page Créer des groupes d'instances gérés dans la documentation Compute Engine.
Créez un équilibreur de charge HTTPS
Il existe plusieurs façons de configurer des équilibreurs de charge d'application externes dans un réseau VPC partagé. Quel que soit le type de déploiement, tous les composants de l'équilibreur de charge doivent appartenir à la même organisation et au même réseau VPC partagé.
Pour en savoir plus sur les architectures de VPC partagé compatibles, consultez les ressources suivantes :
- Architecture de VPC partagé pour les équilibreurs de charge d'application externes
- Architecture de VPC partagé pour les équilibreurs de charge d'application internes
Créer un équilibreur de charge réseau interne à stratégie directe
L'exemple suivant illustre les éléments à prendre en compte lors de la création d'un équilibreur de charge réseau interne à stratégie directe dans un réseau VPC partagé. Les administrateurs de projet de service peuvent créer un équilibreur de charge réseau interne qui utilise un sous-réseau (appartenant au projet hôte) auquel ils ont accès. La règle de transfert interne de l'équilibreur de charge est définie dans le projet de service, mais sa référence de sous-réseau pointe vers un sous-réseau situé dans un réseau VPC partagé du projet hôte.
Avant de créer un équilibreur de charge réseau interne à stratégie directe dans un environnement VPC partagé, consultez la page Architecture de VPC partagé.
Console
Accédez à la page "Équilibrage de charge" dans Google Cloud Console.
Accéder à la page Équilibrage de chargeCréez l'équilibreur de charge TCP/UDP interne avec les réglages suivants : dans la section Configurer les services frontend, sélectionnez le sous-réseau de VPC partagé souhaité dans la section Réseaux partagés par d'autres projets du menu Sous-réseau.
Terminez la création de l'équilibreur de charge.
gcloud
Lorsque vous créez la règle de transfert interne, spécifiez un sous-réseau dans le projet hôte avec l'option --subnet
:
gcloud compute forwarding-rules create FR_NAME \ --project SERVICE_PROJECT_ID \ --load-balancing-scheme internal \ --region REGION \ --ip-protocol IP_PROTOCOL \ --ports PORT,PORT,... \ --backend-service BACKEND_SERVICE_NAME \ --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET \ --address INTERNAL_IP
Remplacez les éléments suivants :
FR_NAME
: nom de la règle de transfert.SERVICE_PROJECT_ID
: ID du projet de service.REGION
: région qui contient le sous-réseau partagé.IP_PROTOCOL
:TCP
ouUDP
, en fonction du protocole du service de backend de l'équilibreur de charge.PORT
: numéro de port ou liste des numéros de ports de l'équilibreur de charge.BACKEND_SERVICE_NAME
: nom du service de backend (préalablement créé lors de la procédure générale de création d'un équilibreur de charge réseau interne à stratégie directe).HOST_PROJECT_ID
: ID du projet hôte de VPC partagé.SUBNET
: nom du sous-réseau partagé.INTERNAL_IP
: adresse IP interne située dans le sous-réseau partagé (si cette valeur n'est pas renseignée, une adresse disponible sera sélectionnée).
Pour accéder à d'autres options, consultez la documentation sur la commande gcloud compute forwarding-rules create
.
API
Créez la règle de transfert interne et spécifiez un sous-réseau dans le projet hôte.
POST https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/regions/REGION/forwardingRules { "name": "FR_NAME", "IPAddress": "IP_ADDRESS", "IPProtocol": "PROTOCOL", "ports": [ "PORT", ... ], "loadBalancingScheme": "INTERNAL", "subnetwork": "https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET", "network": "https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/global/networks/NETWORK_NAME", "backendService": "https://www.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/regions/us-west1/backendServices/BE_NAME", "networkTier": "PREMIUM" }
Remplacez les éléments suivants :
BE_NAME
: nom du service de backend (préalablement créé lors de la procédure générale de création d'un équilibreur de charge réseau interne à stratégie directe).FR_NAME
: nom de la règle de transfert.HOST_PROJECT_ID
: ID du projet hôte de VPC partagé.IP_ADDRESS
: adresse IP interne dans le sous-réseau partagé.IP_PROTOCOL
:TCP
ouUDP
, en fonction du protocole du service de backend de l'équilibreur de charge.PORT
: numéro de port ou la liste des numéros de ports de l'équilibreur de charge.REGION
: région qui contient le sous-réseau partagé.SERVICE_PROJECT_ID
: ID du projet de service.SUBNET
: nom du sous-réseau partagé.
Pour en savoir plus, consultez la section sur la méthode forwardingRules.insert
.
Terraform
Vous pouvez utiliser un bloc de données Terraform pour spécifier le sous-réseau hôte et le réseau hôte. Créez ensuite la règle de transfert à l'aide d'une ressource Terraform.
Spécifiez le réseau hôte :
Spécifiez le sous-réseau hôte :
Dans le projet de service, créez une règle de transfert dans le réseau et le sous-réseau du projet hôte :
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Étapes suivantes
- Pour en savoir plus sur le VPC partagé, consultez la section VPC partagé.
- Pour obtenir des instructions sur la configuration des clusters Google Kubernetes Engine avec un VPC partagé, consultez la page Configurer des clusters avec un VPC partagé.
- Découvrez comment configurer l'accès à un réseau VPC partagé à partir de Cloud Run, de Cloud Functions ou de l'environnement standard App Engine.
- Pour savoir comment supprimer une configuration de VPC partagé, consultez la page Déprovisionner un VPC partagé.