Codelab: NCC-VPC als Spoke

1. Einführung

Übersicht

In diesem Lab erfahren Sie, wie Sie mit Network Connectivity Center(NCC) Inter-VPC-Konnektivität im großen Maßstab über die Unterstützung von VPC-Spokes herstellen können. Wenn Nutzer eine VPC als VPC-Spoke definieren, können sie sie über den NCC-Hub mit mehreren VPC-Netzwerken verbinden. NCC mit VPC-Spoke-Konfiguration reduziert die operative Komplexität der Verwaltung paarweiser Inter-VPC-Konnektivität über VPC-Peering, da stattdessen ein zentralisiertes Konnektivitätsverwaltungsmodell verwendet wird.

Network Connectivity Center (NCC) ist ein Hub-and-Spoke-Modell für die Verwaltung der Netzwerkverbindung in Google Cloud. Die Hub-Ressource bietet ein zentrales Modell für das Verbindungsmanagement, um Spokes miteinander zu verbinden.

Umfang

In diesem Codelab erstellen Sie mit dem NCC-Hub eine logische Hub-and-Spoke-Topologie, die eine vollständig vermaschte VPC-Konnektivität über drei verschiedene VPCs hinweg implementiert.

Lerninhalte

  • Vollständige Mesh-VPC-Konnektivität mit dem Network Connectivity Center
  • Private NAT in der gesamten VPC

Voraussetzungen

  • Kenntnisse über GCP-VPC-Netzwerke
  • Kenntnisse zu Cloud Router und BGP-Routing
  • Zwei separate GCP-Projekte
  • Für dieses Codelab sind fünf VPCs erforderlich. Eines dieser VPCs muss sich in einem separaten Projekt als der NCC-Hub befinden.
  • Prüfen Sie Ihr Kontingent:Netzwerke und fordern Sie bei Bedarf zusätzliche Netzwerke an (siehe Screenshot unten):

6bc606cb34bce7e8.png

Ziele

  • GCP-Umgebung einrichten
  • Network Connectivity Center mit VPC als Spoke konfigurieren
  • Datenpfad validieren
  • Funktionen für die NCC-Wartungsfreundlichkeit
  • Verwendete Ressourcen bereinigen

Hinweis

Google Cloud Console und Cloud Shell

In diesem Lab verwenden wir sowohl die Google Cloud Console als auch Cloud Shell, um mit GCP zu interagieren.

NCC Hub-Projekt Google Cloud Console

Sie können die Cloud Console unter https://console.cloud.google.com aufrufen.

Richten Sie die folgenden Elemente in Google Cloud ein, um die Konfiguration des Network Connectivity Centers zu vereinfachen:

Wählen Sie in der Google Cloud Console auf der Seite zur Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie ein Google Cloud-Projekt.

Starten Sie Cloud Shell. In diesem Codelab werden $Variablen verwendet, um die Implementierung der gcloud-Konfiguration in Cloud Shell zu erleichtern.

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

IAM-Rollen

Für den Zugriff auf bestimmte APIs sind IAM-Rollen erforderlich. Konfigurieren Sie Ihren Nutzer mit den erforderlichen NCC-IAM-Rollen.

Rolle/Beschreibung

Berechtigungen

networkconnectivity.networkAdmin: Mit dieser Rolle können Netzwerkadministratoren Hubs und Spokes verwalten.

networkconnectivity.hubs.networkconnectivity.spokes.

networkconnectivity.networkSpokeManager: Ermöglicht das Hinzufügen und Verwalten von Spokes in einem Hub. Zur Verwendung in einer freigegebenen VPC, in der das Hostprojekt den Hub besitzt, aber andere Administratoren in anderen Projekten Spokes für ihre Anhänge zum Hub hinzufügen können.

networkconnectivity.spokes.**

networkconnectivity.networkUsernetworkconnectivity.networkViewer: Ermöglicht Netzwerkbenutzern, verschiedene Attribute von Hubs und Spokes anzusehen.

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

2. Netzwerkumgebung einrichten

Übersicht

