Créer et gérer des connexions VPN

Cette page explique comment créer et gérer des ressources de connexion VPN Google Distributed Cloud connecté dans une zone Distributed Cloud connecté.

Cette fonctionnalité n'est disponible que sur les racks connectés Distributed Cloud. Les serveurs connectés 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 Connected.

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 Distributed Cloud VPN, Distributed Cloud Connected crée les ressources de passerelle Cloud VPN et de Cloud Router requises. Le nom de la passerelle Cloud VPN est précédé de anthos-mcc. Le nom de Cloud Router est précédé de gdce. Vous ne devez pas modifier ces ressources. Sinon, la connexion Distributed Cloud VPN risque de cesser de fonctionner. Si vous modifiez accidentellement ces ressources, vous devez supprimer et recréer la connexion Distributed Cloud VPN concernée.

  • Distributed Cloud connected crée un seul routeur Cloud Router par projet et par région lorsque vous créez votre première connexion Distributed Cloud VPN dans ce projet et cette région. Google Cloud Google Cloud Toutes les connexions VPN créées par la suite dans ce projet Google Cloud et cette région réutilisent la même ressource Cloud Router.

  • Une ressource Cloud Router ne peut être supprimée que si aucune interface réseau secondaire n'y est associée. Distributed Cloud connected supprime automatiquement un routeur Cloud Router lorsque vous supprimez la dernière connexion VPN qui y est associée.

  • Les connexions Distributed Cloud VPN ne sont compatibles qu'avec les adresses IPv4.

  • Vous ne pouvez créer qu'une seule connexion VPN par cluster connecté Distributed Cloud.

  • Si votre réseau local utilise plusieurs passerelles de traduction d'adresse réseau (NAT), vous devez les configurer de sorte que votre installation Distributed Cloud connectée utilise une seule adresse IP pour le trafic sortant vers votre réseau VPC (Virtual Private Cloud).

  • Par défaut, Distributed Cloud Connected 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 l'extrémité Google Cloud . Vous pouvez augmenter davantage la disponibilité de la connexion VPN en utilisant l'indicateur --high-availability. Cet indicateur demande à Distributed Cloud Connected 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 Distributed Cloud VPN, suivez les étapes de cette section.

Pour effectuer cette tâche, vous devez disposer du rôle d'administrateur de conteneurs Edge (roles/edgecontainer.admin) dans votre projet Google Cloud .

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 du projet Google Cloud cible.
  • REGION : Google Cloud région dans laquelle la zone Distributed Cloud connectée cible est créée.
  • CLUSTER_NAME : nom du cluster connecté 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 projet Google Cloud que votre installation connectée Distributed Cloud.
  • NAT_GATEWAY_IP : adresse IP de la passerelle NAT pour le cluster cible. Omettez ce flag si vous n'utilisez pas NAT.
  • ROUTER_NAME (facultatif) : spécifie une ressource Cloud Router existante à utiliser pour cette connexion VPN. Sinon, Distributed Cloud connecté crée automatiquement un routeur Cloud Router s'il n'en existe pas encore dans le projet et la régionGoogle Cloud cibles.
  • --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 du projet Google Cloud cible.
  • REGION : région Google Cloud dans laquelle la zone connectée Distributed Cloud cible est créée.
  • VPN_CONNECTION_ID : ID programmatique unique qui identifie cette ressource de pool de nœuds.
  • REQUEST_ID : ID programmatique unique 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 s'il faut configurer cette connexion VPN pour la haute disponibilité côté cluster. Si la valeur est définie sur TRUE, deux clients VPN distincts sont configurés et s'exécutent sur deux nœuds distincts.
  • ROUTER_NAME (facultatif) : spécifie une ressource Cloud Router existante à utiliser pour cette connexion VPN. Sinon, Distributed Cloud connecté crée automatiquement un routeur Cloud Router s'il n'en existe pas encore dans le projet et la régionGoogle Cloud cibles.

Lister les connexions VPN

Pour lister les connexions VPN provisionnées pour un cluster Distributed Cloud connecté, suivez les étapes de cette section.

Pour effectuer cette tâche, vous devez disposer du rôle Lecteur Edge Container (roles/edgecontainer.viewer) dans votre projet Google Cloud .

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 du projet Google Cloud cible.
  • REGION : région Google Cloud dans laquelle la zone Distributed Cloud cible est créée.

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 du projet Google Cloud cible.
  • REGION : région Google Cloud dans laquelle la zone connectée Distributed Cloud cible est créée.
  • FILTER : 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 en réponse à la dernière requête de liste dans le champ nextPageToken de 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 Distributed Cloud VPN, suivez les étapes de cette section.

