Atelier de programmation : NCC VPC en tant que spoke

1. Introduction

Présentation

Dans cet atelier, les utilisateurs découvriront comment utiliser Network Connectivity Center(NCC) pour établir une connectivité inter-VPC à grande échelle grâce à la prise en charge des spokes VPC. Lorsque les utilisateurs définissent un VPC comme spoke VPC, ils peuvent le connecter à plusieurs réseaux VPC via le hub NCC. La configuration NCC avec spoke VPC réduit la complexité opérationnelle de la gestion de la connectivité inter-VPC par paire via l'appairage VPC, en utilisant plutôt un modèle de gestion de la connectivité centralisé.

Rappelons que Network Connectivity Center (NCC) est un modèle de plan de contrôle en étoile pour la gestion de la connectivité réseau dans Google Cloud. La ressource hub fournit un modèle de gestion de la connectivité centralisé pour interconnecter les spokes.

Objectifs de l'atelier

Dans cet atelier de programmation, vous allez créer une topologie logique en étoile avec le hub NCC, qui implémentera un tissu de connectivité VPC entièrement maillé sur trois VPC distincts.

Points abordés

  • Connectivité VPC maillée complète avec NCC
  • Private NAT entre les VPC

Prérequis

  • Connaissances sur le réseau VPC GCP
  • Connaissances sur Cloud Router et le routage BGP
  • Deux projets GCP distincts
  • Cet atelier de programmation nécessite cinq VPC. L'un de ces VPC doit résider dans un projet distinct du hub NCC.
  • Vérifiez votre quota de réseaux et demandez des réseaux supplémentaires si nécessaire (voir la capture d'écran ci-dessous) :

6bc606cb34bce7e8.png

Objectifs

  • Configurer l'environnement GCP
  • Configurer Network Connectivity Center avec un VPC en tant que spoke
  • Valider le chemin d'accès aux données
  • Explorer les fonctionnalités de maintenance de NCC
  • Nettoyer les ressources utilisées

Avant de commencer

Google Cloud Console et Cloud Shell

Pour interagir avec GCP, nous utiliserons à la fois la console Google Cloud et Cloud Shell tout au long de cet atelier.

Projet NCC Hub Console Google Cloud

La console Cloud est accessible à l'adresse https://console.cloud.google.com.

Configurez les éléments suivants dans Google Cloud pour faciliter la configuration de Network Connectivity Center :

Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

Lancez le Cloud Shell. Cet atelier de programmation utilise des $variables pour faciliter l'implémentation de la configuration gcloud dans Cloud Shell.

gcloud auth list
gcloud config list project
gcloud config set project [HUB-PROJECT-NAME]
projectname=[HUB-PROJECT-NAME]
echo $projectname
gcloud config set compute/zone us-central1-a
gcloud config set compute/region us-central1

Rôles IAM

NCC nécessite des rôles IAM pour accéder à des API spécifiques. Veillez à configurer votre utilisateur avec les rôles IAM NCC requis.

Rôle/Description

Autorisations

networkconnectivity.networkAdmin : permet aux administrateurs réseau de gérer les hubs et les spokes.

networkconnectivity.hubs.networkconnectivity.spokes.

networkconnectivity.networkSpokeManager : permet d'ajouter et de gérer des spokes dans un hub. À utiliser dans le VPC partagé où le projet hôte possède le hub, mais où d'autres administrateurs d'autres projets peuvent ajouter des spokes pour leurs associations au hub.

networkconnectivity.spokes.**

networkconnectivity.networkUsernetworkconnectivity.networkViewer : permet aux utilisateurs du réseau d'afficher différents attributs des hubs et des spokes.

networkconnectivity.hubs.getnetworkconnectivity.hubs.listnetworkconnectivity.spokes.getnetworkconnectivity.spokes.listnetworkconnectivity.spokes.aggregatedList

2. Configurer l'environnement réseau

Présentation

Dans cette section, nous allons déployer les réseaux VPC et les règles de pare-feu dans un seul projet. Le schéma logique illustre l'environnement réseau qui sera configuré lors de cette étape.

Pour illustrer la prise en charge des spokes inter-projets, nous déploierons un VPC et des règles de pare-feu dans un autre projet lors d'une étape ultérieure.

dc4ed09dae1a0056.png

Créer les VPC et les sous-réseaux

Le réseau VPC contient des sous-réseaux dans lesquels vous installerez la VM GCE pour la validation du chemin de données.

gcloud compute networks create vpc1-ncc --subnet-mode custom
gcloud compute networks create vpc2-ncc --subnet-mode custom
gcloud compute networks create vpc3-ncc --subnet-mode custom
gcloud compute networks create vpc4-ncc --subnet-mode custom

gcloud compute networks subnets create vpc1-ncc-subnet1 \
--network vpc1-ncc --range 10.1.1.0/24 --region us-central1

gcloud compute networks subnets create vpc1-ncc-subnet2 \
--network vpc1-ncc --range 10.1.2.0/25 --region us-central1

gcloud compute networks subnets create vpc1-ncc-subnet3 \
--network vpc1-ncc --range 10.1.2.128/25 --region us-central1

gcloud compute networks subnets create vpc2-ncc-subnet1 \
--network vpc2-ncc --range 10.2.2.0/24 --region us-central1

Plages de sous-réseaux compatibles avec le VPC

NCC est compatible avec toutes les plages de sous-réseaux IPv4 valides, à l'exception des adresses IP publiques utilisées en mode privé. Dans cette étape, créez des plages d'adresses IP valides dans VPC4 qui seront importées dans la table de routage du hub.

gcloud compute networks subnets create benchmark-testing-rfc2544 \
--network vpc4-ncc --range 198.18.0.0/15 --region us-east1

gcloud compute networks subnets create class-e-rfc5735 \
--network vpc4-ncc --range 240.0.0.0/4 --region us-east1

gcloud compute networks subnets create ietf-protcol-assignment-rfc6890 \
--network vpc4-ncc --range 192.0.0.0/24 --region us-east1

gcloud compute networks subnets create ipv6-4-relay-rfc7526 \
--network vpc4-ncc --range 192.88.99.0/24 --region us-east1

gcloud compute networks subnets create pupi \
--network vpc4-ncc --range 50.50.50.0/24 --region us-east1

gcloud compute networks subnets create test-net-1-rfc5737 \
--network vpc4-ncc --range 192.0.2.0/24 --region us-east1

gcloud compute networks subnets create test-net-2-rfc5737 \
--network vpc4-ncc --range 198.51.100.0/24 --region us-east1

gcloud compute networks subnets create test-net-3-rfc5737 \
--network vpc4-ncc --range 203.0.113.0/24 --region us-east1

Créer des plages de sous-réseaux qui se chevauchent

NCC n'importera pas de plages d'adresses IP qui se chevauchent dans la table de routage du hub. Les utilisateurs contourneront cette restriction lors d'une prochaine étape. Pour l'instant, créez deux plages d'adresses IP qui se chevauchent pour VPC2 et VPC3.

gcloud compute networks subnets create overlapping-vpc2 \
--network vpc3-ncc --range 10.3.3.0/24 --region us-central1

gcloud compute networks subnets create overlapping-vpc3 \
--network vpc2-ncc --range 10.3.3.0/24 --region us-central1

Configurer des règles de pare-feu VPC

Configurer des règles de pare-feu sur chaque VPC pour autoriser

  • SSH
  • IAP interne
  • Plage 10.0.0.0/8
gcloud compute firewall-rules create ncc1-vpc-internal \
--network vpc1-ncc \
--allow all \
--source-ranges 10.0.0.0/8

gcloud compute firewall-rules create ncc2-vpc-internal \
--network vpc2-ncc \
--allow all \
--source-ranges 10.0.0.0/8

gcloud compute firewall-rules create ncc3-vpc-internal \
--network vpc3-ncc \
--allow all \
--source-ranges 10.0.0.0/8

gcloud compute firewall-rules create ncc4-vpc-internal \
--network vpc4-ncc \
--allow all \
--source-ranges 10.0.0.0/8

gcloud compute firewall-rules create ncc1-vpc-iap \
--network vpc1-ncc \
--allow all \
--source-ranges 35.235.240.0/20

gcloud compute firewall-rules create ncc2-vpc-iap \
--network vpc2-ncc \
--allow=tcp:22 \
--source-ranges 35.235.240.0/20

gcloud compute firewall-rules create ncc3-vpc-iap \
--network vpc3-ncc \
--allow=tcp:22  \
--source-ranges 35.235.240.0/20

gcloud compute firewall-rules create ncc4-vpc-iap \
--network vpc4-ncc \
--allow=tcp:22  \
--source-ranges 35.235.240.0/20

Configurer une VM GCE dans chaque VPC

Vous aurez besoin d'un accès Internet temporaire pour installer des packages sur "vm1-vpc1-ncc".

Créez quatre machines virtuelles. Chacune d'elles sera attribuée à l'un des VPC créés précédemment.

gcloud compute instances create vm1-vpc1-ncc \
--subnet vpc1-ncc-subnet1 \
--metadata=startup-script='#!/bin/bash
  apt-get update
  apt-get install apache2 -y
  apt-get install tcpdump -y
  service apache2 restart
  echo "
<h3>Web Server: www-vm1</h3>" | tee /var/www/html/index.html'


gcloud compute instances create vm2-vpc2-ncc \
--zone us-central1-a \
--subnet vpc2-ncc-subnet1 \
--no-address 

gcloud compute instances create pnat-vm-vpc2 \
--zone us-central1-a \
--subnet overlapping-vpc3 \
--no-address 


gcloud compute instances create vm1-vpc4-ncc \
--zone us-east1-b \
--subnet class-e-rfc5735 \
--no-address

3. Hub Network Connectivity Center

Présentation

Dans cette section, nous allons configurer un hub NCC à l'aide de commandes gcloud. Le hub NCC servira de plan de contrôle chargé de créer la configuration de routage entre chaque VPC spoke.

860347511de47cea.png

Activer les services d'API

Activez l'API Network Connectivity si ce n'est pas déjà fait :

gcloud services enable networkconnectivity.googleapis.com

Créer un hub NCC

Créer un hub NCC à l'aide de la commande gcloud

gcloud network-connectivity hubs create ncc-hub

Exemple de résultat :

Create request issued for: [ncc-hub]
Waiting for operation [projects/user-3p-dev/locations/global/operations/operation-1668793629598-5edc24b7ee3ce-dd4c765b-5ca79556] to complete...done.     
Created hub [ncc-hub]

Décrivez le hub NCC que vous venez de créer. Notez le nom et le chemin d'accès associé.

gcloud network-connectivity hubs describe ncc-hub
gcloud network-connectivity hubs describe ncc-hub
createTime: '2023-11-02T02:28:34.890423230Z'
name: projects/user-3p-dev/locations/global/hubs/ncc-hub
routeTables:
- projects/user-3p-dev/locations/global/hubs/ncc-hub/routeTables/default
state: ACTIVE
uniqueId: de749c4c-0ef8-4888-8622-1ea2d67450f8
updateTime: '2023-11-02T02:28:48.613853463Z'

Le hub NCC a introduit une table de routage qui définit le plan de contrôle pour la création de la connectivité des données. Rechercher le nom de la table de routage du hub NCC

 gcloud network-connectivity hubs route-tables list --hub=ncc-hub
NAME: default
HUB: ncc-hub
DESCRIPTION:

Recherchez l'URI de la table de routage NCC par défaut.

gcloud network-connectivity hubs route-tables describe default --hub=ncc-hub
createTime: '2023-02-24T17:32:58.786269098Z'
name: projects/user-3p-dev/locations/global/hubs/ncc-hub/routeTables/default
state: ACTIVE
uid: eb1fdc35-2209-46f3-a8d6-ad7245bfae0b
updateTime: '2023-02-24T17:33:01.852456186Z'

Affichez le contenu de la table de routage par défaut du hub NCC. Remarque : La table de routage du hub NCC sera vide tant que les spokes ne seront pas

gcloud network-connectivity hubs route-tables routes list --hub=ncc-hub --route_table=default

La table de routage du hub NCC doit être vide.

4. NCC avec des spokes VPC

Présentation

Dans cette section, vous allez configurer trois VPC en tant que spokes NCC à l'aide de commandes gcloud.

b367b1659d2df694.png

Configurer un ou plusieurs VPC en tant que spoke NCC

Configurez les VPC suivants en tant que spokes NCC dans cet ordre :

  • VPC4
  • VPC1
  • VPC2
  • VPC3

Configurez VPC4 en tant que spoke NCC et attribuez-le au hub NCC créé précédemment. Les appels d'API NCC nécessitent la spécification d'un lieu. L'option "–global" simplifie la syntaxe gcloud en permettant à l'utilisateur d'éviter de spécifier un chemin d'URI complet lors de la configuration d'un nouveau spoke NCC.

gcloud network-connectivity spokes linked-vpc-network create vpc4-spoke4 \
--hub=ncc-hub \
--vpc-network=vpc4-ncc \
--global

Configurez VPC1 en tant que spoke NCC.

Les administrateurs peuvent exclure l'exportation de routes de sous-réseau depuis un spoke VPC vers la table de routage du hub NCC. Dans cette partie de l'atelier de programmation, créez une règle d'exclusion d'exportation basée sur un préfixe récapitulatif pour empêcher l'exportation du sous-réseau de VPC1 dans la table de routage du hub NCC.

Utilisez cette commande gcloud pour lister tous les sous-réseaux appartenant à VPC1.

gcloud config set accessibility/screen_reader false
gcloud compute networks subnets list --network=vpc1-ncc

Notez la paire de sous-réseaux /25 précédemment créée dans la section de configuration.

NAME              REGION       NETWORK   RANGE          STACK_TYPE  
vpc1-ncc-subnet1  us-central1  vpc1-ncc  10.1.1.0/24    IPV4_ONLY
vpc1-ncc-subnet2  us-central1  vpc1-ncc  10.1.2.0/25    IPV4_ONLY
vpc1-ncc-subnet3  us-central1  vpc1-ncc  10.1.2.128/25  IPV4_ONLY

Configurez VPC1 en tant que spoke NCC et excluez la paire de sous-réseaux /25 de l'importation dans la table de routage du hub en utilisant le mot clé "export-exclude-ranges" pour filtrer la route récapitulative /24 de cette plage spécifique.

gcloud network-connectivity spokes linked-vpc-network create vpc1-spoke1 \
--hub=ncc-hub \
--vpc-network=vpc1-ncc \
--exclude-export-ranges=10.1.2.0/24 \
--global 

Remarque* : Les utilisateurs peuvent filtrer jusqu'à 16 plages d'adresses IP uniques par spoke NCC.

Affichez le contenu de la table de routage par défaut du hub NCC. Qu'est-il arrivé à la paire de sous-réseaux /25 dans la table de routage du hub NCC ?

gcloud network-connectivity hubs route-tables routes list --hub=ncc-hub --route-table=default --filter="NEXT_HOP:vpc1-ncc"
IP_CIDR_RANGE  STATE   TYPE                  NEXT_HOP  HUB      ROUTE_TABLE
10.1.1.0/24    ACTIVE  VPC_PRIMARY_SUBNET    vpc1-ncc  ncc-hub  default

Configurer VPC2 en tant que spoke NCC

gcloud network-connectivity spokes linked-vpc-network create vpc2-spoke2 \
--hub=ncc-hub \
--vpc-network=vpc2-ncc \
--global

Configurez VPC3 en tant que spoke NCC et attribuez-le au hub NCC créé précédemment.

gcloud  network-connectivity spokes linked-vpc-network create vpc3-spoke3 \
--hub=ncc-hub \
--vpc-network=vpc3-ncc \
--global

Que s'est-il passé ?

ERROR: (gcloud.network-connectivity.spokes.linked-vpc-network.create) Invalid resource state for "https://www.googleapis.com/compute/v1/projects/xxxxxxxx/global/networks/vpc3-ncc": 10.3.3.0/24 (SUBNETWORK) overlaps with 10.3.3.0/24 (SUBNETWORK) from "projects/user-3p-dev/global/networks/vpc2-ncc" (peer)

Le hub NCC a détecté un chevauchement de plage d'adresses IP avec VPC2. Rappelons que VPC2 et VPC3 ont tous deux été configurés avec le même sous-réseau IP 10.3.3.0/24.

Filtrer les plages d'adresses IP qui se chevauchent avec l'option "Exclure de l'exportation"

Utilisez la commande gcloud pour mettre à jour le spoke VPC2 afin d'exclure la plage d'adresses IP qui se chevauchent.

gcloud  network-connectivity spokes linked-vpc-network update vpc2-spoke2 \
--hub=ncc-hub \
--vpc-network=vpc2-ncc \
--exclude-export-ranges=10.3.3.0/24 \
--global

Utilisez la commande gcloud pour mettre à jour le spoke NCC pour VPC3 afin d'exclure la plage de sous-réseaux qui se chevauchent.

gcloud network-connectivity spokes linked-vpc-network create vpc3-spoke3 \
--hub=ncc-hub \
--vpc-network=vpc3-ncc \
--exclude-export-ranges=10.3.3.0/24 \
--global

Listez le contenu de la table de routage par défaut du hub NCC et examinez la sortie.

gcloud network-connectivity hubs route-tables routes list --hub=ncc-hub --route_table=default

Les plages d'adresses IP se chevauchant de VPC2 et VPC3 sont exclues. La table de routage du hub NCC est compatible avec tous les types de plages IPv4 valides, à l'exception des adresses IP publiques utilisées en mode privé (PUPI).

5. NCC avec des spokes inter-projets

Présentation

Jusqu'à présent, vous avez configuré des spokes NCC appartenant au même projet que le hub. Dans cette section, vous allez configurer le VPC en tant que spoke NCC à partir d'un projet distinct du hub NCC à l'aide des commandes gcloud.

Cela permet aux propriétaires de projets qui gèrent leurs propres VPC de participer à la connectivité réseau avec le hub NCC.

a90b3185e30832e8.png

Projets croisés : Google Cloud Console et Cloud Shell

Pour interagir avec GCP, nous utiliserons à la fois la console Google Cloud et Cloud Shell tout au long de cet atelier.

Console Google Cloud pour les spokes inter-projets

La console Cloud est accessible à l'adresse https://console.cloud.google.com.

Configurez les éléments suivants dans Google Cloud pour faciliter la configuration de Network Connectivity Center :

Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

Lancez le Cloud Shell. Cet atelier de programmation utilise des $variables pour faciliter l'implémentation de la configuration gcloud dans Cloud Shell.

gcloud auth list
gcloud config list project
gcloud config set project [YOUR-CROSSPROJECT-NAME]
xprojname=[YOUR-CROSSPROJECT-NAME]
echo $xprojname
gcloud config set compute/zone us-central1-a
gcloud config set compute/region us-central1

Rôles IAM

NCC nécessite des rôles IAM pour accéder à des API spécifiques. Veillez à configurer votre utilisateur avec les rôles IAM NCC requis.

L'administrateur de spoke inter-projets doit au minimum disposer du rôle IAM "networkconnectivity.networkSpokeManager". "

Le tableau ci-dessous liste le rôle IAM requis pour l'administrateur NCC Hub and Spoke.

Rôle/Description

Autorisations

networkconnectivity.networkAdmin : permet aux administrateurs réseau de gérer les hubs et les spokes.

networkconnectivity.hubs.networkconnectivity.spokes.

networkconnectivity.networkSpokeManager : permet d'ajouter et de gérer des spokes dans un hub. À utiliser dans le VPC partagé où le projet hôte possède le hub, mais où d'autres administrateurs d'autres projets peuvent ajouter des spokes pour leurs associations au hub.

networkconnectivity.spokes.**

networkconnectivity.networkUsernetworkconnectivity.networkViewer : permet aux utilisateurs du réseau d'afficher différents attributs des hubs et des spokes.

networkconnectivity.hubs.getnetworkconnectivity.hubs.listnetworkconnectivity.spokes.getnetworkconnectivity.spokes.listnetworkconnectivity.spokes.aggregatedList

Créer les VPC et les sous-réseaux dans le projet croisé

Le réseau VPC contient des sous-réseaux dans lesquels vous installerez la VM GCE pour la validation du chemin de données.

gcloud compute networks create xproject-vpc \
--subnet-mode custom

gcloud compute networks subnets create xprj-net-1 \
--network xproject-vpc \
--range 10.100.1.0/24 \
--region us-central1

gcloud compute networks subnets create xprj-net-2 \
--network xproject-vpc \
--range 10.100.2.0/24 \
--region us-central1

URI du projet de hub NCC

Utilisez cette commande gcloud pour trouver l'URI du hub NCC. Vous aurez besoin du chemin d'URI pour configurer le spoke NCC multiprojet à l'étape suivante.

gcloud network-connectivity hubs describe ncc-hub

VPC spoke multiprojet

Connectez-vous à l'autre projet où le VPC ne fait PAS partie du projet de hub NCC. Dans Cloud Shell, utilisez cette commande pour configurer un VPC en tant que spoke NCC.

  • HUB_URI doit être l'URI d'un hub dans un autre projet.
  • L'URI VPC doit se trouver dans le même projet que le spoke.
  • VPC-network spécifie que le VPC de ce projet croisé rejoindra le hub NCC dans un autre projet.
gcloud network-connectivity spokes linked-vpc-network create xproj-spoke \
--hub=projects/[YOUR-PROJECT-NAME]/locations/global/hubs/ncc-hub \
--global \
--vpc-network=xproject-vpc

.

Create request issued for: [xproj-spoke]
Waiting for operation [projects/xproject/locations/global/operations/operation-1689790411247-600dafd351158-2b862329-19b747f1] to complete...done.                           
Created spoke [xproj-spoke].
createTime: '2023-07-19T18:13:31.388500663Z'
hub: projects/[YOUR-PROJECT-NAME]/locations/global/hubs/ncc-hub
linkedVpcNetwork:
  uri: https://www.googleapis.com/compute/v1/projects/xproject/global/networks/xproject-vpc
name: projects/xproject/locations/global/spokes/xproj-spoke
reasons:
- code: PENDING_REVIEW
  message: Spoke is Pending Review
spokeType: VPC_NETWORK
state: INACTIVE
uniqueId: 46b4d091-89e2-4760-a15d-c244dcb7ad69
updateTime: '2023-07-19T18:13:38.652800902Z'

Quel est l'état du spoke NCC multiprojet ? Pourquoi ?

6. Refuser ou accepter un spoke inter-projets

Présentation

Les administrateurs de hubs NCC doivent accepter explicitement qu'un spoke inter-projet rejoigne le hub. Cela empêche les propriétaires de projets d'associer des rayons NCC malveillants à la table de routage globale NCC. Une fois qu'un spoke a été accepté ou refusé, il peut être refusé ou accepté autant de fois que nécessaire en exécutant les commandes ci-dessus.

Revenez au projet dans lequel se trouve le hub NCC en vous connectant à Cloud Shell.

Identifier les spokes multiprojets à examiner

gcloud network-connectivity hubs list-spokes ncc-hub \
 --filter="reason:PENDING_REVIEW"

Accepter un spoke

gcloud network-connectivity hubs accept-spoke ncc-hub --spoke=xproj-spoke

Facultatif : Refuser un spoke

gcloud network-connectivity spokes reject-spoke ncc-hub --spoke=xproj-spoke 
--details="some reason to reject"

Lister les spokes actifs sur le hub

gcloud network-connectivity hubs list-spokes ncc-hub \
 --filter="state:ACTIVE"
NAME            PROJECT          LOCATION  TYPE         STATE   STATE REASON
Xproj-spoke     xproj            global    VPC_NETWORK  ACTIVE
vpc4-spoke4     user-3p-dev      global    VPC_NETWORK  ACTIVE
vpc1-spoke1     user-3p-dev      global    VPC_NETWORK  ACTIVE
vpc2-spoke2     user-3p-dev      global    VPC_NETWORK  ACTIVE
vpc3-spoke3     user-3p-dev      global    VPC_NETWORK  ACTIVE

Lister les routes de sous-réseau sur le hub

Dans le résultat, pouvez-vous voir les routes de sous-réseau du spoke VPC croisé ?

gcloud network-connectivity hubs route-tables routes list \
--route_table=default \
--hub=ncc-hub \
--filter="NEXT_HOP:xprj-vpc"
IP_CIDR_RANGE  STATE   TYPE                NEXT_HOP  HUB      ROUTE_TABLE
10.100.1.0/24  ACTIVE  VPC_PRIMARY_SUBNET  xprj-vpc  ncc-hub  default

Mettre à jour le VPC spoke inter-projets avec un filtre d'inclusion/exclusion d'exportation

Connectez-vous au projet dont le VPC ne fait PAS partie du projet de hub NCC. Dans Cloud Shell, utilisez cette commande pour configurer un VPC en tant que spoke NCC.

  • HUB_URI doit être l'URI d'un hub dans un autre projet.
  • L'URI VPC doit se trouver dans le même projet que le spoke.
  • VPC-network spécifie que le VPC de ce projet croisé rejoindra le hub NCC dans un autre projet.
  • Importer uniquement la plage de sous-réseaux 10.100.2.0/24 dans la table de routage du hub NCC
  • Notez la valeur "ETAG" dans le résultat. Cette valeur est générée par NCC. Vous devrez la fournir à l'administrateur du hub NCC. L'administrateur du hub NCC devra référencer cette valeur lorsqu'il acceptera la demande de spoke inter-projet pour rejoindre le hub.
gcloud network-connectivity spokes linked-vpc-network update xproj-spoke \
--hub=projects/[YOUR-PROJECT-NAME]/locations/global/hubs/ncc-hub \
--global \
--include-export-ranges=10.100.2.0/24
Update request issued for: [xprj-vpc]
Waiting for operation [projects]/xproject/locations/global/operations/operation-1742936388803-6313100521cae-020ac5d2-58
52fbba] to complete...done.                                                                                                 
Updated spoke [xprj-vpc].
createTime: '2025-02-14T14:25:41.996129250Z'
etag: '4'
fieldPathsPendingUpdate:
- linked_vpc_network.include_export_ranges
group: projects/xxxxxxxx/locations/global/hubs/ncc-hub/groups/default
hub: projects/xxxxxxxx/locations/global/hubs/ncc-hub
linkedVpcNetwork:
  includeExportRanges:
  - 10.100.2.0/24
  uri: https://www.googleapis.com/compute/v1/projects/xproject/global/networks/vpc1-spoke