In diesem Abschnitt stellen wir die VPC-Netzwerke und Firewallregeln in einem einzelnen Projekt bereit. Das logische Diagramm veranschaulicht die Netzwerkumgebung, die in diesem Schritt eingerichtet wird.

Um die Unterstützung von Spokes in verschiedenen Projekten zu demonstrieren, stellen wir in einem späteren Schritt eine VPC und Firewallregeln in einem anderen Projekt bereit.

dc4ed09dae1a0056.png

VPCs und Subnetze erstellen

Das VPC-Netzwerk enthält Subnetze, in denen Sie eine GCE-VM für die Validierung des Datenpfads installieren.

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

Von VPC unterstützte Subnetzbereiche

NCC unterstützt alle gültigen IPv4-Subnetzbereiche mit Ausnahme von privat verwendeten öffentlichen IP-Adressen. In diesem Schritt erstellen Sie gültige IP-Bereiche in VPC4, die in die Hub-Routentabelle importiert werden.

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

Überlappende Subnetzbereiche erstellen

Überlappende IP-Bereiche werden nicht in die Hub-Routingtabelle importiert. Nutzer umgehen diese Einschränkung in einem späteren Schritt. Erstellen Sie vorerst zwei sich überschneidende IP-Bereiche für VPC2 und 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

VPC-Firewallregeln konfigurieren

Firewallregeln in jeder VPC konfigurieren, um Folgendes zuzulassen:

  • SSH
  • Interne IAP
  • Bereich 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

GCE-VM in jeder VPC konfigurieren

Sie benötigen vorübergehenden Internetzugriff, um Pakete auf „vm1-vpc1-ncc“ zu installieren.

Erstellen Sie vier virtuelle Maschinen. Jede VM wird einer der zuvor erstellten VPCs zugewiesen.

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. Network Connectivity Center-Hub

Übersicht

In diesem Abschnitt konfigurieren wir einen NCC-Hub mit gcloud-Befehlen. Der NCC-Hub dient als Steuerungsebene, die für die Erstellung der Routingkonfiguration zwischen den einzelnen VPC-Spokes verantwortlich ist.

860347511de47cea.png

API-Dienste aktivieren

Aktivieren Sie die Network Connectivity API, falls sie noch nicht aktiviert ist:

gcloud services enable networkconnectivity.googleapis.com

NCC-Hub erstellen

NCC-Hub mit dem gCloud-Befehl erstellen

gcloud network-connectivity hubs create ncc-hub

Beispielausgabe

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]

Beschreiben Sie den neu erstellten NCC-Hub. Notieren Sie sich den Namen und den zugehörigen Pfad.

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'

Mit dem NCC-Hub wurde eine Routingtabelle eingeführt, die die Steuerungsebene für die Herstellung von Datenverbindungen definiert. Namen der Routingtabelle des NCC-Hubs ermitteln

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

Suchen Sie den URI der NCC-Standardroutentabelle.

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'

Listen Sie den Inhalt der Standardroutingtabelle des NCC-Hubs auf. Hinweis*: Die Routingtabelle des NCC-Hubs ist leer, bis Spokes

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

Die Routentabelle des NCC-Hubs sollte leer sein.

4. NCC mit VPC-Spokes

Übersicht

In diesem Abschnitt konfigurieren Sie drei VPCs als NCC-Spoke mit gcloud-Befehlen.

b367b1659d2df694.png

VPCs als NCC-Spoke konfigurieren

Konfigurieren Sie die folgenden VPCs in dieser Reihenfolge als NCC-Spoke:

  • VPC4
  • VPC1
  • VPC2
  • VPC3

Konfigurieren Sie VPC4 als NCC-Spoke und weisen Sie sie dem zuvor erstellten NCC-Hub zu. Für NCC-API-Aufrufe muss ein Standort angegeben werden. Das Flag „–global“ vereinfacht die gcloud-Syntax, da der Nutzer beim Konfigurieren eines neuen NCC-Spoke keinen vollständigen URI-Pfad angeben muss.

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

Konfigurieren Sie VPC1 als NCC-Spoke.

