Cette page explique comment créer et gérer des ressources de connexion VPN Google Distributed Cloud dans une zone Distributed Cloud.
Cette fonctionnalité n'est disponible que sur les racks Distributed Cloud. Les serveurs Distributed Cloud ne sont pas compatibles avec les ressources de connexion VPN.
Pour en savoir plus sur les connexions VPN Distributed Cloud, consultez Fonctionnement de Distributed Cloud works.
Tenez bien compte des éléments suivants :
Vous devez configurer votre réseau pour autoriser le trafic requis par les connexions VPN Distributed Cloud.
Lorsque vous créez une connexion VPN Distributed Cloud, Distributed Cloud crée les ressources de passerelle Cloud VPN et de routeur Cloud Router requises. Le nom de la passerelle Cloud VPN est précédé du préfixe
anthos-mcc. Le nom du routeur Cloud Router est précédé du préfixegdce. Vous ne devez pas modifier ces ressources. Sinon, la connexion VPN Distributed Cloud risque de cesser de fonctionner. Si vous modifiez accidentellement ces ressources, vous devez supprimer et recréer la connexion VPN Distributed Cloud concernée.Distributed Cloud crée un seul routeur Cloud Router par Google Cloud projet et par région lorsque vous créez votre première connexion VPN Distributed Cloud dans ce Google Cloud projet et cette région. Toutes les connexions VPN créées par la suite dans ce Google Cloud projet et cette région réutilisent la même ressource de routeur Cloud Router.
Une ressource de routeur Cloud Router ne peut être supprimée que si aucune interface réseau secondaire n'y est associée. Distributed Cloud supprime automatiquement un routeur Cloud Router lorsque vous supprimez la dernière connexion VPN qui y est associée.
Les connexions VPN Distributed Cloud ne sont compatibles qu'avec les adresses IPv4.
Vous ne pouvez créer qu'une seule connexion VPN par cluster Distributed Cloud.
Si votre réseau local utilise plusieurs passerelles de traduction d'adresses réseau (NAT), vous devez les configurer de sorte que votre installation Distributed Cloud utilise une seule adresse IP pour le trafic sortant vers votre réseau cloud privé virtuel (VPC).
Par défaut, Distributed Cloud configure un seul client VPN sur un seul nœud pour se connecter à Google Cloud à l'aide de deux tunnels VPN, également appelés VPN haute disponibilité sur le Google Cloud Vous pouvez augmenter la disponibilité de la connexion VPN à l'aide de l'indicateur
--high-availability. Cet indicateur demande à Distributed Cloud de configurer deux clients VPN sur deux nœuds distincts pour un total de quatre tunnels VPN.Vous devez supprimer et recréer une connexion VPN si vous souhaitez modifier sa configuration.
Vous pouvez gérer les connexions VPN à l'aide de Google Cloud CLI ou de l'API Distributed Cloud Edge Container.
Créer une connexion VPN
Pour créer une connexion VPN Distributed Cloud, suivez les étapes de cette section.
Pour effectuer cette tâche, vous devez disposer du
rôle Administrateur de conteneur Edge
(roles/edgecontainer.admin) dans votre Google Cloud projet.
gcloud
Exécutez la commande gcloud edge-cloud container vpn-connections create :
gcloud edge-cloud container vpn-connections create VPN_CONNECTION_NAME \
--project=PROJECT_ID \
--location=REGION \
--cluster=CLUSTER_NAME \
--vpc-network=VPC_NETWORK_NAME \
--nat-gateway-ip=NAT_GATEWAY_IP \
--router=ROUTER_NAME \
--high-availability
Remplacez les éléments suivants :
VPN_CONNECTION_NAME: nom descriptif qui identifie de manière unique cette connexion VPN.PROJECT_ID: ID duprojet cible. Google CloudREGION:région dans laquelle la Google Cloud zone Distributed Cloud cible est créée.CLUSTER_NAME: nom du cluster Distributed Cloud cible.VPC_NETWORK_NAME: nom du réseau VPC cible vers lequel pointe cette connexion VPN. Ce réseau doit se trouver dans le même Google Cloud projet que votre installation Distributed Cloud.NAT_GATEWAY_IP: adresse IP de la passerelle NAT pour le cluster cible. Omettez cet indicateur si vous n'utilisez pas NAT.ROUTER_NAME(facultatif) : spécifie une ressource de routeur Cloud Router existante à utiliser pour cette connexion VPN. Sinon, Distributed Cloud crée automatiquement un routeur Cloud Router s'il n'en existe pas encore dans le projet et la région cibles. Google Cloud--high-availability(facultatif) : configure cette connexion VPN pour la haute disponibilité côté cluster en configurant deux clients VPN distincts qui s'exécutent sur deux nœuds distincts. Pour désactiver la haute disponibilité, omettez cet indicateur.
API
Envoyez une requête POST à la méthode projects.locations.vpnConnections.create :
POST /v1/PROJECT_ID/locations/REGION/vpnConnections?vpnConnectionId=VPN_CONNECTION_ID&requestId=REQUEST_ID
{
"name": string,
"labels": {
},
"natGatewayIp": NAT_GATEWAY,
"cluster": CLUSTER_PATH,
"vpc": VPC_NETWORK_ID
"enableHighAvailability": HA_ENABLE,
"router": ROUTER_NAME,
}
Remplacez les éléments suivants :
PROJECT_ID: ID duprojet cible. Google CloudREGION:région dans laquelle la zone Distributed Cloud cible est créée. Google CloudVPN_CONNECTION_ID: ID unique par programmation qui identifie cette ressource de pool de nœuds.REQUEST_ID: ID unique par programmation qui identifie cette requête.VPN_CONNECTION_NAME: nom descriptif qui identifie de manière unique cette connexion VPN.NAT_GATEWAY: adresse IP de votre passerelle NAT.CLUSTER_PATH: chemin canonique complet vers le cluster cible.VPC_NETWORK_ID: ID du réseau VPC cible.HA_ENABLE: indique si cette connexion VPN doit être configurée pour la haute disponibilité côté cluster. Si la valeur estTRUE, deux clients VPN distincts sont configurés pour s'exécuter sur deux nœuds distincts.ROUTER_NAME(facultatif) : spécifie une ressource de routeur Cloud Router existante à utiliser pour cette connexion VPN. Sinon, Distributed Cloud crée automatiquement un routeur Cloud Router s'il n'en existe pas encore dans le projet et la région cibles. Google Cloud
Lister les connexions VPN
Pour lister les connexions VPN provisionnées pour un cluster Distributed Cloud, suivez les étapes de cette section.
Pour effectuer cette tâche, vous devez disposer du
rôle Lecteur de conteneur Edge
(roles/edgecontainer.viewer) dans votre Google Cloud projet.
gcloud
Exécutez la commande gcloud edge-cloud container vpn-connections list :
gcloud edge-cloud container vpn-connections list \
--project=PROJECT_ID \
--location=REGION
Remplacez les éléments suivants :
PROJECT_ID: ID duprojet cible. Google CloudREGION:région dans laquelle la zone Distributed Cloud cible est créée. Google Cloud
API
Envoyez une requête GET à la méthode projects.locations.vpnConnections.list :
GET /v1/PROJECT_ID/locations/REGION/vpnConnections?filter=FILTER&pageSize=PAGE_SIZE&orderBy=SORT_BY&pageToken=PAGE_TOKEN
Remplacez les éléments suivants :
PROJECT_ID: ID duprojet cible. Google CloudREGION:région dans laquelle la zone Distributed Cloud cible est créée. Google CloudFILTER: expression qui limite les résultats renvoyés à des valeurs spécifiques.PAGE_SIZE: nombre de résultats à renvoyer par page.SORT_BY: liste de noms de champs séparés par une virgule selon lesquels les résultats renvoyés sont triés. L'ordre de tri par défaut est croissant. Pour un ordre décroissant, ajoutez le préfixe~au champ souhaité.PAGE_TOKEN: jeton reçu dans la réponse à la dernière requête de liste dans le champnextPageTokende la réponse. Envoyez ce jeton pour recevoir une page de résultats.
Obtenir des informations sur une connexion VPN
Pour obtenir des informations sur une connexion VPN Distributed Cloud, suivez les étapes de cette section.
Pour effectuer cette tâche, vous devez disposer du
rôle Lecteur de conteneur Edge
(roles/edgecontainer.viewer) dans votre Google Cloud projet.
gcloud
Exécutez la commande gcloud edge-cloud container vpn-connections describe :
gcloud edge-cloud container vpn-connections describe VPN_CONNECTION_NAME \
--project=PROJECT_ID \
--location=REGION
Remplacez les éléments suivants :
VPN_CONNECTION_NAME: nom de la connexion VPN cible.PROJECT_ID: ID duprojet cible. Google CloudREGION:région dans laquelle la zone Distributed Cloud cible est créée. Google Cloud
API
Envoyez une requête GET à la méthode projects.locations.vpnConnections.get :
GET /v1/PROJECT_ID/locations/REGION/vpnConnections/VPN_CONNECTION_NAME
Remplacez les éléments suivants :
PROJECT_ID: ID duprojet cible. Google CloudREGION:région dans laquelle la zone Distributed Cloud cible est créée. Google CloudVPN_CONNECTION_NAME: nom de la connexion VPN cible.
Supprimer une connexion VPN
Pour supprimer une connexion VPN Distributed Cloud, suivez les étapes de cette section.
Si vous supprimez la dernière connexion VPN associée à une
ressource de routeur Cloud Router que Distributed Cloud
a créée précédemment dans le Google Cloud projet,
la suppression de la connexion VPN supprime automatiquement la ressource de routeur Cloud Router associée. Toutefois, seules les ressources de routeur Cloud Router créées automatiquement par Distributed Cloud sont automatiquement supprimées dans ce cas. Distributed Cloud ne supprime pas les ressources de routeur Cloud Router existantes spécifiées à l'aide de l'indicateur --router.
Pour effectuer cette tâche, vous devez disposer du
rôle Administrateur de conteneur Edge
(roles/edgecontainer.admin) dans votre Google Cloud projet.
gcloud
Exécutez la commande gcloud edge-cloud container vpn-connections delete :
gcloud edge-cloud container vpn-connections delete VPN_CONNECTION_NAME \
--location=REGION \
--project=PROJECT_ID
Remplacez les éléments suivants :
VPN_CONNECTION_NAME: nom descriptif qui identifie de manière unique cette connexion VPN.REGION:région dans laquelle la Google Cloud zone Distributed Cloud cible est créée.PROJECT_ID: ID duprojet cible. Google Cloud
API
Envoyez une requête DELETE à la méthode projects.locations.vpnConnections.delete :
DELETE /v1/PROJECT_ID/locations/REGION/vpnConnections/VPN_CONNECTION_NAME?requestId=REQUEST_ID
Remplacez les éléments suivants :
PROJECT_ID: ID duprojet cible. Google CloudREGION:région dans laquelle la zone Distributed Cloud cible est créée. Google CloudVPN_CONNECTION_NAME: nom de la connexion VPN cible.REQUEST_ID: ID unique par programmation qui identifie cette requête.
Gérer les connexions VPN entre projets
Distributed Cloud vous permet également de créer des connexions VPN vers des réseaux VPC dans un Google Cloud projet différent de celui qui contient votre Google Cloud cluster Distributed Cloud.
Prérequis
Vous devez remplir les conditions préalables de cette section avant de pouvoir créer des connexions VPN entre projets.
Autorisations du compte de l'appelant
Le compte utilisateur de l'appelant dans le projet VPC cible doit disposer des autorisations suivantes. Ces autorisations sont encapsulées dans le
rôle Administrateur IAM du projet
(roles/resourcemanager.projectIamAdmin) :
resourcemanager.projects.getresourcemanager.projects.getIamPolicyresourcemanager.projects.setIamPolicy
Pour savoir comment définir des rôles et des autorisations IAM, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Autorisations du compte de service Distributed Cloud
Pour autoriser Distributed Cloud à créer les
ressources de Cloud Router et de Cloud VPN dans le projet VPC
cible qui active la connexion VPN entre projets, vous
devez attribuer le
rôle Administrateur réseau Compute
(roles/compute.networkAdmin) au compte de service Distributed Cloud
dans votre cluster Distributed Cloud.
Pour attribuer le rôle Administrateur réseau Compute, procédez comme suit.
gcloud
Exécutez la commande gcloud projects add-iam-policy-binding :
gcloud projects add-iam-policy-binding VPC_PROJECT_ID \
--member="serviceAccount:service-PROJECT_NUM@gcp-sa-edgecontainer.iam.gserviceaccount.com" \
--role="roles/compute.networkAdmin" \
--project=VPC_PROJECT_ID
Remplacez les éléments suivants :
VPC_PROJECT_ID: ID du projet VPC cible.PROJECT_NUM: numéro du projet Distributed Cloud cible. Google Cloud
Créer une connexion VPN entre projets
Pour créer une connexion VPN vers un réseau VPC dans un autre Google Cloud projet, suivez les étapes de cette section.
gcloud
Exécutez la commande gcloud edge-cloud container vpn-connections create :
gcloud edge-cloud container vpn-connections create VPN_CONNECTION_NAME \
--project=PROJECT_ID \
--location=REGION \
--cluster=CLUSTER_NAME \
--vpc-project=VPC_PROJECT_ID \
--vpc-network=VPC_NETWORK_NAME \
--nat-gateway-ip=NAT_GATEWAY_IP \
--high-availability
Remplacez les éléments suivants :
VPN_CONNECTION_NAME: nom descriptif qui identifie de manière unique cette connexion VPN.PROJECT_ID: ID duprojet de cluster Distributed Cloud cible. Google CloudREGION:région dans laquelle la zone Distributed Cloud cible est créée. Google CloudCLUSTER_NAME: nom du cluster Distributed Cloud cible.VPC_PROJECT_ID: ID du projet cible contenant le réseau VPC cible.Google CloudVPC_NETWORK_NAME: nom du réseau VPC cible vers lequel pointe cette connexion VPN.NAT_GATEWAY_IP: adresse IP de la passerelle NAT pour le cluster cible. Omettez cet indicateur si vous n'utilisez pas NAT.--high-availability(facultatif) : configure cette connexion VPN pour la haute disponibilité côté cluster en configurant deux clients VPN distincts qui s'exécutent sur deux nœuds distincts. Pour désactiver la haute disponibilité, omettez cet indicateur.
API
Envoyez une requête POST à la méthode projects.locations.vpnConnections.create :
POST /v1/PROJECT_ID/locations/REGION/vpnConnections?vpnConnectionId=VPN_CONNECTION_ID&requestId=REQUEST_ID
{
"name": string,
"labels": {
},
"natGatewayIp": NAT_GATEWAY,
"cluster": CLUSTER_PATH,
"vpc": VPC_NETWORK_ID,
"vpcProject": VPC_PROJECT_ID,
"vpcServiceAccount": var>VPC_PROJECT_SERVICE_ACCOUNT,
"enableHighAvailability": HA_ENABLE,
}
Remplacez les éléments suivants :
PROJECT_ID: ID duprojet cible. Google CloudREGION:région dans laquelle la zone Distributed Cloud cible est créée. Google CloudVPN_CONNECTION_ID: ID unique par programmation qui identifie cette ressource de pool de nœuds.REQUEST_ID: ID unique par programmation qui identifie cette requête.VPN_CONNECTION_NAME: nom descriptif qui identifie de manière unique cette connexion VPN.NAT_GATEWAY: adresse IP de votre passerelle NAT.CLUSTER_PATH: chemin canonique complet vers le cluster cible.VPC_NETWORK_ID: ID du réseau VPC cible.VPC_PROJECT_ID: ID du projet cible contenant le réseau VPC cible.Google CloudHA_ENABLE: indique si cette connexion VPN doit être configurée pour la haute disponibilité côté cluster. Si la valeur estTRUE, deux clients VPN distincts sont configurés pour s'exécuter sur deux nœuds distincts.
Cloud Audit Logs pour les connexions VPN entre projets
Lorsque vous créez une connexion VPN entre projets, les journaux d'audit Cloud sont écrits comme suit :
- Les journaux d'audit de votre cluster Distributed Cloud enregistrent les informations sur l'opération de longue durée, l'authentification et l'autorisation pour la connexion VPN entre projets. Ces informations incluent l'appelant de l'opération de création et les autorisations qui lui ont été accordées ou refusées.
- Les journaux d'audit du projet VPC cible enregistrent des informations
sur les Google Cloud ressources qui activent la connexion VPN entre projets, telles que les ressources de routeur Cloud Router et de Cloud VPN. L'appelant qui accède à ces ressources est le
compte de service Distributed Cloud auquel vous avez
attribué le
rôle Agent de service Edge Container
(
roles/edgecontainer.serviceAgent).
Limites des connexions VPN
Si vous modifiez le pool de nœuds du cluster dans lequel vous avez créé une connexion VPN particulière, vous devez supprimer et recréer cette connexion VPN. Sinon, un comportement inattendu peut se produire, y compris :
- Perte intermittente de la connectivité VPN
- Impossibilité de créer des connexions VPN dans les autres clusters de la zone Distributed Cloud
Limites des connexions VPN entre projets
En outre, les connexions VPN entre projets sont soumises aux limites suivantes :
- La ressource de connexion VPN entre projets n'existe que sur votre cluster Distributed Cloud.
- Si vous modifiez les autorisations du compte de service Distributed Cloud dans le projet VPC cible, vous ne pourrez pas supprimer la connexion VPN entre projets de votre cluster Distributed Cloud.
Étape suivante
- Déployer des charges de travail sur Google Distributed Cloud
- Gérer les zones
- Créer et gérer des clusters
- Créer et gérer des pools de nœuds
- Gérer les machines virtuelles
- Gérer les charges de travail GPU