name: projects/xproject/locations/global/spokes/xprj-vpc
reasons:
- code: UPDATE_PENDING_REVIEW
  message: Spoke update is Pending Review
spokeType: VPC_NETWORK
state: ACTIVE
uniqueId: 182e0f8f-91cf-481c-a081-ea6f7e40fb0a
updateTime: '2025-03-25T20:59:51.995734879Z'

Identifier les spokes multiprojets mis à jour à examiner

Connectez-vous au projet qui héberge le hub NCC. Dans Cloud Shell, exécutez cette commande pour vérifier l'état de la mise à jour du spoke VPC inter-projet.

  • Qu'est-ce que la valeur ETAG ? Cette valeur doit correspondre à la sortie de la mise à jour du spoke VPC.
gcloud network-connectivity hubs list-spokes ncc-hub \ 
--filter="reasons:UPDATE_PENDING_REVIEW" \
--format=yaml

Accepter les modifications mises à jour du spoke multiprojet

Utilisez la commande pour accepter la demande de connexion du spoke multiprojet au hub NCC.

gcloud network-connectivity hubs accept-spoke-update ncc-hub \
 --spoke=https://www.googleapis.com/networkconnectivity/v1/projects/xproject/locations/global/spokes/xproj-spoke \
 --spoke-etag={etag value}