Administratoren können Subnetzrouten ausschließen, die aus einem VPC-Spoke in die Routingtabelle des NCC-Hubs exportiert werden. In diesem Teil des Codelabs erstellen Sie eine Ausschlussregel für den Export basierend auf einem zusammenfassenden Präfix, um zu verhindern, dass das Subnetz von VPC1 in die NCC Hub-Routingtabelle exportiert wird.

Verwenden Sie diesen gcloud-Befehl, um alle Subnetze aufzulisten, die zu VPC1 gehören.

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

Beachten Sie die beiden /25-Subnetze, die zuvor im Einrichtungsabschnitt erstellt wurden.

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

Konfigurieren Sie VPC1 als NCC-Spoke und schließen Sie das Paar von /25-Subnetzen aus, die in die Hub-Routingtabelle importiert werden sollen. Verwenden Sie dazu das Keyword „export-exclude-ranges“, um die /24-Zusammenfassungsroute aus diesem bestimmten Bereich zu filtern.

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 

Hinweis*: Nutzer können bis zu 16 eindeutige IP-Bereiche pro NCC-Spoke filtern.

Listen Sie den Inhalt der Standardroutingtabelle des NCC-Hubs auf. Was ist mit den beiden /25-Subnetzen in der Routingtabelle des NCC-Hubs passiert?

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

VPC2 als NCC-Spoke konfigurieren

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

Konfigurieren Sie VPC3 als NCC-Spoke und weisen Sie sie dem zuvor erstellten NCC-Hub zu.

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

Was ist passiert?

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)

Der NCC-Hub hat einen sich überschneidenden IP-Bereich mit VPC2 erkannt. VPC2 und VPC3 wurden beide mit demselben IP-Subnetz 10.3.3.0/24 eingerichtet.

Überschneidende IP-Bereiche mit „Export ausschließen“ filtern

Verwenden Sie den gcloud-Befehl, um den VPC2-Spoke so zu aktualisieren, dass der sich überschneidende IP-Bereich ausgeschlossen wird.

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

Verwenden Sie den gcloud-Befehl, um den NCC-Spoke für VPC3 zu aktualisieren und den sich überschneidenden Subnetzbereich auszuschließen.

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

Listen Sie den Inhalt der Standardroutingtabelle des NCC-Hubs auf und prüfen Sie die Ausgabe.

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

Die sich überschneidenden IP-Bereiche von VPC2 und VPC3 werden ausgeschlossen. Die NCC-Hub-Routingtabelle unterstützt alle gültigen IPv4-Bereichstypen mit Ausnahme von privat verwendeten öffentlichen IP-Adressen (PUPI).

5. NCC mit projektübergreifenden Spokes

Übersicht

Bisher haben Sie NCC-Spokes konfiguriert, die zum selben Projekt wie der Hub gehören. In diesem Abschnitt konfigurieren Sie die VPC als NCC-Spoke aus einem separaten Projekt, das nicht der NCC-Hub ist, mit gcloud-Befehlen.

Dadurch können Projektinhaber, die ihre eigenen VPCs verwalten, an der Netzwerkverbindung mit dem NCC Hub teilnehmen.

a90b3185e30832e8.png

Projektübergreifend: Google Cloud Console und Cloud Shell

In diesem Lab verwenden wir sowohl die Google Cloud Console als auch Cloud Shell, um mit GCP zu interagieren.

Cross Project Spoke Google Cloud Console

Sie können die Cloud Console unter https://console.cloud.google.com aufrufen.

Richten Sie die folgenden Elemente in Google Cloud ein, um die Konfiguration des Network Connectivity Centers zu vereinfachen:

Wählen Sie in der Google Cloud Console auf der Seite zur Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie ein Google Cloud-Projekt.

Starten Sie Cloud Shell. In diesem Codelab werden $Variablen verwendet, um die Implementierung der gcloud-Konfiguration in Cloud Shell zu erleichtern.

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

IAM-Rollen

Für den Zugriff auf bestimmte APIs sind IAM-Rollen erforderlich. Konfigurieren Sie Ihren Nutzer mit den erforderlichen NCC-IAM-Rollen.

Der projektübergreifende Spoke-Administrator muss mindestens die IAM-Rolle „networkconnectivity.networkSpokeManager“ haben. "

