Protokollweiterleitung einrichten

Dieses Dokument enthält eine Anleitung zum Konfigurieren der Protokollweiterleitung für die interne und externe Protokollweiterleitung. Bevor Sie die Protokollweiterleitung konfigurieren, lesen Sie die Übersicht über die Protokollweiterleitung.

Externe Protokollweiterleitung einrichten

In diesem Abschnitt erfahren Sie, wie Sie die externe Protokollweiterleitung mit einer Weiterleitungsregel einrichten, um TCP-Traffic an eine einzelne Zielinstanz weiterzuleiten. Für reinen IPv4-, Dual-Stack- und reinen IPv6-Traffic gibt es eine separate Anleitung.

Zum Einrichten der externen Protokollweiterleitung erstellen Sie eine Zielinstanz, die eine einzelne VM-Instanz enthält. Anschließend erstellen Sie eine externe regionale Weiterleitungsregel, die Traffic an die Zielinstanz weiterleitet.

Nur IPv4

Zur Vereinfachung werden in diesem Beispiel das Standardnetzwerk und die Subnetze verwendet.

  1. Erstellen Sie eine Firewallregel, die externen Traffic zur Zielinstanz zulässt.

    gcloud compute firewall-rules create ALLOW_IPV4_FIREWALL_RULE_NAME \
        --target-tags=allow-ipv4-ext \
        --allow=tcp:80 \
        --source-ranges=0.0.0.0/0
    
  2. Erstellen Sie eine VM. In diesem Beispiel richten Sie einen Apache-Server auf der VM ein.

    gcloud compute instances create VM_INSTANCE_NAME \
        --zone=ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ipv4-ext \
        --metadata=startup-script='#! /bin/bash
        sudo apt-get update
        sudo apt-get install apache2 -y
        sudo a2ensite default-ssl
        sudo a2enmod ssl
        vm_hostname="$(curl -H "Metadata-Flavor:Google" \
        http://169.254.169.254/computeMetadata/v1/instance/name)"
        echo "Page served from: $vm_hostname" | \
        tee /var/www/html/index.html
        sudo systemctl restart apache2'
    
  3. Erstellen Sie eine Zielinstanz, die die im vorherigen Schritt erstellte VM enthält. Sie müssen eine Zielinstanz erstellen, bevor Sie ein Weiterleitungsregelobjekt erstellen können, weil die Weiterleitungsregel auf eine vorhandene Zielressource verweisen muss.

    gcloud compute target-instances create TARGET_INSTANCE_NAME \
        --instance=VM_INSTANCE_NAME \
        --zone=ZONE
    
  4. Reservieren Sie eine statische externe IPv4-Adresse.

    gcloud compute addresses create IPV4_ADDRESS \
        --region=REGION
    
  5. Erstellen Sie die Weiterleitungsregel, die TCP-Traffic an die Zielinstanz weiterleitet. Die Weiterleitungsregel muss in derselben Region erstellt werden, in der die Zielinstanz erstellt wurde.

    gcloud compute forwarding-rules create IPV4_FORWARDING_RULE_NAME \
        --load-balancing-scheme=EXTERNAL \
        --region=REGION \
        --ip-protocol=TCP \
        --address=IPV4_ADDRESS \
        --ports=80 \
        --target-instance=TARGET_INSTANCE_NAME \
        --target-instance-zone=ZONE
    
  6. Einrichtung testen

    1. Rufen Sie die IP-Adresse Ihrer Weiterleitungsregel ab.

      gcloud compute forwarding-rules describe IPV4_FORWARDING_RULE_NAME \
          --region=REGION
      
    2. Stellen Sie mit curl Webanfragen an den Load-Balancer, um dessen IP-Adresse zu kontaktieren. Ersetzen Sie dabei IP_ADDRESS durch die IP-Adresse aus dem vorherigen Schritt.

      while true; do curl -m1 IP_ADDRESS; done
      

      Die Ausgabe sieht in etwa so aus, wobei der Name der Backend-VM, die die Antwort generiert, angezeigt wird:

      Page served from: VM_INSTANCE_NAME.
      