Vous pouvez également refuser les modifications mises à jour du spoke multiprojet.

Utilisez la commande pour refuser la demande d'adhésion du spoke multiservices au hub NCC.

gcloud network-connectivity hubs reject-spoke-update ncc-hub  \
--spoke=https://www.googleapis.com/networkconnectivity/v1/projects/xproject/locations/global/spokes/xproj-spoke  \
--details="not today" \
--spoke-etag={etag value} 

Vérifier que le spoke multiprojet a rejoint le hub NCC

gcloud network-connectivity hubs list-spokes ncc-hub \ --filter="name:xproj-spoke"

7. Private NAT entre les VPC

Présentation

Dans cette section, vous allez configurer la fonctionnalité Private NAT pour les plages de sous-réseaux qui se chevauchent entre deux VPC. Notez que la fonctionnalité Private NAT entre les VPC nécessite NCC.

Dans la section précédente, les VPC2 et VPC3 sont configurés avec une plage de sous-réseaux qui se chevauche ("10.3.3.0/24"). Les deux VPC sont configurés en tant que spoke NCC pour empêcher l'insertion du sous-réseau qui se chevauche dans la table de routage du hub NCC. Cela signifie qu'il n'existe aucun chemin de données de couche 3 pour atteindre les hôtes qui résident sur ce sous-réseau.