In der folgenden Tabelle ist die IAM-Rolle aufgeführt, die für den NCC Hub and Spoke-Administrator erforderlich ist.

Rolle/Beschreibung

Berechtigungen

networkconnectivity.networkAdmin: Mit dieser Rolle können Netzwerkadministratoren Hubs und Spokes verwalten.

networkconnectivity.hubs.networkconnectivity.spokes.

networkconnectivity.networkSpokeManager: Ermöglicht das Hinzufügen und Verwalten von Spokes in einem Hub. Zur Verwendung in einer freigegebenen VPC, in der das Hostprojekt den Hub besitzt, aber andere Administratoren in anderen Projekten Spokes für ihre Anhänge zum Hub hinzufügen können.

networkconnectivity.spokes.**

networkconnectivity.networkUsernetworkconnectivity.networkViewer: Ermöglicht Netzwerkbenutzern, verschiedene Attribute von Hubs und Spokes anzusehen.

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

VPCs und Subnetze im projektübergreifenden Projekt erstellen

Das VPC-Netzwerk enthält Subnetze, in denen Sie eine GCE-VM für die Validierung des Datenpfads installieren.

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

NCC-Hub-Projekt-URI

Verwenden Sie diesen gcloud-Befehl, um die NCC Hub-URI zu finden. Sie benötigen den URI-Pfad, um den NCC-Spoke für mehrere Projekte im nächsten Schritt zu konfigurieren.

gcloud network-connectivity hubs describe ncc-hub

Cross Project Spoke VPC

Melden Sie sich im anderen Projekt an, in dem die VPC NICHT Teil des NCC-Hub-Projekts ist. Verwenden Sie in Cloud Shell diesen Befehl, um eine VPC als NCC-Spoke zu konfigurieren.

  • HUB_URI sollte der URI eines Hubs in einem anderen Projekt sein.
  • Der VPC_URI muss sich im selben Projekt wie der Spoke befinden.
  • „VPC-network“ gibt an, dass das VPC-Netzwerk in diesem projektübergreifenden Vorgang dem NCC-Hub in einem anderen Projekt beitreten wird.
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'

Was ist der Status des projektübergreifenden NCC-Spoke? Warum?

6. Projektübergreifende Spokes ablehnen oder annehmen

Übersicht

NCC-Hub-Administratoren müssen explizit akzeptieren, dass ein projektübergreifender Spoke dem Hub beitritt. Dadurch wird verhindert, dass Projektinhaber nicht autorisierte NCC-Spokes an die globale NCC-Routingtabelle anhängen. Nachdem ein Spoke einmal angenommen oder abgelehnt wurde, kann er beliebig oft abgelehnt oder akzeptiert werden. Führen Sie dazu die oben beschriebenen Befehle aus.

Kehren Sie zu dem Projekt zurück, in dem sich der NCC-Hub befindet, indem Sie sich in Cloud Shell anmelden.

Zu überprüfende projektübergreifende Spokes identifizieren

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

Spoke akzeptieren

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

Optional: Spoke ablehnen

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

Aktive Spokes im Hub auflisten

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

Subnetzrouten auf dem Hub auflisten

Können Sie in der Ausgabe die Subnetzrouten aus dem VPC-Spoke sehen?

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

Spoke-VPC für projektübergreifende Exporte mit Include-Exportfilter aktualisieren

Melden Sie sich in dem Projekt an, in dem die VPC NICHT Teil des NCC Hub-Projekts ist. Verwenden Sie in Cloud Shell diesen Befehl, um eine VPC als NCC-Spoke zu konfigurieren.

  • HUB_URI sollte der URI eines Hubs in einem anderen Projekt sein.
  • Der VPC_URI muss sich im selben Projekt wie der Spoke befinden.
  • „VPC-network“ gibt an, dass das VPC-Netzwerk in diesem projektübergreifenden Vorgang dem NCC-Hub in einem anderen Projekt beitreten wird.
  • Nur den Subnetzbereich 10.100.2.0/24 in die NCC-Hub-Routingtabelle importieren
  • Notieren Sie sich den ETAG-Wert aus der Ausgabe. Dieser Wert wird von NCC generiert und muss dem NCC-Hub-Administrator zur Verfügung gestellt werden. Der NCC-Hub-Administrator muss auf diesen Wert verweisen, wenn er die Anfrage des projektübergreifenden Spoke zum Beitritt zum Hub annimmt.
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'