Dual-Stack

Die Verarbeitung von IPv4- und IPv6-Traffic erfordert ein Dual-Stack-Subnetz mit einer Dual-Stack-VM-Instanz für das Zielinstanz-Backend.

  1. Erstellen Sie ein VPC-Netzwerk im benutzerdefinierten Modus.

    gcloud compute networks create VPC_NAME \
        --subnet-mode=custom
    
  2. Erstellen Sie im VPC-Netzwerk ein Dual-Stack-Subnetz.

    gcloud compute networks subnets create SUBNET_NAME \
        --network=VPC_NAME \
        --range=IPV4_ADDRESS_RANGE \
        --stack-type=IPV4_IPV6 \
        --ipv6-access-type=EXTERNAL \
        --region=REGION
    

    Für IPV4_ADDRESS_RANGE können Sie einen beliebigen primären IPv4-Bereich für das neue Subnetz in CIDR-Notation eingeben. Beispiel: 192.168.11.0/24. Weitere Informationen finden Sie unter IPv4-Subnetzbereiche.

  3. Erstellen Sie eine Firewallregel, die externen Traffic zur Zielinstanz zulässt.

    gcloud compute firewall-rules create ALLOW_IPV6_FIREWALL_RULE_NAME \
        --network=VPC_NAME \
        --target-tags=allow-ipv6-ext \
        --allow=tcp:80 \
        --source-ranges=::/0
    
  4. Dual-Stack-VM erstellen.

    gcloud compute instances create VM_INSTANCE_NAME \
        --subnet=SUBNET_NAME \
        --stack-type=IPV4_IPV6 \
        --zone=ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ipv6-ext \
        --metadata=startup-script='#! /bin/bash
        sudo apt-get update
        sudo apt-get install apache2 -y
        sudo a2ensite default-ssl
        sudo a2enmod ssl
        vm_hostname="$(curl -H "Metadata-Flavor:Google" \
        http://metadata.google.internal/computeMetadata/v1/instance/name)"
        echo "Page served from: $vm_hostname" | \
        tee /var/www/html/index.html
        sudo systemctl restart apache2'
    
  5. Erstellen Sie eine Zielinstanz, die die im vorherigen Schritt erstellte VM enthält.

    gcloud compute target-instances create TARGET_INSTANCE_NAME \
        --instance=VM_INSTANCE_NAME \
        --network=VPC_NAME \
        --zone=ZONE
    
  6. Reservieren Sie eine statische externe IPv4-Adresse.

    gcloud compute addresses create IPV4_ADDRESS \
       --region=REGION
    
  7. Erstellen Sie eine IPv4-Weiterleitungsregel, die TCP-Traffic an die Zielinstanz weiterleitet. Die Weiterleitungsregel muss in derselben Region erstellt werden, in der die Zielinstanz erstellt wurde.

    gcloud compute forwarding-rules create IPV4_FORWARDING_RULE_NAME \
        --load-balancing-scheme=EXTERNAL \
        --region=REGION \
        --ip-protocol=TCP \
        --address=IPV4_ADDRESS \
        --ports=80 \
        --target-instance=TARGET_INSTANCE_NAME \
        --target-instance-zone=ZONE
    
  8. Reservieren Sie einen statischen externen IPv6-Adressbereich.

    gcloud compute addresses create IPV6_ADDRESS \
        --region=REGION \
        --subnet=SUBNET_NAME \
        --ip-version=IPV6 \
        --endpoint-type=NETLB
    
  9. Erstellen Sie eine IPv6-Weiterleitungsregel, die TCP-Traffic an die Zielinstanz weiterleitet. Die Weiterleitungsregel muss in derselben Region erstellt werden, in der die Zielinstanz erstellt wurde.

    gcloud compute forwarding-rules create IPV6_FORWARDING_RULE_NAME \
        --load-balancing-scheme=EXTERNAL \
        --subnet=SUBNET_NAME \
        --ip-version=IPV6 \
        --region=REGION \
        --address=IPV6_ADDRESS \
        --network-tier=PREMIUM \
        --target-instance=TARGET_INSTANCE_NAME \
        --target-instance-zone=ZONE \
        --ip-protocol=TCP \
        --ports=80
    
  10. Einrichtung testen

    1. Ermitteln Sie die IP-Adresse der Weiterleitungsregeln.

      gcloud compute forwarding-rules describe IPV4_FORWARDING_RULE_NAME \
        --region=REGION
      
      gcloud compute forwarding-rules describe IPV6_FORWARDING_RULE_NAME \
        --region=REGION
      
    2. Stellen Sie mit curl Webanfragen an den Load-Balancer, um dessen IP-Adresse zu kontaktieren. Ersetzen Sie IP_ADDRESS durch die IP-Adresse aus dem vorherigen Schritt.

      Für IPv4-Traffic:

      while true; do curl -m1 IP_ADDRESS; done
      

      Für IPv4-Traffic:

      curl -6 'http://[IP_ADDRESS]:80'
      

      Die Ausgabe sieht in etwa so aus, wobei der Name der Backend-VM, die die Antwort generiert, angezeigt wird:

      Page served from: VM_INSTANCE_NAME.
      