Utilisez ces commandes dans le projet hub NCC pour trouver les plages de sous-réseaux qui se chevauchent.

gcloud compute networks subnets list --network vpc2-ncc

gcloud compute networks subnets list --network vpc3-ncc

Sur vpc2-ncc, quel est le nom du sous-réseau qui contient la plage d'adresses IP qui se chevauchent ?

*Notez et enregistrez le nom du sous-réseau quelque part. Vous allez configurer la NAT source pour cette plage.

Configurer Private NAT

Dédiez une plage de sous-réseaux routables au trafic NAT source provenant du sous-réseau chevauchant de VPC2. En configurant une plage de sous-réseaux non chevauchante à l'aide de l'indicateur "–purpose=PRIVATE_NAT".

gcloud beta compute networks subnets create ncc2-spoke-nat \
--network=vpc2-ncc \
--region=us-central1 \
--range=10.10.10.0/29 \
--purpose=PRIVATE_NAT

Créer un routeur Cloud dédié pour effectuer la traduction d'adresse réseau privée

gcloud compute routers create private-nat-cr \
--network vpc2-ncc \
--region us-central1

Configurez le routeur Cloud Router pour effectuer la traduction d'adresse réseau source (SNAT) de la plage chevauchante 10.3.3.0/24 à partir de vpc2-ncc. Dans l'exemple de configuration ci-dessous, "overlapping-vpc3" est le nom du sous-réseau qui se chevauche. Le mot clé "ALL" indique que toutes les plages d'adresses IP du sous-réseau seront traduites par adresse réseau source.