Aktualisierte projektübergreifende Spokes identifizieren

Melden Sie sich im Projekt an, in dem der NCC-Hub gehostet wird. Verwenden Sie in Cloud Shell diesen Befehl, um den Status der Aktualisierung des VPC-Spoke-Projekts zu prüfen.

  • Was ist der ETAG-Wert? Dieser Wert sollte mit der Ausgabe des VPC-Spoke-Updates übereinstimmen.
gcloud network-connectivity hubs list-spokes ncc-hub \ 
--filter="reasons:UPDATE_PENDING_REVIEW" \
--format=yaml

Aktualisierte Änderungen aus dem projektübergreifenden Spoke akzeptieren

Mit diesem Befehl können Sie die Anfrage des projektübergreifenden Spoke zum Beitreten des NCC-Hubs annehmen.

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}

Optional: Aktualisierte Änderungen vom projektübergreifenden Spoke ablehnen

Verwenden Sie den Befehl, um die Anfrage des projektübergreifenden Spoke zum Beitreten des NCC-Hubs abzulehnen.

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} 

Prüfen, ob der projektübergreifende Spoke dem NCC-Hub beigetreten ist

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

7. Privates NAT zwischen VPCs

Übersicht

In diesem Abschnitt konfigurieren Sie privates NAT für sich überschneidende Subnetzbereiche zwischen zwei VPCs. Hinweis: Für privates NAT zwischen VPCs ist NCC erforderlich.

Im vorherigen Abschnitt wurden VPC2 und VPC3 mit einem sich überschneidenden Subnetzbereich von „10.3.3.0/24“ konfiguriert. Beide VPCs sind als NCC-Spoke konfiguriert, damit das sich überschneidende Subnetz nicht in die NCC-Hub-Routingtabelle eingefügt wird. Das bedeutet, dass es keinen Layer 3-Datenpfad gibt, um Hosts zu erreichen, die sich in diesem Subnetz befinden.

Verwenden Sie diese Befehle im NCC-Hub-Projekt, um die sich überschneidenden Subnetzbereiche zu finden.

gcloud compute networks subnets list --network vpc2-ncc

gcloud compute networks subnets list --network vpc3-ncc

Wie lautet der Subnetzname, der den sich überschneidenden IP-Bereich in vpc2-ncc enthält?

*Notieren Sie sich den Subnetznamen und speichern Sie ihn. Sie konfigurieren die Quell-NAT für diesen Bereich.

Private NAT konfigurieren

Weisen Sie dem Quell-NAT-Traffic aus dem sich überschneidenden Subnetz von VPC2 einen routingfähigen Subnetzbereich zu. Sie konfigurieren einen nicht überlappenden Subnetzbereich mit dem Flag „–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

Dedizierten Cloud Router für privates NAT erstellen

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

Konfigurieren Sie den Cloud Router so, dass der sich überschneidende Bereich 10.3.3.0/24 aus vpc2-ncc per Source-NAT übersetzt wird. In der Beispielkonfiguration unten ist „overlapping-vpc3“ der Name des sich überschneidenden Subnetzes. Das Schlüsselwort „ALL“ gibt an, dass für alle IP-Bereiche im Subnetz Quell-NAT durchgeführt wird.

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

In den vorherigen Schritten wurde ein Pool von NAT-IP-Bereichen und das spezifische Subnetz erstellt, das übersetzt wird. Erstellen Sie in diesem Schritt die NAT-Regel 1, die Netzwerkpakete übersetzt, die mit Traffic aus dem sich überschneidenden Subnetzbereich übereinstimmen, wenn das Zielnetzwerk einen Pfad aus der NCC-Hub-Routingtabelle verwendet.

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

Datenpfad für privates NAT überprüfen

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

Beispielausgabe

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