Pour effectuer cette tâche, vous devez disposer du rôle Lecteur Edge Container (roles/edgecontainer.viewer) dans votre projet Google Cloud .

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 du projet Google Cloud cible.
  • REGION : région Google Cloud dans laquelle la zone connectée Distributed Cloud cible est créée.

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 du projet Google Cloud cible.
  • REGION : région Google Cloud dans laquelle la zone connectée Distributed Cloud cible est créée.
  • VPN_CONNECTION_NAME : nom de la connexion VPN cible.

Supprimer une connexion VPN

Pour supprimer une connexion Distributed Cloud VPN, suivez les étapes décrites dans cette section.

Si vous supprimez la dernière connexion VPN associée à une ressource Cloud Router que Distributed Cloud a créée précédemment dans le projet Google Cloud , la ressource Cloud Router associée est automatiquement supprimée. Toutefois, seules les ressources Cloud Router créées automatiquement par Distributed Cloud Connected sont supprimées automatiquement dans ce cas. Distributed Cloud connected ne supprime pas les ressources Cloud Router existantes spécifiées à l'aide de l'indicateur --router.

Pour effectuer cette tâche, vous devez disposer du rôle d'administrateur de conteneurs Edge (roles/edgecontainer.admin) dans votre projet Google Cloud .

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 : Google Cloud région dans laquelle la zone Distributed Cloud connectée cible est créée.
  • PROJECT_ID : ID du projet Google Cloud cible.

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 du projet Google Cloud cible.
  • REGION : région Google Cloud dans laquelle la zone connectée Distributed Cloud cible est créée.
  • VPN_CONNECTION_NAME : nom de la connexion VPN cible.
  • REQUEST_ID : ID programmatique unique qui identifie cette requête.

Gérer les connexions VPN inter-projets

Distributed Cloud connected vous permet également de créer des connexions VPN vers des réseaux VPC dans un projet Google Cloud différent de celui Google Cloud contenant votre cluster Distributed Cloud connected.

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 incluses dans le rôle Administrateur IAM du projet (roles/resourcemanager.projectIamAdmin) :

  • resourcemanager.projects.get
  • resourcemanager.projects.getIamPolicy
  • resourcemanager.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 permettre à Distributed Cloud Connected de créer les ressources Cloud Router et Cloud VPN dans le projet VPC cible qui permet la connexion VPN entre projets, vous devez attribuer le rôle d'administrateur du réseau Compute (roles/compute.networkAdmin) au compte de service Distributed Cloud dans votre cluster Distributed Cloud.

Pour attribuer le rôle d'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 Google Cloud cible.

Créer une connexion VPN inter-projets

Pour créer une connexion VPN à un réseau VPC dans un autre projetGoogle Cloud , 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 du projet Google Cloud du cluster connecté Distributed Cloud cible.
  • REGION : région Google Cloud dans laquelle la zone connectée Distributed Cloud cible est créée.
  • CLUSTER_NAME : nom du cluster connecté Distributed Cloud cible.
  • VPC_PROJECT_ID : ID du projetGoogle Cloud cible contenant le réseau VPC cible.
  • VPC_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 ce flag 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 du projet Google Cloud cible.
  • REGION : région Google Cloud dans laquelle la zone connectée Distributed Cloud cible est créée.
  • VPN_CONNECTION_ID : ID programmatique unique qui identifie cette ressource de pool de nœuds.
  • REQUEST_ID : ID programmatique unique 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 projetGoogle Cloud cible qui contient le réseau VPC cible.
  • HA_ENABLE : indique s'il faut configurer cette connexion VPN pour la haute disponibilité côté cluster. Si la valeur est définie sur TRUE, deux clients VPN distincts sont configurés et s'exécutent sur deux nœuds distincts.

Cloud Audit Logs pour les connexions VPN inter-projets

Lorsque vous créez une connexion VPN entre projets, les journaux Cloud Audit Logs sont écrits comme suit :

  • Les journaux d'audit de votre cluster connecté Distributed Cloud enregistrent les informations sur les opération de longue durée, l'authentification et l'autorisation pour la connexion VPN inter-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 ressources Google Cloud qui permettent la connexion VPN entre projets, telles que les ressources Cloud Router et Cloud VPN. L'appelant qui accède à ces ressources est le compte de service connecté Distributed Cloud auquel vous avez attribué le rôle d'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 spécifique, vous devez supprimer cette connexion VPN et la recréer. 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 connectée Distributed Cloud

Limites des connexions VPN entre projets

De plus, les connexions VPN inter-projets sont soumises aux limites suivantes :

  • La ressource de connexion VPN inter-projets n'existe que sur votre cluster connecté Distributed Cloud.
  • Si vous modifiez les autorisations du compte de service Distributed Cloud connecté dans le projet VPC cible, vous ne pourrez pas supprimer la connexion VPN inter-projets de votre cluster Distributed Cloud connecté.

Étapes suivantes