Nur IPv6

Die Verarbeitung von reinem IPv6-Traffic erfordert ein reines IPv6-Subnetz mit einer reinen IPv6-VM-Instanz für das Zielinstanz-Backend.

  1. Erstellen Sie ein VPC-Netzwerk im benutzerdefinierten Modus.

    gcloud beta compute networks create VPC_NAME \
        --subnet-mode=custom
    
  2. Erstellen Sie im VPC-Netzwerk ein Nur-IPv6-Subnetz.

    gcloud beta compute networks subnets create SUBNET_NAME \
        --network=VPC_NAME \
        --stack-type=IPV6_ONLY \
        --ipv6-access-type=EXTERNAL \
        --region=REGION
     
  3. Erstellen Sie eine Firewallregel, die externen Traffic zur Zielinstanz zulässt.

    gcloud beta compute firewall-rules create ALLOW_IPV6_FIREWALL_RULE_NAME \
        --network=VPC_NAME \
        --target-tags=allow-ipv6-ext \
        --allow=tcp:80 \
        --source-ranges=::/0
    
  4. Erstellen Sie eine reine IPv6-VM.

    gcloud beta compute instances create VM_INSTANCE_NAME \
        --subnet=SUBNET_NAME \
        --stack-type=IPV6_ONLY \
        --zone=ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ipv6-ext \
        --metadata=startup-script='#! /bin/bash
        sudo apt-get update
        sudo apt-get install apache2 -y
        sudo a2ensite default-ssl
        sudo a2enmod ssl
        vm_hostname="$(curl -H "Metadata-Flavor:Google" \
        http://metadata.google.internal/computeMetadata/v1/instance/name)"
        echo "Page served from: $vm_hostname" | \
        tee /var/www/html/index.html
        sudo systemctl restart apache2'
    
  5. Erstellen Sie eine Zielinstanz, die die im vorherigen Schritt erstellte VM enthält.

    gcloud beta compute target-instances create TARGET_INSTANCE_NAME \
        --instance=VM_INSTANCE_NAME \
        --network=VPC_NAME \
        --zone=ZONE
    
  6. Reservieren Sie einen statischen externen IPv6-Adressbereich.

    gcloud beta compute addresses create IPV6_ADDRESS \
        --region=REGION \
        --subnet=SUBNET_NAME \
        --ip-version=IPV6 \
        --endpoint-type=NETLB
    
  7. Erstellen Sie eine IPv6-Weiterleitungsregel, die TCP-Traffic an die Zielinstanz weiterleitet. Die Weiterleitungsregel muss in derselben Region erstellt werden, in der die Zielinstanz erstellt wurde.

    gcloud beta compute forwarding-rules create IPV6_FORWARDING_RULE_NAME \
        --load-balancing-scheme=EXTERNAL \
        --subnet=SUBNET_NAME \
        --ip-version=IPV6 \
        --region=REGION \
        --address=IPV6_ADDRESS \
        --network-tier=PREMIUM \
        --target-instance=TARGET_INSTANCE_NAME \
        --target-instance-zone=ZONE \
        --ip-protocol=TCP \
        --ports=80
    
  8. Einrichtung testen

    1. Ermitteln Sie die IP-Adresse der Weiterleitungsregel.

      gcloud beta compute forwarding-rules describe IPV6_FORWARDING_RULE_NAME \
          --region=REGION
      
    2. Stellen Sie mit curl Webanfragen an den Load-Balancer, um dessen IP-Adresse zu kontaktieren. Ersetzen Sie dabei IPV6_ADDRESS durch die IP-Adresse aus dem vorherigen Schritt.

      curl -6 'http://[IPV6_ADDRESS]:80'
      

      Die Ausgabe sieht in etwa so aus, wobei der Name der Backend-VM, die die Antwort generiert, angezeigt wird:

      Page served from: VM_INSTANCE_NAME.
      