Optional:

  • Zur Webkonsole wechseln
  • Rufen Sie „Netzwerkdienste > Cloud NAT > ncc2-nat“ auf.

Prüfen Sie, ob die dynamische Portzuweisung standardmäßig aktiviert ist.

7317d3cfb7e9468b.png

Als Nächstes überprüfen Sie den Datenpfad, der den für VPC2 konfigurierten privaten NAT-Pfad verwendet.

444d45616f1d0cae.png

Öffnen Sie eine SSH-Sitzung zu vm1-vpc1-ncc und verwenden Sie den folgenden tcpdump-Befehl, um Pakete aus dem NAT-Poolbereich 10.10.10.0/29 zu erfassen.

vm1-vpc1-ncc

sudo tcpdump -i any net 10.10.10.0/29 -n

Zum Zeitpunkt der Erstellung dieses Codelabs werden ICMP-Pakete von Private NAT nicht unterstützt. Stellen Sie eine SSH-Sitzung zu pNat-vm-vpc2 her und verwenden Sie den curl-Befehl wie unten gezeigt, um eine Verbindung zu vm1-vpc1-ncc auf Port 80 (TCP) herzustellen.

pnat-vm-vpc2

curl 10.1.1.2 -v 

Sehen Sie sich die Ausgabe von tcpdump auf vm1-vpc1-ncc an. Welche Quell-IP-Adresse hat die TCP-Sitzung zu unserem Webserver auf vm1-vpc1-ncc initiiert?

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. NCC-Unterstützung für IPv6-Subnetze

Network Connectivity Center unterstützt den Austausch von IPv6-Subnetzen und dynamischen Routen zwischen NCC-VPC-Spokes und Hybrid-Spokes. In diesem Abschnitt konfigurieren Sie NCC so, dass der Routenaustauschmodus für IPv6-Subnetze und Dual-Stack-IPv4-und-IPv6-Subnetze unterstützt wird.

57282c3276d50671.png

Erstellen Sie eine neue VPC für IPv6, die als VPC-Spoke dem NCC-Hub beitreten soll. In der GCP werden automatisch alle ULA-Adressen aus dem Bereich „fd20::/20“ zugewiesen.

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

Mit diesem Befehl konfigurieren Sie VPC5 als NCC-Spoke und schließen die IPv4-Subnetzroute aus dem Export in die Hub-Routingtabelle aus. Exportieren Sie das IPv6-ULA-Netzwerk in die NCC-Hub-Routingtabelle.

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

Aktivieren Sie VPC1 und VPC4 für private IPv6-Adressen (Unique Local Addresses, ULAs). In der GCP werden automatisch alle ULA-Adressen aus dem Bereich „fd20::/20“ zugewiesen.

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

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

Erstellen Sie ein natives IPv6- und ein Dual-Stack-IPv4_v6-Subnetz in 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

Erstellen Sie ein natives IPv6- und ein Dual-Stack-IPv4_v6-Subnetz in 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

Erstellen Sie in VPC1 eine IPv6-VPC-Firewallregel, um Traffic aus dem IPv6-ULA-Bereich zuzulassen.

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

Erstellen Sie in VPC4 eine IPv6-VPC-Firewallregel, um Traffic aus dem IPv6-ULA-Bereich zuzulassen.

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

Erstellen Sie drei GCE-IPv6-Instanzen, um die Konnektivität des Datenpfads im nächsten Abschnitt zu prüfen. Hinweis: vpc1-dualstack-vm wird als Bastion-Host verwendet, um Out-of-Band-Zugriff auf die nativen IPv6-GCE-VMs zu erhalten.

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

NCC Hub nach IPv6-Subnetzen durchsuchen

Prüfen Sie die NCC-Hub-Routentabelle auf IPv6-ULA-Subnetze.

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

In der Ausgabe des obigen Befehls sind die IPv6-Subnetze nicht aufgeführt. Standardmäßig werden IPv6-Subnetze aus VPC-Spokes NICHT in den Export in die NCC-Hub-Routingtabelle einbezogen.

Listed 0 items.