gcloud beta compute routers nats create ncc2-nat \
--router=private-nat-cr \
--type=PRIVATE \
--nat-custom-subnet-ip-ranges=overlapping-vpc3:ALL \
--router-region=us-central1

Les étapes précédentes ont permis de créer un pool de plages d'adresses IP NAT et le sous-réseau spécifique qui sera traduit. Dans cette étape, créez la règle NAT "1" qui traduit les paquets réseau correspondant au trafic provenant de la plage de sous-réseaux qui se chevauchent si le réseau de destination emprunte un chemin à partir de la table de routage du hub NCC.

gcloud beta compute routers nats rules create 1 \
--router=private-nat-cr \
--region=us-central1 \
--match='nexthop.hub == "//networkconnectivity.googleapis.com/projects/$projectname/locations/global/hubs/ncc-hub"' \
--source-nat-active-ranges=ncc2-spoke-nat \
--nat=ncc2-nat

Vérifier le chemin d'accès aux données pour Private NAT

gcloud beta compute routers nats describe ncc2-nat --router=private-nat-cr

Exemple de résultat :

enableDynamicPortAllocation: true
enableEndpointIndependentMapping: false
endpointTypes:
- ENDPOINT_TYPE_VM
name: ncc2-nat
rules:
- action:
    sourceNatActiveRanges:
    - https://www.googleapis.com/compute/beta/projects/xxxxxxxx/regions/us-central1/subnetworks/ncc2-spoke-nat
  match: nexthop.hub == "//networkconnectivity.googleapis.com/projects/xxxxxxxx/locations/global/hubs/ncc-hub"
  ruleNumber: 1