Interne Protokollweiterleitung einrichten

In diesem Abschnitt erfahren Sie, wie Sie die interne Protokollweiterleitung mit einer Weiterleitungsregel einrichten, um TCP-Traffic an eine einzelne Zielinstanz weiterzuleiten. Für Nur-IPv4-, Dual-Stack- und Nur-IPv6-Traffic gibt es eine separate Anleitung.

In diesem Beispiel erstellen Sie eine Zielinstanz, die eine einzelne VM-Instanz mit einem installierten Apache-Server enthält. Anschließend erstellen Sie eine interne regionale Weiterleitungsregel, die den Traffic an die Zielinstanz weiterleitet.

Nur IPv4

Zur Vereinfachung werden in diesem Beispiel das Standardnetzwerk und die Subnetze verwendet, um die interne Protokollweiterleitung einzurichten.

  1. Erstellen Sie eine Firewallregel, die internen Traffic zur Zielinstanz zulässt.

    gcloud compute firewall-rules create ALLOW_IPV4_FIREWALL_RULE_NAME \
        --target-tags=allow-ipv4-int \
        --allow=tcp \
        --source-ranges=0.0.0.0/0
    
  2. Erstellen Sie die Firewallregel, um SSH-Verbindungen zu VMs mit dem Netzwerk-Tag allow-ssh zu ermöglichen. Damit wird eine SSH-Verbindung zur Client-VM hergestellt.

    gcloud compute firewall-rules create ALLOW_SSH_FIREWALL_RULE_NAME \
        --target-tags=allow-ssh \
        --allow=tcp:22 \
        --source-ranges=0.0.0.0/0
    
  3. Erstellen Sie eine VM.

    gcloud compute instances create VM_INSTANCE_NAME \
        --zone=ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ipv4-int \
        --metadata=startup-script='#! /bin/bash
        sudo apt-get update
        sudo apt-get install apache2 -y
        sudo a2ensite default-ssl
        sudo a2enmod ssl
        vm_hostname="$(curl -H "Metadata-Flavor:Google" \
        http://169.254.169.254/computeMetadata/v1/instance/name)"
        echo "Page served from: $vm_hostname" | \
        tee /var/www/html/index.html
        sudo systemctl restart apache2'
    
  4. Erstellen Sie eine Zielinstanz, die die im vorherigen Schritt erstellte VM enthält. Sie müssen eine Zielinstanz erstellen, bevor Sie ein Weiterleitungsregelobjekt erstellen können, weil die Weiterleitungsregel auf eine vorhandene Zielressource verweisen muss.

    gcloud compute target-instances create TARGET_INSTANCE_NAME \
        --instance=VM_INSTANCE_NAME \
        --zone=ZONE
    
  5. Erstellen Sie die Weiterleitungsregel, die TCP-Traffic an die Zielinstanz weiterleitet. Die Weiterleitungsregel muss in derselben Region erstellt werden, in der die Zielinstanz erstellt wurde.

    gcloud compute forwarding-rules create IPV4_FORWARDING_RULE_NAME \
        --load-balancing-scheme=INTERNAL \
        --network-tier=PREMIUM \
        --region=REGION \
        --ip-protocol=TCP \
        --ports=80 \
        --target-instance=TARGET_INSTANCE_NAME \
        --target-instance-zone=ZONE
    
  6. Eine Testclient-VM erstellen

    gcloud compute instances create CLIENT_VM_NAME \
        --zone=ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ssh
    

    Sie können jetzt die Konfiguration Ihrer Protokollweiterleitung testen, indem Sie Traffic von dieser Client-VM an die IP-Adresse der Weiterleitungsregel senden.

  7. Einrichtung testen

    1. Rufen Sie die IP-Adresse Ihrer Weiterleitungsregel ab.

      gcloud compute forwarding-rules describe IPV4_FORWARDING_RULE_NAME \
          --region=REGION
      
    2. Stellen Sie eine SSH-Verbindung zur Client-VM her.

      gcloud compute ssh CLIENT_VM_NAME \
          --zone=ZONE
      
    3. Stellen Sie mit curl Anfragen an den Load-Balancer, um dessen IP-Adresse zu kontaktieren.

      while true; do curl -m1 IP_ADDRESS; done
      

      Die Ausgabe sieht in etwa so aus, wobei der Name der Backend-VM, die die Antwort generiert, angezeigt wird:

      Page served from: VM_INSTANCE_NAME.
      

