Bei der Integration der Netzwerksicherheit wird das Producer-Consumer-Modell verwendet, um Daten zu prüfen und zu überwachen. Dabei wird die Out-of-Band-Integration mit der Paketspiegelungstechnologie verwendet, um Netzwerk-Traffic mithilfe von nutzerverwalteten virtuellen Appliances zu spiegeln.
In dieser Anleitung wird beschrieben, wie Sie Producer- und Consumer-Ressourcen erstellen und konfigurieren, um eine Out-of-Band-Integration einzurichten.
Ziele
In dieser Anleitung erfahren Sie, wie Sie die folgenden Aufgaben in einem Projekt ausführen:
- Erstellen Sie benutzerdefinierte VPC-Netzwerke (Virtual Private Cloud) mit Subnetzen für den Ersteller und den Nutzer im selben Projekt.
- Erstellen und konfigurieren Sie für den Producer Producer-Ressourcen und Ressourcen für die Spiegelungsbereitstellung. Ein Beispiel für Producer-Ressourcen ist ein interner Passthrough-Network-Load-Balancer.
- Erstellen und konfigurieren Sie für den Consumer Client- und Server-VM-Instanzen, spiegeln Sie Endpunktressourcen und Firewallrichtlinien, um den Client-Server-Traffic zu spiegeln.
- Testen Sie die Verbindung und prüfen Sie, ob Netzwerkverkehrspakete von den Consumer-VMs an die Spiegelungsressourcen des Producers gespiegelt werden.
Das folgende Diagramm zeigt den Traffic-Fluss zwischen den VPC-Netzwerken des Erstellers und des Nutzers.
Das obige Diagramm zeigt Folgendes:
- Netzwerktraffic, der über eine Spiegelungsendpunktgruppe vom Nutzernetzwerk zum Erstellernetzwerk fließt.
- Das Producer-Netzwerk enthält eine VM-Instanz, einen internen Passthrough-Network Load Balancer und eine Spiegelungsbereitstellung.
- Die Bereitstellungsgruppe für die Spiegelung des Producer-Netzwerks enthält die zonale Spiegelungsbereitstellung.
- Das Consumer-Netzwerk umfasst Client- und Server-VM-Instanzen. Firewallregeln und ‑richtlinien im Consumernetzwerk verwalten den Trafficfluss und eine Sicherheitsprofilgruppe ist der Firewallrichtlinie zugeordnet.
- Das Nutzer-Netzwerk ist mit einer Verknüpfung der Spiegelungs-Endpunktgruppe verknüpft, die das Nutzer-Netzwerk mit der Spiegelungs-Endpunktgruppe verbindet.
Hinweise
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Aktivieren Sie die Compute Engine API für Ihr Projekt.
- Aktivieren Sie die Network Security API in dem Google Cloud Projekt, das Sie für die Abrechnung verwenden möchten.
- Sie benötigen die Rolle „Compute Network Admin“ (
roles/compute.networkAdmin) auf Projektebene und die Rolle „Security Profile Admin“ (roles/networksecurity.securityProfileAdmin) auf Organisationsebene. - Wenn Sie lieber mit der Befehlszeile arbeiten möchten, installieren Sie die Google Cloud CLI. Informationen zum Konzept und zur Installation des Tools finden Sie in der gcloud-CLI-Übersicht.
Hinweis:Wenn Sie die Google Cloud CLI noch nicht ausgeführt haben, führen Sie zuerst
gcloud initaus, um Ihr gcloud CLI-Verzeichnis zu initialisieren. - Rufen Sie die ID Ihres Projekts ab. Sie benötigen sie, um Spiegelungs- und Endpunktressourcen zu erstellen. Wenn Sie die gcloud CLI verwenden, können Sie
PROJECT_IDhier oder später in den entsprechenden Befehlen ersetzen. - Rufen Sie die ID Ihrer Organisation ab. Sie benötigen sie, um Ressourcen auf Organisationsebene wie Sicherheitsprofile und Sicherheitsprofilgruppen zu erstellen. Wenn Sie die gcloud CLI verwenden, können Sie
ORG_IDhier oder später in den jeweiligen Befehlen ersetzen.
Produzentenressourcen erstellen
In diesem Abschnitt erstellen Sie die folgenden Ressourcen für den Produzenten:
- Ein benutzerdefiniertes VPC-Netzwerk mit einem Subnetz.
- Eine nicht verwaltete Instanzgruppe mit einer VM-Instanz, die eingehende GENEVE-Pakete (Generic Network Virtualization Encapsulation) protokolliert.
- Ein interner Passthrough-Network Load Balancer mit einem Backend-Dienst und einer Weiterleitungsregel.
- Eine Firewallregel, um Google Cloud Systemdiagnosen zuzulassen.
- Eine Bereitstellungsgruppe für die Spiegelung und eine Spiegelungsbereitstellung.
Ein benutzerdefiniertes VPC-Netzwerk erstellen
In diesem Abschnitt erstellen Sie ein VPC-Netzwerk mit einem Subnetz.
Console
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Klicken Sie auf VPC-Netzwerk erstellen.
Geben Sie für Name
producer-networkein.Geben Sie unter Beschreibung
Producer VPC networkein.Führen Sie im Abschnitt Subnetze folgende Schritte aus:
- Wählen Sie unter Modus für Subnetzerstellung die Option Benutzerdefiniert aus.
- Geben Sie im Bereich Neues Subnetz folgende Informationen ein:
- Name:
producer-subnet - Region:
us-west1 - IP-Stack-Typ: IPv4 (Einzel-Stack)
- IPv4-Bereich:
10.10.0.0/16
- Name:
- Klicken Sie auf Fertig.
Klicken Sie auf Erstellen.
Öffnen Sie die gcloud CLI und führen Sie den folgenden Befehl aus, um die maximale Übertragungseinheit (Maximum Transmission Unit, MTU) des Google Cloud -Konsolennetzwerks zu erhöhen.
gcloud compute networks update producer-network \ --mtu=1856Geben Sie im Befehl eine MTU von 1.856 Byte an. Das ist die Summe aus der Standard-MTU eines Google Cloud Konsolennetzwerks (1.460 Byte) und dem Aufwand für die GENEVE-Datenkapselung der Netzwerksicherheits-Integration (396 Byte).
gcloud
VPC-Netzwerk erstellen.
gcloud compute networks create producer-network \ --subnet-mode=custom \ --mtu=1856 \ --description="Producer VPC network"Geben Sie im Befehl eine MTU von 1.856 Byte an. Das ist die Summe aus der Standard-MTU eines Google Cloud -Konsolennetzwerks (1.460 Byte) und dem Aufwand für die GENEVE-Datenkapselung der Netzwerksicherheits-Integration (396 Byte).
Erstellen Sie im VPC-Netzwerk ein Subnetz.
gcloud compute networks subnets create producer-subnet \ --network=producer-network \ --region=us-west1 \ --range=10.10.0.0/16
Nicht verwaltete Instanzgruppe erstellen
In diesem Abschnitt erstellen Sie eine nicht verwaltete Instanzgruppe.
Console
Rufen Sie in der Google Cloud Console die Seite Instanzgruppen auf.
Klicken Sie auf Instanzgruppe erstellen.
Klicken Sie auf Neue nicht verwaltete Instanzgruppe.
Geben Sie für Name
producer-instance-groupein.Wählen Sie im Abschnitt Standort
us-west1für Region undus-west1-bfür Zone aus.Führen Sie im Abschnitt Netzwerk und Instanzen folgende Schritte aus:
- Wählen Sie für Netzwerk die Option
producer-networkaus. - Wählen Sie für Subnetzwerk die Option
producer-subnetaus.
- Wählen Sie für Netzwerk die Option
Klicken Sie auf Erstellen.
gcloud
gcloud compute instance-groups unmanaged create producer-instance-group \
--zone=us-west1-b
Load-Balancer-Komponenten konfigurieren
In diesem Abschnitt erstellen Sie die Komponenten für einen internen Passthrough-Network Load Balancer, einschließlich eines Backend-Dienstes und einer Weiterleitungsregel.
Console
Konfiguration starten
Rufen Sie in der Google Cloud Console die Seite Load Balancing auf.
- Klicken Sie auf Load-Balancer erstellen.
- Wählen Sie unter Typ des Load Balancers die Option Network Load Balancer (TCP/UDP/SSL) aus und klicken Sie auf Weiter.
- Wählen Sie für Proxy oder Passthrough die Option Passthrough-Load Balancer aus und klicken Sie auf Weiter.
- Wählen Sie für Öffentlich oder intern die Option Intern aus und klicken Sie auf Weiter.
- Klicken Sie auf Konfigurieren.
Grundlegende Konfiguration
Geben Sie auf der Seite Internen Passthrough-Network Load Balancer erstellen die folgenden Informationen ein:
- Name des Load-Balancers:
producer-ilb - Region:
us-west1 - Netzwerk:
producer-network
Back-Ends konfigurieren
- Klicken Sie auf Backend-Konfiguration.
- Wählen Sie für Protokoll die Option
UDPaus. - Wählen Sie in der Liste Systemdiagnose die Option Systemdiagnose erstellen aus, geben Sie die folgenden Informationen ein und klicken Sie auf Erstellen.
- Name:
producer-health-check - Bereich: Regional
- Port:
80 - Proxyprotokoll:
NONE
- Name:
- Wählen Sie im Bereich Neues Backend von Backends für IP-Stack-Typ die Option IPv4 (Single-Stack) aus.
Wählen Sie unter Instanzgruppe die Instanzgruppe
producer-instance-groupaus und klicken Sie auf Fertig.Überprüfen Sie, bevor Sie fortfahren, ob sich neben Back-End-Konfiguration ein blaues Häkchen befindet.
Frontend konfigurieren
- Geben Sie im Abschnitt Neue Frontend-IP-Adresse und neuer Frontend-Port die folgenden Informationen ein und klicken Sie auf Fertig:
- Geben Sie für Name
producer-ilb-frein. - Wählen Sie für Subnetzwerk die Option
producer-subnetaus. - Wählen Sie unter Ports die Option Einzeln aus und geben Sie unter Portnummer den Wert
6081ein. - Wählen Sie im Abschnitt Erweiterte Konfiguration unter Paketspiegelung die Option Diesen Load-Balancer für die Paketspiegelung aktivieren aus.
- Überprüfen Sie, bevor Sie fortfahren, ob sich neben der Frontend-Konfiguration ein blaues Häkchen befindet.
- Geben Sie für Name
Konfiguration prüfen
- Klicken Sie auf Prüfen und abschließen.
- Prüfen Sie die Konfigurationseinstellungen des Load-Balancers.
- Klicken Sie auf Erstellen.
gcloud
Regionale Systemdiagnose erstellen.
gcloud compute health-checks create tcp producer-health-check \ --region=us-west1 \ --port=80Erstellen Sie den Back-End-Dienst.
gcloud compute backend-services create producer-backend-service \ --protocol=UDP \ --region=us-west1 \ --health-checks=producer-health-check \ --health-checks-region=us-west1 \ --load-balancing-scheme=INTERNALErstellen Sie eine Weiterleitungsregel für den Back-End-Dienst.
gcloud compute forwarding-rules create producer-ilb-fr \ --backend-service=producer-backend-service \ --region=us-west1 \ --network=producer-network \ --subnet=producer-subnet \ --ip-protocol=UDP \ --load-balancing-scheme=INTERNAL \ --is-mirroring-collector \ --ports=6081
VM-Instanz erstellen und der Instanzgruppe hinzufügen
In diesem Abschnitt erstellen Sie eine VM-Instanz mit einem Startskript, das einen Protokollierungsserver für GENEVE-gekapselte Pakete einrichtet. Bevor Sie die VM-Instanz erstellen, rufen Sie die IP-Adresse des Gateways des Subnetzes ab. Sie benötigen die IP-Adresse für das Startskript.
Console
IP-Adresse des Subnetz-Gateways abrufen
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Klicken Sie auf das VPC-Netzwerk
producer-network.Klicken Sie auf den Tab Subnetze.
Notieren Sie sich im Abschnitt Subnetze die Gateway-IP-Adresse aus der Spalte Gateway.
VM-Instanz erstellen
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:
- Klicken Sie auf Instanz erstellen.
- Geben Sie für Name
producer-instanceein. - Wählen Sie bei Region die Option
us-west1aus. - Wählen Sie bei Zone die Option
us-west1-baus. - Legen Sie Maschinentyp auf e2-micro fest.
- Klicken Sie auf Netzwerk und dann im Bereich Netzwerkschnittstellen auf Netzwerkschnittstelle hinzufügen und legen Sie Folgendes fest:
- Netzwerk:
producer-network - Subnetz:
producer-subnet - Externe IPv4-Adresse: Keine
- Netzwerk:
Klicken Sie auf Erweitert und geben Sie das folgende Skript in Startskript ein:
#!/bin/bash # Log incoming packets from the gateway IP and the GENEVE 6081 port. iptables -A INPUT -p udp -s '"$GW_IP"'/32 --dport 6081 -j LOG --log-prefix "[NSI MIRRORING] " # Spin up a simple server for health checks on port 80. nohup python3 -u -m http.server 80 &
Ersetzen Sie Folgendes:
GW_IP: die IP-Adresse des Subnetz-Gateways.
Klicken Sie auf Erstellen.
VM-Instanz der Instanzgruppe hinzufügen
Rufen Sie in der Google Cloud Console die Seite Instanzgruppen auf.
Klicken Sie auf
producer-instance-group.Klicken Sie auf Bearbeiten.
Wählen Sie im Abschnitt VM-Instanzen in der Liste VMs auswählen die
producer-instance-VM aus.Klicken Sie auf Speichern.
gcloud
Rufen Sie die IP-Adresse des Gateways des Subnetzes ab.
GW_IP=$(gcloud compute networks subnets describe producer-subnet \ --region=us-west1 \ --format="get(gatewayAddress)")Erstellen Sie eine VM-Instanz.
gcloud compute instances create producer-instance \ --image-project=debian-cloud \ --image-family=debian-11 \ --machine-type=e2-micro \ --zone=us-west1-b \ --network-interface="subnet=producer-subnet,no-address" \ --metadata=startup-script='#!/bin/bash # Log incoming packets from the gateway IP and the GENEVE 6081 port. iptables -A INPUT -p udp -s '"$GW_IP"'/32 --dport 6081 -j LOG --log-prefix "[NSI MIRRORING] " # Spin up a simple server for health checks on port 80. nohup python3 -u -m http.server 80 &'Fügen Sie der Instanzgruppe die VM-Instanz hinzu.
gcloud compute instance-groups unmanaged add-instances producer-instance-group \ --instances=producer-instance \ --zone=us-west1-bFügen Sie die Instanzgruppe dem Backend-Dienst hinzu:
gcloud compute backend-services add-backend producer-backend-service \ --region=us-west1 \ --instance-group=producer-instance-group \ --instance-group-zone=us-west1-b
Firewallrichtlinie erstellen und Firewallregeln hinzufügen
In diesem Abschnitt erstellen Sie eine Firewallrichtlinie und fügen Firewallregeln hinzu, um UDP-Traffic, Google Cloud Systemdiagnosen und SSH-Verbindungen zur Producer-VM-Instanz über Identity-Aware Proxy (IAP) zuzulassen.
Console
Rufen Sie in der Google Cloud Console die Seite Firewallrichtlinien auf.
Klicken Sie auf Firewallrichtlinie erstellen.
Geben Sie im Feld Name
producer-firewall-policyein.Wählen Sie unter Bereitstellungsbereich die Option Global aus und klicken Sie auf Weiter.
Erstellen Sie die folgenden Regeln für Ihre Richtlinie.
UDP-Traffic mit GENEVE-Port von der IP-Adresse des VPC-Gateways zulassen
- Klicken Sie auf Firewallregel erstellen und konfigurieren Sie die folgenden Felder:
- Priorität:
100 - Trafficrichtung: Eingehend
- Aktion bei Übereinstimmung: Zulassen
- Quellfilter > IP-Bereiche:
GATEWAY_IP - Protokoll und Ports: Wählen Sie Angegebene Protokolle und Ports aus, klicken Sie das Kästchen UDP an und geben Sie
6081in Ports ein.
- Priorität:
- Klicken Sie auf Erstellen.
Ersetzen Sie
GATEWAY_IPdurch die IP-Adresse des Subnetz-Gateways.Systemdiagnosen Google Cloud zulassen
Klicken Sie auf Firewallregel erstellen und konfigurieren Sie die folgenden Felder:
- Priorität:
101 - Trafficrichtung: Eingehend
- Aktion bei Übereinstimmung: Zulassen
- IP-Bereiche:
35.191.0.0/16und130.211.0.0/22 - Protokolle und Ports: Wählen Sie Angegebene Protokolle und Ports aus, klicken Sie das Kästchen TCP an und geben Sie
80in Ports ein.
- Priorität:
Klicken Sie auf Erstellen.
SSH-Verbindung zur Producer-VM-Instanz über Identity-Aware Proxy zulassen
- Klicken Sie auf Firewallregel erstellen und konfigurieren Sie die folgenden Felder:
- Priorität:
102 - Trafficrichtung: Eingehend
- Aktion bei Übereinstimmung: Zulassen
- IP-Bereiche:
35.235.240.0/20 - Protokolle und Ports: Wählen Sie Angegebene Protokolle und Ports aus, klicken Sie das Kästchen TCP an und geben Sie
22in Ports ein.
- Priorität:
- Klicken Sie auf Erstellen.
- Klicken Sie auf Firewallregel erstellen und konfigurieren Sie die folgenden Felder:
Wenn Sie die Richtlinie mit einem Netzwerk verknüpfen möchten, klicken Sie auf Weiter und dann auf Verknüpfen.
Aktivieren Sie das Kästchen
producer-network.Klicken Sie auf Weiter.
Klicken Sie auf Erstellen.
gcloud
Globale Netzwerk-Firewallrichtlinie erstellen
gcloud compute network-firewall-policies create producer-firewall-policy \ --globalVerknüpfen Sie die Firewallrichtlinie mit dem Erstellernetzwerk.
gcloud compute network-firewall-policies associations create \ --name=producer-firewall-policy-assoc \ --firewall-policy=producer-firewall-policy \ --global-firewall-policy \ --network=producer-networkErstellen Sie eine Firewallregel, um eine UDP-Verbindung mit dem GENEVE-Port von der VPC-Gateway-IP-Adresse aus zuzulassen.
gcloud compute network-firewall-policies rules create 100 \ --firewall-policy=producer-firewall-policy \ --global-firewall-policy \ --action=allow \ --direction=INGRESS \ --layer4-configs=udp:6081 \ --src-ip-ranges=$GW_IP/32Erstellen Sie eine Firewallregel, um Google Cloud -Systemdiagnosen zuzulassen.
gcloud compute network-firewall-policies rules create 101 \ --firewall-policy=producer-firewall-policy \ --global-firewall-policy \ --action=allow \ --direction=INGRESS \ --layer4-configs=tcp:80 \ --src-ip-ranges=35.191.0.0/16,130.211.0.0/22 # Google Cloud health check rangesErstellen Sie eine Firewallregel, um eine SSH-Verbindung zur Producer-VM-Instanz über Identity-Aware Proxy zuzulassen.
gcloud compute network-firewall-policies rules create 102 \ --firewall-policy=producer-firewall-policy \ --global-firewall-policy \ --action=allow \ --direction=INGRESS \ --layer4-configs=tcp:22 \ --src-ip-ranges=35.235.240.0/20 # Google Cloud IAP range
Ressourcen für die Spiegelung von Produzenten erstellen
In diesem Abschnitt erstellen Sie eine Bereitstellungsgruppe für die Spiegelung und eine Spiegelungsbereitstellung.
Console
Rufen Sie in der Google Cloud -Console die Seite Bereitstellungsgruppen auf.
Klicken Sie auf Deployment-Gruppe erstellen.
Geben Sie für Name
producer-deployment-groupein.Wählen Sie für Netzwerk die Option
producer-networkaus.Wählen Sie als Zweck die Option NSI-Out-of-Band aus.
Klicken Sie im Abschnitt Spiegelungsbereitstellungen auf Spiegelungsbereitstellung erstellen, geben Sie die folgenden Felder an und klicken Sie dann auf Erstellen:
- Name:
producer-deployment. - Region:
us-west1. - Zone:
us-west1-b. - Interner Load-Balancer:
producer-ilb.
- Name:
Klicken Sie auf Erstellen.
gcloud
Erstellen Sie eine Spiegelungsbereitstellungsgruppe.
gcloud network-security mirroring-deployment-groups create producer-deployment-group \ --location=global \ --network=projects/PROJECT_ID/global/networks/producer-network \ --no-asyncErsetzen Sie
PROJECT_IDdurch die ID Ihres Projekts.Erstellen Sie eine Spiegelungsbereitstellung.
gcloud network-security mirroring-deployments create producer-deployment \ --location=us-west1-b \ --forwarding-rule=producer-ilb-fr \ --forwarding-rule-location=us-west1 \ --mirroring-deployment-group=projects/PROJECT_ID/locations/global/mirroringDeploymentGroups/producer-deployment-group \ --no-async
Nutzerressourcen erstellen
In diesem Abschnitt erstellen Sie die folgenden Ressourcen für den Nutzer:
- Ein benutzerdefiniertes VPC-Netzwerk mit einem Subnetz
- Eine Server- und eine Client-VM
- Eine Firewallrichtlinie und eine Regel zum Spiegeln von Traffic
- Eine Endpunktgruppe für die Spiegelung und eine Verknüpfung der Endpunktgruppe für die Spiegelung
- Ein Sicherheitsprofil und eine Sicherheitsprofilgruppe
Ein benutzerdefiniertes VPC-Netzwerk erstellen
In diesem Abschnitt erstellen Sie ein VPC-Netzwerk mit einem Subnetz.
Console
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Klicken Sie auf VPC-Netzwerk erstellen.
Geben Sie für Name
consumer-networkein.Geben Sie unter Beschreibung
Consumer VPC networkein.Führen Sie im Abschnitt Subnetze folgende Schritte aus:
- Wählen Sie unter Modus für Subnetzerstellung die Option Benutzerdefiniert aus.
- Geben Sie im Bereich Neues Subnetz folgende Informationen ein:
- Name:
consumer-subnet - Region:
us-west1 - IP-Stack-Typ: IPv4 (Einzel-Stack)
- IPv4-Bereich:
10.11.0.0/16
- Name:
- Klicken Sie auf Fertig.
Klicken Sie auf Erstellen.
gcloud
Nutzer-VPC-Netzwerk erstellen.
gcloud compute networks create consumer-network \ --subnet-mode=custom \ --description="Consumer VPC network"Erstellen Sie im VPC-Netzwerk ein Subnetz.
gcloud compute networks subnets create consumer-subnet \ --network=consumer-network \ --region=us-west1 \ --range=10.11.0.0/16
Server- und Client-VMs erstellen
In diesem Abschnitt erstellen Sie einen Server und eine Client-VM.
Console
Server-VM erstellen
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:
Klicken Sie auf Instanz erstellen.
Legen Sie als Name
consumer-server-vmfest.Legen Sie Region auf
us-west1fest.Legen Sie für Zone den Wert
us-west1-bfest.Legen Sie Maschinentyp auf e2-micro fest.
Klicken Sie auf Netzwerk und dann im Bereich Netzwerkschnittstellen auf Netzwerkschnittstelle hinzufügen. Legen Sie Folgendes fest:
- Netzwerk:
consumer-network - Subnetz:
consumer-subnet - Externe IPv4-Adresse: Keine
- Netzwerk:
Klicken Sie auf Erweitert und geben Sie das folgende Skript in Startskript ein:
echo success > /tmp/connection_test && nohup python3 -u -m http.server --directory /tmp 8000 &
Klicken Sie auf Erstellen.
Client-VM erstellen
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:
Klicken Sie auf Instanz erstellen.
Legen Sie als Name
consumer-client-vmfest.Legen Sie Region auf
us-west1fest.Legen Sie für Zone den Wert
us-west1-bfest.Legen Sie Maschinentyp auf e2-micro fest.
Klicken Sie auf Netzwerk und dann im Bereich Netzwerkschnittstellen auf Netzwerkschnittstelle hinzufügen. Legen Sie Folgendes fest:
- Netzwerk:
consumer-network - Subnetz:
consumer-subnet - Externe IPv4-Adresse: Keine
- Netzwerk:
Klicken Sie auf Erstellen.
gcloud
die Server-VM erstellen
gcloud compute instances create consumer-server-vm \ --image-project=debian-cloud \ --image-family=debian-11 \ --machine-type=e2-micro \ --zone=us-west1-b \ --network-interface="subnet=consumer-subnet,no-address" \ --metadata=startup-script="echo success > /tmp/connection_test && nohup python3 -u -m http.server --directory /tmp 8000 &"die Client-VM erstellen
gcloud compute instances create consumer-client-vm \ --image-project=debian-cloud \ --image-family=debian-11 \ --machine-type=e2-micro \ --zone=us-west1-b \ --network-interface="subnet=consumer-subnet,no-address"
Firewallrichtlinie erstellen, um eingehenden Traffic zuzulassen
In diesem Abschnitt erstellen Sie eine Firewallrichtlinie und fügen eine Firewallregel hinzu, um eingehenden Traffic zu den Consumer-VMs zuzulassen.
Console
Rufen Sie in der Google Cloud Console die Seite Firewallrichtlinien auf.
Klicken Sie auf Firewallrichtlinie erstellen.
Geben Sie im Feld Name
consumer-firewall-policyein.Wählen Sie unter Bereitstellungsbereich die Option Global aus und klicken Sie auf Weiter.
Klicken Sie auf Firewallregel erstellen, konfigurieren Sie die folgenden Felder und klicken Sie auf Erstellen:
- Priorität:
101 - Trafficrichtung: Eingehend
- Aktion bei Übereinstimmung: Zulassen
- Quellfilter > IP-Bereiche:
35.235.240.0/20 - Protokolle und Ports: Wählen Sie Angegebene Protokolle und Ports aus, klicken Sie das Kästchen TCP an und geben Sie
22in Ports ein.
Der IPv4-Bereich
35.235.240.0/20enthält alle IP-Adressen, die Identity-Aware Proxy für die TCP-Weiterleitung verwendet. Weitere Informationen finden Sie unter Projekt für die IAP-TCP-Weiterleitung vorbereiten.- Priorität:
Wenn Sie Traffic auf dem TCP-Port
8000zur Server-VM zulassen möchten, klicken Sie auf Firewallregel erstellen und konfigurieren Sie die folgenden Felder:- Priorität:
102 - Trafficrichtung: Eingehend
- Aktion bei Übereinstimmung: Zulassen
- Quellfilter > IP-Bereiche:
10.11.0.0/16 - Protokolle und Ports: Wählen Sie Angegebene Protokolle und Ports aus, klicken Sie das Kästchen TCP an und geben Sie
8000in Ports ein. - Klicken Sie auf Erstellen.
- Priorität:
Wenn Sie die Richtlinie mit einem Netzwerk verknüpfen möchten, klicken Sie auf Weiter und dann auf Verknüpfen.
Aktivieren Sie das Kästchen
consumer-network.Klicken Sie auf Weiter.
Klicken Sie auf Erstellen.
gcloud
Globale Netzwerk-Firewallrichtlinie erstellen
gcloud compute network-firewall-policies create consumer-firewall-policy \ --globalVerknüpfen Sie die Firewallrichtlinie mit dem Nutzer-VPC-Netzwerk.
gcloud compute network-firewall-policies associations create \ --name=consumer-firewall-policy-assoc \ --firewall-policy=consumer-firewall-policy \ --global-firewall-policy \ --network=consumer-networkErstellen Sie eine SSH-Zulassungsregel, um SSH-Verbindungen zur Client-VM-Instanz über Identity-Aware Proxy zu ermöglichen.
gcloud compute network-firewall-policies rules create 101 \ --firewall-policy=consumer-firewall-policy \ --global-firewall-policy \ --action=allow \ --direction=INGRESS \ --layer4-configs=tcp:22 \ --src-ip-ranges=35.235.240.0/20 # Google Cloud IAP rangeDer IPv4-Bereich
35.235.240.0/20enthält alle IP-Adressen, die IAP für die TCP-Weiterleitung verwendet. Weitere Informationen finden Sie unter Projekt für die IAP-TCP-Weiterleitung vorbereiten.Erstellen Sie eine Firewallregel, die Traffic über den TCP-Port
8000zur Server-VM zulässt.gcloud compute network-firewall-policies rules create 102 \ --firewall-policy=consumer-firewall-policy \ --global-firewall-policy \ --action=allow \ --direction=INGRESS \ --layer4-configs=tcp:8000 \ --src-ip-ranges=10.11.0.0/16
Nutzerendpunktgruppe erstellen
In diesem Abschnitt erstellen Sie eine Endpunktgruppe für die Spiegelung und eine Endpunktgruppen-Verknüpfung für die Spiegelung.
Console
Rufen Sie in der Google Cloud Console die Seite Endpunktgruppen auf.
Klicken Sie auf Endpunktgruppe erstellen.
Geben Sie für Name
consumer-endpoint-groupein.Wählen Sie als Zweck die Option NSI-Out-of-Band aus.
Wählen Sie unter Bereitstellungsgruppe die Option Im Projekt aus.
Geben Sie für Name der Bereitstellungsgruppe
producer-deployment-groupein.Klicken Sie auf Weiter.
Klicken Sie auf Endpunktgruppen-Verknüpfung hinzufügen.
Wählen Sie unter Projekt Ihr aktuelles Projekt aus.
Wählen Sie für Netzwerk die Option
consumer-networkaus.Klicken Sie auf Erstellen.
gcloud
Erstellen Sie die Endpunktgruppe für die Spiegelung.
gcloud network-security mirroring-endpoint-groups create consumer-endpoint-group \ --location=global \ --mirroring-deployment-group=projects/PROJECT_ID/locations/global/mirroringDeploymentGroups/producer-deployment-group \ --no-asyncErsetzen Sie
PROJECT_IDdurch die ID Ihres Projekts.Erstellen Sie die Verknüpfung der Spiegelungs-Endpunktgruppe.
gcloud network-security mirroring-endpoint-group-associations create consumer-endpoint-group-association \ --location=global \ --mirroring-endpoint-group=projects/PROJECT_ID/locations/global/mirroringEndpointGroups/consumer-endpoint-group \ --network=consumer-network \ --no-async
Sicherheitsprofil und Sicherheitsprofilgruppe erstellen
Erstellen Sie eine Sicherheitsprofilgruppe und ein benutzerdefiniertes Sicherheitsprofil, um Traffic zu spiegeln.
Console
Benutzerdefiniertes Sicherheitsprofil erstellen
Rufen Sie in der Google Cloud Console die Seite Sicherheitsprofile auf.
Wählen Sie in der Projektauswahl Ihre Organisation aus.
Klicken Sie auf dem Tab Sicherheitsprofile auf Profil erstellen.
Geben Sie für Name
consumer-security-profileein.Wählen Sie als Zweck die Option NSI-Out-of-Band aus.
Wählen Sie unter Projekt Ihr aktuelles Projekt aus.
Wählen Sie für Endpunktgruppe die Option
consumer-endpoint-groupaus.Klicken Sie auf Erstellen.
Sicherheitsprofilgruppe erstellen
Rufen Sie in der Google Cloud Console die Seite Sicherheitsprofilgruppen auf.
Wählen Sie in der Projektauswahl Ihre Organisation aus.
Klicken Sie auf dem Tab Sicherheitsprofilgruppen auf Profilgruppe erstellen.
Geben Sie für Name
consumer-security-profile-groupein.Wählen Sie als Zweck die Option NSI-Out-of-Band aus.
Wählen Sie für Benutzerdefiniertes Spiegelungsprofil die Option
consumer-security-profileaus.Klicken Sie auf Erstellen.
gcloud
Erstellen Sie ein benutzerdefiniertes Sicherheitsprofil für die Spiegelung.
gcloud network-security security-profiles custom-mirroring create consumer-security-profile \ --location=global \ --organization=ORG_ID \ --mirroring-endpoint-group=projects/PROJECT_ID/locations/global/mirroringEndpointGroups/consumer-endpoint-group \ --billing-project=PROJECT_ID \ --no-asyncErsetzen Sie Folgendes:
ORG_ID: ID Ihrer Organisation. Sicherheitsprofile sind Ressourcen auf Organisationsebene. Zum Erstellen von Sicherheitsprofilen benötigen Sie die Rolle „Security Profile Admin“ (networksecurity.securityProfileAdmin) auf Organisationsebene.PROJECT_ID: die Projekt-ID.
Erstellen Sie eine Spiegelungs-Sicherheitsprofilgruppe.
gcloud network-security security-profile-groups create consumer-security-profile-group \ --location=global \ --organization=ORG_ID \ --custom-mirroring-profile=organizations/ORG_ID/locations/global/securityProfiles/consumer-security-profile \ --billing-project=PROJECT_ID \ --no-asyncErsetzen Sie Folgendes:
ORG_ID: ID Ihrer Organisation. Sicherheitsprofilgruppen sind Ressourcen auf Organisationsebene. Zum Erstellen von Sicherheitsprofilen benötigen Sie die Rolle „Sicherheitsprofil-Administrator“ (networksecurity.securityProfileAdmin) auf Organisationsebene.PROJECT_ID: die Projekt-ID.
Firewallrichtlinien-Regel zum Spiegeln von Traffic erstellen
In diesem Abschnitt erstellen Sie eine Spiegelungsregel, um Traffic zu spiegeln.
Console
Rufen Sie in der Google Cloud Console die Seite Firewallrichtlinien auf.
Klicken Sie auf
consumer-firewall-policy.Klicken Sie auf den Tab Spiegelungsregeln.
Klicken Sie auf Spiegelungsregel erstellen und konfigurieren Sie die folgenden Felder:
- Priorität:
100 - Trafficrichtung: Eingehend
- Aktion bei Übereinstimmung: Spiegeln
- Sicherheitsprofilgruppe:
consumer-security-profile-group - Quelle: IPv4
- IP-Bereiche:
10.11.0.0/16 - Protokoll und Ports: Wählen Sie Angegebene Protokolle und Ports aus, klicken Sie das Kästchen TCP an und geben Sie
8000in Ports ein.
- Priorität:
Klicken Sie auf Erstellen.
gcloud
Fügen Sie eine Firewallregel hinzu, um Traffic am TCP-Port
8000auf der Server-VM zu spiegeln.gcloud compute network-firewall-policies mirroring-rules create 100 \ --firewall-policy=consumer-firewall-policy \ --global-firewall-policy \ --action=mirror \ --security-profile-group=organizations/ORG_ID/locations/global/securityProfileGroups/consumer-security-profile-group \ --direction=INGRESS \ --layer4-configs=tcp:8000 \ --src-ip-ranges=10.11.0.0/16Ersetzen Sie
ORG_IDdurch die ID Ihrer Organisation.
Verbindung testen
In diesem Abschnitt senden Sie etwas Netzwerk-Traffic von der Client-VM-Instanz des Nutzers an die Server-VM-Instanz des Nutzers und prüfen dann die Logs der Ersteller-VM-Instanz, um die Spiegelung zu bestätigen.
Führen Sie den folgenden Befehl aus, um über SSH eine Verbindung zur Client-VM-Instanz des Nutzers herzustellen und eine Anfrage an die Server-VM-Instanz des Nutzers zu senden.
gcloud compute ssh consumer-client-vm \ --tunnel-through-iap \ --zone=us-west1-b \ --command="curl -m 3 -s http://consumer-server-vm:8000/connection_test || echo fail"Wenn Sie den vorherigen Befehl ausführen, wird die Meldung
successangezeigt. Sie gibt an, dass Traffic vom Client an den Server gesendet wird.Führen Sie den folgenden Befehl aus, um die Logs der Ersteller-VM-Instanz zu prüfen.
gcloud compute ssh producer-instance \ --tunnel-through-iap \ --zone=us-west1-b \ --command="cat /var/log/syslog | grep 'NSI MIRRORING'"Es wird eine Meldung ähnlich der folgenden angezeigt:
[NSI MIRRORING] IN=ens4 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=10.10.0.1 DST=10.10.0.2 LEN=136 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=45554 DPT=6081 LEN=116. Dies gibt an, dass der Client-Server-Traffic von der Ersteller-VM-Instanz gespiegelt wird.
Bereinigen
Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.
Nutzerressourcen löschen
Trennen Sie die Firewallrichtlinie vom Consumer-Netzwerk und löschen Sie die Firewallrichtlinie.
Console
Rufen Sie in der Google Cloud Console die Seite Firewallrichtlinien auf.
Klicken Sie auf die Richtlinie
consumer-firewall-policy.Klicken Sie auf den Tab Verknüpfungen.
Klicken Sie auf das Kästchen für die
consumer-network-Verknüpfung.Klicken Sie auf Verknüpfung entfernen.
Klicken Sie auf Entfernen.
Klicken Sie oben auf der Seite auf Löschen.
Klicken Sie zum Bestätigen noch einmal auf Löschen.
gcloud
Entfernen Sie die Verknüpfung.
gcloud compute network-firewall-policies associations delete \ --name=consumer-firewall-policy-assoc \ --firewall-policy=consumer-firewall-policy \ --global-firewall-policyLöschen Sie die Firewallrichtlinie.
gcloud compute network-firewall-policies delete consumer-firewall-policy \ --global
Löschen Sie die Sicherheitsprofilgruppe.
Console
Rufen Sie in der Google Cloud Console die Seite Sicherheitsprofile auf.
Wählen Sie in der Projektauswahl Ihre Organisation aus.
Wählen Sie auf dem Tab Sicherheitsprofilgruppen die Sicherheitsprofilgruppe
consumer-security-profile-groupaus und klicken Sie auf Löschen.Klicken Sie zum Bestätigen noch einmal auf Löschen.
gcloud
gcloud network-security security-profile-groups delete consumer-security-profile-group \ --location=global \ --organization=ORG_ID \ --billing-project=PROJECT_ID \ --quietErsetzen Sie Folgendes:
ORG_ID: Ihre Organisations-ID.PROJECT_ID: Ihre Projekt-ID.
Löschen Sie das Sicherheitsprofil.
Console
Rufen Sie in der Google Cloud Console die Seite Sicherheitsprofile auf.
Wählen Sie in der Projektauswahl Ihre Organisation aus.
Wählen Sie auf dem Tab Sicherheitsprofile das Sicherheitsprofil
consumer-security-profileaus und klicken Sie auf Löschen.Klicken Sie zum Bestätigen noch einmal auf Löschen.
gcloud
gcloud network-security security-profiles custom-mirroring delete consumer-security-profile \ --location=global \ --organization=ORG_ID \ --billing-project=PROJECT_ID \ --quietLöschen Sie die Verknüpfung der Endpunktgruppe für Spiegelungen.
Console
Rufen Sie in der Google Cloud Console die Seite Endpunktgruppen auf.
Klicken Sie auf
consumer-endpoint-group.Wählen Sie die Verknüpfung
consumer-networkaus und klicken Sie auf Löschen.Klicken Sie zum Bestätigen noch einmal auf Löschen.
gcloud
gcloud network-security mirroring-endpoint-group-associations delete consumer-endpoint-group-association \ --location=global \ --no-asyncLöschen Sie die Endpunktgruppe für Spiegelungen.
Console
Rufen Sie in der Google Cloud Console die Seite Endpunktgruppen auf.
Wählen Sie
consumer-endpoint-groupaus und klicken Sie auf Löschen.Klicken Sie zum Bestätigen noch einmal auf Löschen.
gcloud
gcloud network-security mirroring-endpoint-groups delete consumer-endpoint-group \ --location=global \ --no-asyncLöschen Sie die Server- und Client-VMs.
Console
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:
Markieren Sie die Kästchen für
consumer-client-vmundconsumer-server-vmund klicken Sie auf Löschen.Klicken Sie zum Bestätigen noch einmal auf Löschen.
gcloud
Löschen Sie die Client-VM.
gcloud compute instances delete consumer-client-vm \ --zone=us-west1-b \ --quietLöschen Sie die Server-VM.
gcloud compute instances delete consumer-server-vm \ --zone=us-west1-b \ --quiet
Löschen Sie das Nutzernetzwerk und das Subnetz.
Console
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Klicken Sie auf
consumer-network.Markieren Sie auf dem Tab Subnetze das Kästchen
consumer-subnetund klicken Sie auf Löschen.Klicken Sie zum Bestätigen noch einmal auf Löschen.
Klicken Sie auf VPC-Netzwerk löschen.
Geben Sie im Textfeld
consumer-networkein und klicken Sie auf Löschen.
gcloud
Löschen Sie das Subnetz.
gcloud compute networks subnets delete consumer-subnet \ --region=us-west1 \ --quietLöschen Sie das VPC-Netzwerk.
gcloud compute networks delete consumer-network \ --quiet
Produzentenressourcen löschen
Heben Sie die Verknüpfung der Firewallrichtlinie mit dem Produktionsnetzwerk auf und löschen Sie die Firewallrichtlinie.
Console
Rufen Sie in der Google Cloud Console die Seite Firewallrichtlinien auf.
Klicken Sie auf die Richtlinie
producer-firewall-policy.Klicken Sie auf den Tab Verknüpfungen.
Klicken Sie auf das Kästchen für die
producer-network-Verknüpfung.Klicken Sie auf Verknüpfung entfernen.
Klicken Sie auf Entfernen.
Klicken Sie auf Löschen.
Klicken Sie zur Bestätigung noch einmal auf Löschen.
gcloud
Entfernen Sie die Verknüpfung.
gcloud compute network-firewall-policies associations delete \ --name=producer-firewall-policy-assoc \ --firewall-policy=producer-firewall-policy \ --global-firewall-policyLöschen Sie die Firewallrichtlinie.
gcloud compute network-firewall-policies delete producer-firewall-policy \ --global
Löschen Sie die Bereitstellung für die Spiegelung und die Bereitstellungsgruppe für die Spiegelung.
Console
Rufen Sie in der Google Cloud -Console die Seite Bereitstellungsgruppen auf.
Klicken Sie auf
producer-deployment-group.producer-deploymentlöschen.- Markieren Sie das Kästchen
producer-deploymentund klicken Sie auf Löschen. - Klicken Sie zum Bestätigen noch einmal auf Löschen.
- Markieren Sie das Kästchen
Klicken Sie auf Löschen.
Klicken Sie zum Bestätigen noch einmal auf Löschen.
gcloud
Löschen Sie das Spiegelungs-Deployment.
gcloud network-security mirroring-deployments delete producer-deployment \ --location=us-west1-b \ --no-asyncLöschen Sie die Bereitstellungsgruppe für die Spiegelung.
gcloud network-security mirroring-deployment-groups delete producer-deployment-group \ --location=global \ --no-async
Löschen Sie die Load-Balancer-Ressourcen.
Console
Rufen Sie in der Google Cloud Console die Seite Load Balancing auf.
Aktivieren Sie das Kästchen
producer-ilb.Klicken Sie oben auf der Seite auf Löschen.
Wählen Sie das Kästchen
producer-health-checkaus und klicken Sie auf Load-Balancer und ausgewählte Ressourcen löschen.
gcloud
Löschen Sie die Weiterleitungsregel.
gcloud compute forwarding-rules delete producer-ilb-fr \ --region=us-west1 \ --quietEntfernen Sie den Backend-Dienst.
gcloud compute backend-services delete producer-backend-service \ --region=us-west1 \ --quietLöschen Sie die Systemdiagnose.
gcloud compute health-checks delete producer-health-check \ --region=us-west1 \ --quiet
Löschen Sie die Producer-VM-Instanz.
Console
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Markieren Sie das Kästchen
producer-instanceund klicken Sie auf Löschen.Klicken Sie zum Bestätigen noch einmal auf Löschen.
gcloud
gcloud compute instances delete producer-instance \ --zone=us-west1-b \ --quietLöschen Sie die Instanzgruppe.
Console
Rufen Sie in der Google Cloud Console die Seite Instanzgruppen auf.
Aktivieren Sie das Kästchen
producer-instance-group.Klicken Sie auf Löschen.
Klicken Sie im Bestätigungsfenster auf Löschen.
gcloud
gcloud compute instance-groups unmanaged delete producer-instance-group \ --zone=us-west1-b \ --quietLöschen Sie das Produzentennetzwerk und das Subnetz.
Console
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Klicken Sie auf
producer-network.Markieren Sie auf dem Tab Subnetze das Kästchen
producer-subnetund klicken Sie auf Löschen.Klicken Sie zum Bestätigen noch einmal auf Löschen.
Klicken Sie auf VPC-Netzwerk löschen.
Geben Sie im Textfeld
producer-networkein und klicken Sie auf Löschen.
gcloud
Löschen Sie das Subnetz.
gcloud compute networks subnets delete producer-subnet \ --region=us-west1 \ --quietLöschen Sie das Netzwerk.
gcloud compute networks delete producer-network \ --quiet
Nächste Schritte
- Bereitstellungsgruppen für Spiegelung – Übersicht
- Übersicht über Spiegelungsbereitstellungen
- Übersicht über Spiegelungs-Endpunktgruppen
- Sicherheitsprofile
- Sicherheitsprofilgruppen
- Referenzarchitekturen, Diagramme und Best Practices zu Google Cloud kennenlernen. Weitere Informationen zu Cloud Architecture Center