sourceSubnetworkIpRangesToNat: LIST_OF_SUBNETWORKS
subnetworks:
- name: https://www.googleapis.com/compute/beta/projects/xxxxxxxx/regions/us-central1/subnetworks/overlapping-vpc3
  sourceIpRangesToNat:
  - ALL_IP_RANGES
type: PRIVATE

Facultativement,

  • Passer à la console Web
  • Accédez à "Services réseau > Cloud NAT > ncc2-nat".

Vérifiez que l'allocation dynamique des ports est activée par défaut.

7317d3cfb7e9468b.png

Vous allez ensuite vérifier le chemin de données qui utilise le chemin NAT privé configuré pour VPC2.

444d45616f1d0cae.png

Ouvrez une session SSH sur vm1-vpc1-ncc et utilisez la commande tcpdump ci-dessous pour capturer les paquets provenant de la plage du pool NAT 10.10.10.0/29.

vm1-vpc1-ncc

sudo tcpdump -i any net 10.10.10.0/29 -n

Au moment de la rédaction de cet atelier de programmation, Private NAT n'est pas compatible avec les paquets ICMP. Ouvrez une session SSH sur pNat-vm-vpc2 et utilisez la commande curl comme indiqué ci-dessous pour vous connecter à vm1-vpc1-ncc sur le port TCP 80.

pnat-vm-vpc2

curl 10.1.1.2 -v 

Examinez la sortie de tcpdump sur vm1-vpc1-ncc. Quelle est l'adresse IP source à l'origine de la session TCP vers notre serveur Web sur vm1-vpc1-ncc ?

tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
19:05:27.504761 ens4  In  IP 10.10.10.2.1024 > 10.1.1.2:80: Flags [S], seq 2386228656, win 65320, options [mss 1420,sackOK,TS val 3955849029 ecr 0,nop,wscale 7], length 0
19:05:27.504805 ens4  Out IP 10.1.1.2:80 > 10.10.10.2.1024: Flags [S.], seq 48316785, ack 2386228657, win 64768, options [mss 1420,sackOK,TS val 1815983704 ecr 3955849029,nop,wscale 7], length 0
<output snipped>

8. Prise en charge des sous-réseaux IPv6 par NCC

Network Connectivity Center est compatible avec l'échange de sous-réseaux IPv6 et de routes dynamiques entre les spokes VPC et les spokes hybrides NCC. Dans cette section, configurez NCC pour qu'il soit compatible avec le mode d'échange de routes de sous-réseau IPv6 uniquement et à double pile IPv4 et IPv6.

57282c3276d50671.png

Créez un réseau VPC pour IPv6 qui rejoindra le hub NCC en tant que spoke VPC. GCP attribuera automatiquement toutes les adresses ULA de la plage fd20::/20.

gcloud compute networks create vpc5-ncc \
--subnet-mode custom \
--enable-ula-internal-ipv6 

gcloud compute networks subnets create vpc5-ext-ipv6 \ --network=vpc5-ncc \ 
--stack-type=IPV6 \ 
--ipv6-access-type=EXTERNAL \ 
--region=us-central1

gcloud compute networks subnets create vpc5-ipv4-subnet1 \
--network vpc5-ncc \
--range 10.5.5.0/24 \
--region us-central1

Utilisez cette commande pour configurer VPC5 en tant que spoke NCC et exclure la route de sous-réseau IPv4 de l'exportation vers la table de routage du hub. Exportez le réseau ULA IPv6 dans la table de routage de la passerelle NCC.

gcloud network-connectivity spokes linked-vpc-network create vpc5-spoke5 \
--hub=ncc-hub \
--vpc-network=vpc5-ncc \
--exclude-export-ranges=10.5.5.0/24
--global

Activez VPC1 et VPC4 pour les adresses locales uniques (ULA) IPv6 privées. GCP attribuera automatiquement toutes les adresses ULA de la plage fd20::/20.

gcloud compute networks update vpc-ncc4 \
    --enable-ula-internal-ipv6

gcloud compute networks update vpc-ncc1 \
    --enable-ula-internal-ipv6

Créez un sous-réseau IPv6 natif et un sous-réseau à double pile ipv4_v6 dans VPC1.

gcloud compute networks subnets create vpc1-ipv6-sn1 \
    --network=vpc-ncc1 \
    --stack-type=IPV6_ONLY \
    --ipv6-access-type=INTERNAL \
    --region=us-central1

gcloud compute networks subnets create vpc1-ipv64-sn2 \
    --network=vpc-ncc1 \
    --range=10.10.10.0/24 \
    --stack-type=IPV4_IPV6 \
    --ipv6-access-type=INTERNAL \
    --region=us-east1

Créer un sous-réseau IPv6 natif et un sous-réseau à double pile IPv4_IPv6 dans VPC4

gcloud compute networks subnets create vpc4-ipv6-sn1 \
    --network=vpc-ncc4 \
    --stack-type=IPV6_ONLY \
    --ipv6-access-type=INTERNAL \
    --region=us-central1

gcloud compute networks subnets create vpc4-ipv64-sn2 \
    --network=vpc-ncc4 \
    --range=10.40.40.0/24 \
    --stack-type=IPV4_IPV6 \
    --ipv6-access-type=INTERNAL \
    --region=us-east1

Sur VPC1, créez une règle de pare-feu VPC IPv6 pour autoriser le trafic provenant de la plage ULA IPv6.

gcloud compute firewall-rules create allow-icmpv6-ula-ncc1 \
    --network=vpc-ncc1 \
    --action=allow \
    --direction=ingress \
    --rules=all \
    --source-ranges=fd20::/20

Sur VPC4, créez une règle de pare-feu VPC IPv6 pour autoriser le trafic provenant de la plage ULA IPv6.

gcloud compute firewall-rules create allow-icmpv6-ula-ncc4 \
    --network=vpc-ncc4 \
    --action=allow \
    --direction=ingress \
    --rules=all \
    --source-ranges=fd20::/20

Créez trois instances IPv6 GCE pour vérifier la connectivité du chemin de données dans la section suivante. Remarque : vpc1-dualstack-vm sera utilisé comme hôte bastion pour accéder hors bande aux VM GCE IPv6 natives.

gcloud compute instances create vpc4-ipv6-vm \
    --zone us-central1-a \
    --subnet=vpc4-ipv6-sn1 \
    --stack-type=IPV6_ONLY

gcloud compute instances create vpc1-ipv6-vm \
    --zone us-central1-a \
    --subnet=vpc1-ipv6-sn1 \
    --stack-type=IPV6_ONLY

gcloud compute instances create vpc1-dual-stack-vm \
    --zone us-east1-b \
    --network=vpc-ncc1 \
    --subnet=vpc2-ipv64-sn2 \
    --stack-type=IPV4_IPV6