Dual-Stack

Die Verarbeitung von IPv4- und IPv6-Traffic erfordert ein Dual-Stack-Subnetz mit einer Dual-Stack-VM-Instanz für das Zielinstanz-Backend.

  1. Erstellen Sie ein VPC-Netzwerk im benutzerdefinierten Modus mit dem Flag --enable-ula-internal-ipv6, um interne IPv6-Bereiche in allen Subnetzen in diesem Netzwerk zu konfigurieren.

    gcloud compute networks create VPC_NAME \
        --subnet-mode=custom \
        --enable-ula-internal-ipv6
    
  2. Erstellen Sie im VPC-Netzwerk ein Dual-Stack-Subnetz.

    gcloud compute networks subnets create SUBNET_NAME \
        --network=VPC_NAME \
        --range=IPV4_ADDRESS_RANGE \
        --region=REGION \
        --stack-type=IPV4_IPV6 \
        --ipv6-access-type=INTERNAL
    

    Für IPV4_ADDRESS_RANGE können Sie einen beliebigen primären IPv4-Bereich für das neue Subnetz in CIDR-Notation eingeben. Beispiel: 192.168.11.0/24. Weitere Informationen finden Sie unter IPv4-Subnetzbereiche.

  3. Erstellen Sie eine Firewallregel, die internen Traffic zur Zielinstanz zulässt.

    gcloud compute firewall-rules create ALLOW_IPV6_FIREWALL_RULE_NAME \
        --network=VPC_NAME \
        --target-tags=allow-ipv6-int \
        --allow=tcp \
        --source-ranges=::/0
    
  4. Erstellen Sie mithilfe des Netzwerk-Tags allow-ssh eine Firewallregel, um SSH-Verbindungen zu VMs zuzulassen.

    gcloud compute firewall-rules create ALLOW_SSH_FIREWALL_RULE_NAME \
        --network=VPC_NAME \
        --target-tags=allow-ssh \
        --allow=tcp:22 \
        --source-ranges=0.0.0.0/0
    

    Diese Firewallregel wird auf eine Client-VM angewendet, die in einem der folgenden Schritte erstellt wird und zu der Sie mit SSH eine Verbindung herstellen, um HTTP-Traffic an die IP-Adresse der Weiterleitungsregel zu senden.

  5. Dual-Stack-VM erstellen.

    gcloud compute instances create VM_INSTANCE_NAME \
        --subnet=SUBNET_NAME \
        --stack-type=IPV4_IPV6 \
        --zone=ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ipv6-int \
        --metadata=startup-script='#! /bin/bash
        sudo apt-get update
        sudo apt-get install apache2 -y
        sudo a2ensite default-ssl
        sudo a2enmod ssl
        vm_hostname="$(curl -H "Metadata-Flavor:Google" \
        http://metadata.google.internal/computeMetadata/v1/instance/name)"
        echo "Page served from: $vm_hostname" | \
        tee /var/www/html/index.html
        sudo systemctl restart apache2'
    
  6. Erstellen Sie eine Zielinstanz, die die im vorherigen Schritt erstellte VM enthält.

    gcloud compute target-instances create TARGET_INSTANCE_NAME \
        --instance=VM_INSTANCE_NAME \
        --network=VPC_NAME \
        --zone=ZONE
    
  7. Erstellen Sie eine IPv4-Weiterleitungsregel, die TCP-Traffic an die Zielinstanz weiterleitet. Die Weiterleitungsregel muss in derselben Region erstellt werden, in der die Zielinstanz erstellt wurde.

    gcloud compute forwarding-rules create IPV4_FORWARDING_RULE_NAME \
        --load-balancing-scheme=INTERNAL \
        --network-tier=PREMIUM \
        --region=REGION \
        --ip-protocol=TCP \
        --ports=80 \
        --target-instance=TARGET_INSTANCE_NAME \
        --target-instance-zone=ZONE
    
  8. Erstellen Sie eine IPv6-Weiterleitungsregel, die TCP-Traffic an die Zielinstanz weiterleitet. Die Weiterleitungsregel muss in derselben Region erstellt werden, in der die Zielinstanz erstellt wurde.

    gcloud compute forwarding-rules create IPV6_FORWARDING_RULE_NAME \
        --load-balancing-scheme=INTERNAL \
        --network-tier=PREMIUM \
        --network=VPC_NAME \
        --subnet=SUBNET_NAME \
        --region=REGION \
        --ip-protocol=TCP \
        --ports=80 \
        --target-instance=TARGET_INSTANCE_NAME \
        --target-instance-zone=ZONE \
        --ip-version=IPV6
    
  9. Erstellen Sie eine Client-VM.

    gcloud compute instances create CLIENT_VM_NAME \
        --subnet=SUBNET_NAME \
        --stack-type=IPV4_IPV6 \
        --zone=ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ssh
    
  10. Einrichtung testen

    1. Ermitteln Sie die IP-Adresse der Weiterleitungsregel.

      gcloud compute forwarding-rules describe IPV4_FORWARDING_RULE_NAME \
          --region=REGION
      
      gcloud compute forwarding-rules describe IPV6_FORWARDING_RULE_NAME \
          --region=REGION
      
    2. Stellen Sie eine SSH-Verbindung zur Client-VM her.

      gcloud compute ssh CLIENT_VM_NAME \
          --zone=ZONE
      
    3. Stellen Sie mit curl eine HTTP-Anfrage an die IP-Adresse der Weiterleitungsregel.

      Für IPv4-Traffic:

      while true; do curl -m1 IP_ADDRESS; done
      

      Für IPv4-Traffic:

      curl -6 'http://[FORWARDING_RULE_IP_ADDRESS]:80'
      

      Die Ausgabe sieht in etwa so aus, wobei der Name der Backend-VM, die die Antwort generiert, in dem Text angezeigt wird.

      Page served from: VM_INSTANCE_NAME.
      