Verwenden Sie die folgenden gcloud-Befehle, um die VPC1- und VPC4-Spokes zu aktualisieren, damit IPv6-Subnetze in die NCC-Hub-Routingtabelle exportiert werden.

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

Prüfen Sie noch einmal die NCC-Hub-Routentabelle auf IPv6-ULA-Subnetze.

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

Beispielausgabe

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

IPv6-Subnetze mit NCC-VPC-Spokes filtern

NCC-Hub-Routingtabelle auf externe IPv6-Subnetzrouten prüfen

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

Beispielausgabe: Die NCC-Hub-Routentabelle hat den externen IPv6-Bereich gelernt.

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

Verwenden Sie den folgenden gcloud-Befehl, um VPC5-Spokes so zu aktualisieren, dass die beiden spezifischen internen IPv6-Subnetze und das eine externe IPv6-Subnetz nicht in die NCC-Hub-Routentabelle eingefügt werden.

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  

gcloud-Befehl zum Prüfen der Exportfilter des VPC5-Spoke verwenden

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  

NCC-Hub-Routingtabelle auf externe IPv6-Subnetzrouten prüfen

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

Beispielausgabe: Die NCC-Hub-Routentabelle hat den externen IPv6-Bereich gelernt.

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. Konnektivität des Datenpfads prüfen

IPv4-Datenpfadverbindung

Sehen Sie sich das Diagramm an und prüfen Sie den IPv4-Datenpfad zwischen den einzelnen virtuellen Maschinen.

27c61b09f2bf2d02.png

Stellen Sie eine SSH-Verbindung zu vm1-vpc1-ncc her und starten Sie TCP-Dump, um ICMP-Pakete von vm2-vpc2-ncc zu verfolgen. Zur Erinnerung: Diese VM befindet sich in VPC2.

vm1-vpc1-ncc

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

Stellen Sie eine SSH-Sitzung zu vm1-vpc2-ncc her und pingen Sie die IP-Adresse von vm1-vpc1-ncc an.

vm1-vpc2-ncc

ping 10.1.1.2

Stellen Sie eine SSH-Verbindung zu vm1-vpc2-ncc her und pingen Sie die IP-Adresse von vm1-vpc4-ncc an.

vm1-vpc2-ncc

ping 240.0.0.2

IPv6-Datenpfadverbindung

Sehen Sie sich das Diagramm an und prüfen Sie den IP64-Datenpfad zwischen den einzelnen virtuellen Maschinen.

3afe67968317a16d.png

Verwenden Sie den gcloud-Befehl, um die IP-Adresse für jede IPv6-fähige Instanz aufzulisten.

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

Beispielausgabe:

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

Stellen Sie eine SSH-Sitzung zu vpc1-dualstack-vm her und pingen Sie die IPv6-Adresse von vpc1-ipv6-vm an, um die IPv6-Konnektivität in einer globalen VPC zu prüfen.

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

Stellen Sie eine SSH-Sitzung zu vpc1-dualstack-vm her und pingen Sie die IPv6-Adresse von vpc4-ipv6-vm an, um die IPv6-Verbindung über eine NCC-Verbindung zu prüfen.

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

10. Bereinigen

Melden Sie sich in Cloud Shell an und löschen Sie VM-Instanzen in den Hub- und Branch-Netzwerken.

Private VPC-NAT-Konfigurationen löschen

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

NCC-Spokes löschen

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

Projektübergreifenden Spoke ablehnen

Lehnen Sie den projektübergreifenden VPC-Spoke im NCC-Hub ab.

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

NCC-Hub löschen

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

Firewallregeln löschen

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 

GCE-Instanzen löschen

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

VPC-Subnetze löschen

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

VPCs löschen

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

11. Glückwunsch!

Sie haben das Network Connectivity Center-Lab abgeschlossen.

Behandelte Themen

  • Vollständiges Mesh-VPC-Peering-Netzwerk mit NCC Hub konfiguriert
  • NCC-Spoke-Ausschlussfilter
  • Unterstützung von Spoke-Projekten
  • Privates NAT zwischen VPCs

Nächste Schritte

©Google LLC oder ihre verbundenen Unternehmen. Alle Rechte vorbehalten. Do not distribute.