Vérifier les sous-réseaux IPv6 dans le hub NCC

Vérifiez la table de routage du hub NCC pour les sous-réseaux ULA IPv6.

gcloud network-connectivity hubs route-tables routes list --route_table=default \
--hub=ncc-hub \
--filter="IP_CIDR_RANGE:fd20"

Notez que le résultat de la commande ci-dessus n'a pas listé les sous-réseaux IPv6. Par défaut, les sous-réseaux IPv6 des spokes VPC ne sont PAS inclus dans l'exportation vers la table de routage du hub NCC.

Listed 0 items.

Utilisez les commandes gcloud ci-dessous pour mettre à jour les spokes VPC1 et VPC4 afin d'exporter les sous-réseaux IPv6 dans la table de routage du hub NCC.

gcloud network-connectivity spokes linked-vpc-network update vpc1-spoke1 \
  --global \
  --include-export-ranges=ALL_IPV6_RANGES

gcloud network-connectivity spokes linked-vpc-network update vpc4-spoke4 \
  --global \
  --include-export-ranges=ALL_IPV6_RANGES

gcloud network-connectivity spokes linked-vpc-network update vpc5-spoke5 \
  --global \
  --include-export-ranges=ALL_IPV6_RANGES

Vérifiez à nouveau la table de routage du hub NCC pour les sous-réseaux ULA IPv6.

gcloud network-connectivity hubs route-tables routes list --route_table=default \
--hub=ncc-hub \
--filter="IP_CIDR_RANGE:fd20"

Exemple de résultat :

IP_CIDR_RANGE                  PRIORITY  LOCATION     STATE   TYPE                SITE_TO_SITE  NEXT_HOP  HUB            ROUTE_TABLE
fd20:c95:95d2:1000:0:0:0:0/64            us-east1     ACTIVE  VPC_PRIMARY_SUBNET  N/A           vpc-ncc4  ncc-hub  default
fd20:c95:95d2:1:0:0:0:0/64               us-central1  ACTIVE  VPC_PRIMARY_SUBNET  N/A           vpc-ncc4  ncc-hub  default
fd20:670:3823:0:0:0:0:0/64               us-central1  ACTIVE  VPC_PRIMARY_SUBNET  N/A           vpc-ncc5  ncc-hub  default
fd20:90:6768:1000:0:0:0:0/64             us-east1     ACTIVE  VPC_PRIMARY_SUBNET  N/A           vpc-ncc2  ncc-hub  default
fd20:90:6768:0:0:0:0:0/64                us-central1  ACTIVE  VPC_PRIMARY_SUBNET  N/A           vpc-ncc2  ncc-hub  default

Filtrer les sous-réseaux IPv6 avec des spokes VPC NCC

Vérifier la table de routage du hub NCC pour les routes de sous-réseau IPv6 externes

gcloud network-connectivity hubs route-tables routes list --route_table=default \
--hub=ncc-hub \
--filter="NEXT_HOP:vpc-ncc5"

Exemple de sortie : la table de routage du hub NCC a appris la plage IPv6 externe.

IP_CIDR_RANGE                  PRIORITY  LOCATION     STATE   TYPE                SITE_TO_SITE  NEXT_HOP  HUB            ROUTE_TABLE
10.5.5.0/24                              us-central1  ACTIVE  VPC_PRIMARY_SUBNET  N/A           vpc-ncc5  ncc-hub  default
2600:1900:4001:ce6:0:0:0:0/64            us-central1  ACTIVE  VPC_PRIMARY_SUBNET  N/A           vpc-ncc5  ncc-hub  default
fd20:670:3823:0:0:0:0:0/64               us-central1  ACTIVE  VPC_PRIMARY_SUBNET  N/A           vpc-ncc5  ncc-hub  default
10.50.10.0/24                            us-central1  ACTIVE  VPC_PRIMARY_SUBNET  N/A           vpc-ncc5  ncc-hub  default

Utilisez la commande gcloud ci-dessous pour mettre à jour les spokes VPC5 afin d'empêcher l'injection des deux sous-réseaux IPv6 internes spécifiques et du sous-réseau IPv6 externe dans la table de routage du hub NCC.

gcloud network-connectivity spokes linked-vpc-network update vpc5-spoke5 \
 --global \
 --include-export-ranges=fd20:670:3823:0:0:0:0:0/48 \
 --exclude-export-ranges=fd20:670:3823:1::/64,fd20:670:3823:2::/64  

Utiliser la commande gcloud pour vérifier les filtres d'exportation du spoke VPC5

gcloud network-connectivity spokes linked-vpc-network update vpc5-spoke5 \
 --global \
 --include-export-ranges=fd20:670:3823:0:0:0:0:0/48 \
 --exclude-export-ranges=fd20:670:3823:1::/64,fd20:670:3823:2::/64  

Vérifier la table de routage du hub NCC pour les routes de sous-réseau IPv6 externes

gcloud network-connectivity hubs route-tables routes list --route_table=default \
--hub=ncc-hub \
--filter="NEXT_HOP:vpc-ncc5"

Exemple de sortie : la table de routage du hub NCC a appris la plage IPv6 externe.

IP_CIDR_RANGE               PRIORITY  LOCATION     STATE   TYPE                SITE_TO_SITE  NEXT_HOP  HUB            ROUTE_TABLE
fd20:670:3823:0:0:0:0:0/64            us-central1  ACTIVE  VPC_PRIMARY_SUBNET  N/A           vpc-ncc5  demo-mesh-hub  default

9. Vérifier la connectivité du chemin d'accès aux données

Connectivité du chemin de données IPv4

Reportez-vous au schéma et vérifiez le chemin de données IPv4 entre chaque machine virtuelle.

27c61b09f2bf2d02.png

Connectez-vous en SSH à vm1-vpc1-ncc et lancez la capture TCP pour suivre les paquets ICMP provenant de vm2-vpc2-ncc. Pour rappel, cette VM réside sur VPC2.

vm1-vpc1-ncc

sudo tcpdump -i any icmp -v -e -n

Établissez une session SSH vers vm1-vpc2-ncc et envoyez un ping à l'adresse IP de vm1-vpc1-ncc.

vm1-vpc2-ncc

ping 10.1.1.2

Établissez une connexion SSH à vm1-vpc2-ncc et envoyez un ping à l'adresse IP de vm1-vpc4-ncc.

vm1-vpc2-ncc

ping 240.0.0.2

Connectivité du chemin de données IPv6

Reportez-vous au schéma et vérifiez le chemin de données IP64 entre chaque machine virtuelle.