Nur IPv6

Für die Verarbeitung von IPv6-Traffic ist ein reines IPv6-Subnetz mit einer reinen IPv6-VM-Instanz für das Zielinstanz-Backend erforderlich.

  1. Erstellen Sie ein VPC-Netzwerk im benutzerdefinierten Modus mit dem Flag --enable-ula-internal-ipv6, um interne IPv6-Bereiche in allen Subnetzen in diesem Netzwerk zu konfigurieren.

    gcloud beta compute networks create VPC_NAME \
        --subnet-mode=custom \
        --enable-ula-internal-ipv6
    
  2. Erstellen Sie im VPC-Netzwerk ein Nur-IPv6-Subnetz.

    gcloud beta compute networks subnets create SUBNET_NAME \
        --network=VPC_NAME \
        --region=REGION \
        --stack-type=IPV6_ONLY \
        --ipv6-access-type=INTERNAL
    
  3. Erstellen Sie eine Firewallregel, die internen Traffic zur Zielinstanz zulässt.

    gcloud beta compute firewall-rules create ALLOW_IPV6_FIREWALL_RULE_NAME \
        --network=VPC_NAME \
        --target-tags=allow-ipv6-int \
        --allow=tcp \
        --source-ranges=::/0
    
  4. Erstellen Sie mithilfe des Netzwerk-Tags allow-ssh eine Firewallregel, um SSH-Verbindungen zu VMs zuzulassen.

    gcloud beta compute firewall-rules create ALLOW_SSH_FIREWALL_RULE_NAME \
        --network=VPC_NAME \
        --target-tags=allow-ssh \
        --allow=tcp:22 \
        --source-ranges=0.0.0.0/0
    

    Diese Firewallregel wird auf eine Client-VM angewendet, die in einem der folgenden Schritte erstellt wird und zu der Sie mit SSH eine Verbindung herstellen, um HTTP-Traffic an die IP-Adresse der Weiterleitungsregel zu senden.

  5. Erstellen Sie eine reine IPv6-VM.

    gcloud beta compute instances create VM_INSTANCE_NAME \
        --subnet=SUBNET_NAME \
        --stack-type=IPV6_ONLY \
        --zone=ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ipv6-int \
        --metadata=startup-script='#! /bin/bash
        sudo apt-get update
        sudo apt-get install apache2 -y
        sudo a2ensite default-ssl
        sudo a2enmod ssl
        vm_hostname="$(curl -H "Metadata-Flavor:Google" \
        http://metadata.google.internal/computeMetadata/v1/instance/name)"
        echo "Page served from: $vm_hostname" | \
        tee /var/www/html/index.html
        sudo systemctl restart apache2'
    
  6. Erstellen Sie eine Zielinstanz, die die im vorherigen Schritt erstellte VM enthält.

    gcloud beta compute target-instances create TARGET_INSTANCE_NAME \
        --instance=VM_INSTANCE_NAME \
        --network=VPC_NAME \
        --zone=ZONE
    
  7. Erstellen Sie eine IPv6-Weiterleitungsregel, die TCP-Traffic an die Zielinstanz weiterleitet. Die Weiterleitungsregel muss in derselben Region erstellt werden, in der die Zielinstanz erstellt wurde.

    gcloud beta compute forwarding-rules create IPV6_FORWARDING_RULE_NAME \
        --load-balancing-scheme=INTERNAL \
        --network-tier=PREMIUM \
        --network=VPC_NAME \
        --subnet=SUBNET_NAME \
        --region=REGION \
        --ip-protocol=TCP \
        --ports=80 \
        --target-instance=TARGET_INSTANCE_NAME \
        --target-instance-zone=ZONE \
        --ip-version=IPV6
    
  8. Erstellen Sie eine Client-VM.

    gcloud beta compute instances create CLIENT_VM_NAME \
        --subnet=SUBNET_NAME \
        --stack-type=IPV6_ONLY \
        --zone=ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ssh
    
  9. Einrichtung testen

    1. Ermitteln Sie die IP-Adresse der Weiterleitungsregel.

      gcloud beta compute forwarding-rules describe IPV6_FORWARDING_RULE_NAME \
          --region=REGION
      
    2. Stellen Sie eine SSH-Verbindung zur Client-VM her.

      gcloud beta compute ssh CLIENT_VM_NAME \
          --zone=ZONE
      
    3. Stellen Sie mit curl eine HTTP-Anfrage an die IP-Adresse der Weiterleitungsregel.

      curl -6 'http://[FORWARDING_RULE_IP_ADDRESS]:80'
      

      Die Ausgabe sieht in etwa so aus, wobei der Name der Backend-VM, die die Antwort generiert, in dem Text angezeigt wird.

      Page served from: VM_INSTANCE_NAME.
      

Nächste Schritte