3afe67968317a16d.png

Utilisez la commande gcloud pour lister l'adresse IP de chaque instance compatible avec IPv6.

 gcloud compute instances list --filter="INTERNAL_IP:fd20"

Exemple de sortie

NAME                ZONE           MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP                   EXTERNAL_IP      STATUS
vpc1-ipv6-vm        us-central1-a  n1-standard-1               fd20:90:6768:0:0:1:0:0/96                      RUNNING
vpc4-ipv6-vm        us-central1-a  n1-standard-1               fd20:c95:95d2:1:0:1:0:0/96                     RUNNING
vpc1-dual-stack-vm  us-east1-b     n1-standard-1               10.10.10.3                    XXX.196.137.107  RUNNING
                                                               fd20:90:6768:1000:0:1:0:0/96

Établissez une session SSH vers vpc1-dualstack-vm et envoyez un ping à l'adresse IPv6 de vpc1-ipv6-vm pour valider la connectivité IPv6 dans un VPC mondial.

ping fd20:90:6768:1000:0:1::

Établissez une session SSH vers vpc1-dualstack-vm et envoyez une requête ping à l'adresse IPv6 de vpc4-ipv6-vm pour valider la connectivité IPv6 via une connexion NCC.

ping fd20:c95:95d2:1:0:1::

10. Effectuer un nettoyage

Connectez-vous à Cloud Shell et supprimez les instances de VM dans les réseaux des sites hub et filiales.

Supprimer les configurations NAT de VPC privé

gcloud beta compute routers nats rules delete 1 \
--nat=ncc2-nat \
--router=private-nat-cr \
--region=us-central1 \
--quiet

gcloud beta compute routers nats delete ncc2-nat \
--router=private-nat-cr \
--router-region=us-central1 \
--quiet

gcloud compute routers delete private-nat-cr \
--region=us-central1 \
--quiet

Supprimer les spokes NCC

gcloud network-connectivity spokes delete vpc1-spoke1 --global --quiet

gcloud network-connectivity spokes delete vpc2-spoke2 --global --quiet

gcloud network-connectivity spokes delete vpc3-spoke3 --global --quiet

gcloud network-connectivity spokes delete vpc4-spoke4 --global --quiet

Refuser un spoke multiprojet

Refusez le spoke VPC multiprojet depuis le hub NCC.

gcloud network-connectivity spokes reject projects/$xprojname/locations/global/spokes/xproj-spoke \--details="cleanup" \
--global

Supprimer le hub NCC

gcloud network-connectivity hubs delete ncc-hub --quiet

Supprimer les règles de pare-feu

gcloud compute firewall-rules delete ncc1-vpc-internal --quiet
gcloud compute firewall-rules delete ncc2-vpc-internal --quiet
gcloud compute firewall-rules delete ncc3-vpc-internal --quiet
gcloud compute firewall-rules delete ncc4-vpc-internal --quiet
gcloud compute firewall-rules delete ncc1-vpc-iap --quiet
gcloud compute firewall-rules delete ncc2-vpc-iap --quiet
gcloud compute firewall-rules delete ncc3-vpc-iap --quiet
gcloud compute firewall-rules delete ncc4-vpc-iap --quiet
gcloud compute firewall-rules delete allow-icmpv6-ula-ncc1 
gcloud compute firewall-rules delete allow-icmpv6-ula-ncc4 

Supprimer des instances GCE

gcloud compute instances delete vm1-vpc1-ncc --zone=us-central1-a --quiet
gcloud compute instances delete vm2-vpc2-ncc --zone=us-central1-a --quiet
gcloud compute instances delete pnat-vm-vpc2 --zone=us-central1-a --quiet
gcloud compute instances delete vm1-vpc4-ncc --zone=us-east1-b --quiet
gcloud compute instances delete vpc4-ipv6-vm  --zone us-central1-a --quiet
gcloud compute instances delete vpc2-dual-stack-vm --zone us-east1-b --quiet
gcloud compute instances delete vpc2-ipv6-vm --zone us-central1-a --quiet

Supprimer des sous-réseaux VPC

gcloud compute networks subnets delete ncc2-spoke-nat --region us-central1 --quiet
gcloud compute networks subnets delete vpc1-ncc-subnet1 --region us-central1 --quiet
gcloud compute networks subnets delete vpc1-ncc-subnet2 --region us-central1 --quiet
gcloud compute networks subnets delete vpc1-ncc-subnet3 --region us-central1 --quiet
gcloud compute networks subnets delete vpc2-ncc-subnet1 --region us-central1 --quiet
gcloud compute networks subnets delete overlapping-vpc2 --region us-central1 --quiet 
gcloud compute networks subnets delete overlapping-vpc3 --region us-central1 --quiet

gcloud compute networks subnets delete benchmark-testing-rfc2544 --region us-east1 --quiet
gcloud compute networks subnets delete class-e-rfc5735 --region us-east1 --quiet
gcloud compute networks subnets delete ietf-protcol-assignment-rfc6890 --region us-east1 --quiet
gcloud compute networks subnets delete ipv6-4-relay-rfc7526 --region us-east1 --quiet
gcloud compute networks subnets delete pupi --region us-east1 --quiet
gcloud compute networks subnets delete test-net-1-rfc5737 --region us-east1 --quiet
gcloud compute networks subnets delete test-net-2-rfc5737 --region us-east1 --quiet
gcloud compute networks subnets delete test-net-3-rfc5737 --region us-east1 --quiet
gcloud compute networks subnets delete vpc1-ipv64-sn2 --region=us-east1 --quiet
gcloud compute networks subnets delete vpc1-ipv6-sn1 --region=us-central1 --quiet
gcloud compute networks subnets delete vpc4-ipv64-sn2 --region=us-east1 --quiet
gcloud compute networks subnets delete vpc4-ipv6-sn1 --region=us-central1 --quiet
gcloud compute networks subnets delete vpc5-ext-ipv6 --region=us-central1 --quiet

Supprimer des VPC

gcloud compute networks delete vpc1-ncc vpc2-ncc vpc3-ncc vpc4-ncc, vpc5-ncc --quiet 

11. Félicitations !

Vous avez terminé l'atelier Network Connectivity Center.

Sujets abordés

  • Réseau d'appairage VPC en maillage complet configuré avec le hub NCC
  • Filtre d'exclusion de spoke NCC
  • Assistance pour les spokes multiprojets
  • Private NAT entre les VPC

Étapes suivantes

© Google, LLC ou ses sociétés affiliées. Tous droits réservés. Ne pas diffuser.