IAP für die TCP-Weiterleitung verwenden

Auf dieser Seite wird erläutert, wie Sie mit der TCP-Weiterleitung für Identity-Aware Proxy (IAP) den Administratorzugriff auf VM-Instanzen ermöglichen, die keine externen IP-Adressen haben oder keinen direkten Zugriff über das Internet zulassen.

Mit der IAP-TCP-Weiterleitung können Sie einen verschlüsselten Tunnel einrichten, über den Sie SSH-, RDP- und anderen Traffic an VM-Instanzen weiterleiten können. Mit der IAP-TCP-Weiterleitung können Sie auch genau steuern, welche Nutzer Tunnel einrichten dürfen und zu welchen VM-Instanzen Nutzer eine Verbindung herstellen dürfen.

Weitere Informationen zur Funktionsweise der IAP-TCP-Weiterleitung finden Sie in der Übersicht zur TCP-Weiterleitung (nur auf Englisch verfügbar).

Projekt für die IAP-TCP-Weiterleitung vorbereiten

In diesem Abschnitt werden die Schritte beschrieben, mit denen Sie die IAP-TCP-Weiterleitung in Ihrem Google Cloud-Projekt aktivieren.

Firewallregel erstellen

Damit IAP eine Verbindung zu Ihren VM-Instanzen herstellen kann, erstellen Sie eine Firewallregel, die:

  • für alle VM-Instanzen gilt, die über IAP zugänglich sein sollen.
  • Lässt eingehenden Traffic aus dem IP-Bereich 35.235.240.0/20 zu. Dieser Bereich enthält alle IP-Adressen, die IAP für die TCP-Weiterleitung verwendet.
  • Lässt Verbindungen zu allen Ports zu, die über die IAP-TCP-Weiterleitung zugänglich sein sollen, z. B. Port 22 für SSH und Port 3389 für RDP.

Console

So gewähren Sie RDP- und SSH-Zugriff auf alle VM-Instanzen in Ihrem Netzwerk:

  1. Öffnen Sie die Seite „Firewallregeln“.

    Seite „Firewallregeln“ öffnen

    Die verbleibenden Schritte werden in der Google Cloud Console angezeigt.

  2. Wählen Sie ein Google Cloud-Projekt aus.
  3. Klicken Sie auf der Seite „Firewallregeln“ auf Firewallregel erstellen.
  4. Legen Sie folgende Einstellungen fest:
    • Name: allow-ingress-from-iap
    • Trafficrichtung: Eingehend
    • Ziel: Alle Instanzen im Netzwerk
    • Quellfilter: IP-Bereiche
    • Quell-IP-Bereiche: 35.235.240.0/20
    • Protokolle und Ports: Wählen Sie TCP aus und geben Sie 22,3389 ein, um RDP und SSH zuzulassen.
  5. Klicken Sie auf Erstellen.

gcloud

Führen Sie folgenden Befehl aus, um den RDP-Zugriff auf alle VM-Instanzen in Ihrem Netzwerk zuzulassen:

gcloud compute firewall-rules create allow-rdp-ingress-from-iap \
  --direction=INGRESS \
  --action=allow \
  --rules=tcp:3389 \
  --source-ranges=35.235.240.0/20

Führen Sie für SSH-Zugriff Folgendes aus:

gcloud compute firewall-rules create allow-ssh-ingress-from-iap \
  --direction=INGRESS \
  --action=allow \
  --rules=tcp:22 \
  --source-ranges=35.235.240.0/20

Für andere Protokolle führen Sie Folgendes aus:

gcloud compute firewall-rules create allow-ingress-from-iap \
  --direction=INGRESS \
  --action=allow \
  --rules=tcp:PORT \
  --source-ranges=35.235.240.0/20

wobei PORT der vom Protokoll verwendete Port ist.

Rollen für die TCP-Weiterleitung von IAP gewähren

Sie können festlegen, welche Nutzer und Gruppen die IAP-TCP-Weiterleitung verwenden dürfen und zu welchen VM-Instanzen eine Verbindung hergestellt werden darf, indem Sie dem Projekt die entsprechenden IAM-Rollen (Identity and Access Management) zuweisen.

Wenn Sie OS Login verwenden (empfohlen), finden Sie weitere Informationen unter OS Login-Rollen für Nutzerkonten konfigurieren.

In der folgenden Tabelle sind die vordefinierten Rollen aufgeführt, die Sie vertrauenswürdigen Administratoren für die TCP-Weiterleitung und zugehörige Aufgaben zuweisen müssen:

Aufgabe Rollen Weitere Informationen
TCP-Weiterleitung Nutzer IAP-gesicherter Tunnel (roles/iap.tunnelResourceAccessor) Weitere Informationen finden Sie unter Zugriff auf alle VM-Instanzen in einem Projekt gewähren oder Zugriff auf eine bestimmte VM gewähren.
SSH-Zugriff Compute-Instanzadministrator (Version 1) (roles/compute.instanceAdmin.v1)
Dienstkonto verwenden Dienstkontonutzer (roles/iam.serviceAccountUser) Weitere Informationen finden Sie unter Rolle „serviceAccountUser“.

Wenn Sie benutzerdefinierte Rollen mit nur den für diese Aufgabe erforderlichen Berechtigungen erstellen möchten, lesen Sie den Hilfeartikel Details zu Berechtigungen.

Sie können einem Nutzer oder einer Gruppe Zugriff auf alle VM-Instanzen in einem Projekt oder auf eine bestimmte VM gewähren, je nachdem, wie Sie die erforderlichen Rollen gewähren.

Tags werden nicht unterstützt

Das Gewähren von Berechtigungen mit Tags für die IAP-TCP-Weiterleitung wird derzeit nicht unterstützt.

Zugriff auf alle VM-Instanzen in einem Projekt gewähren

Sie können einem Nutzer oder einer Gruppe Zugriff auf alle VM-Instanzen in einem Projekt gewähren, indem Sie die erforderlichen IAM-Rollen auf Projektebene zuweisen:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite IAM und Verwaltung.

    Zur Seite „IAM & Verwaltung“

    Die verbleibenden Schritte werden in der Google Cloud Console angezeigt.

  2. Klicken Sie auf der Seite IAM und Verwaltung auf Hinzufügen und konfigurieren Sie Folgendes:
    • Neue Hauptkonten: Geben Sie den Nutzer oder die Gruppe an, der Sie Zugriff gewähren möchten.
    • Rolle auswählen: Wählen Sie Cloud IAP > Nutzer IAP-gesicherter Tunnel aus.
  3. Klicken Sie optional auf Bedingung hinzufügen und konfigurieren Sie eine Bedingung:
    • Titel: Geben Sie einen Namen für die Bedingung ein.
    • Ausdruck: Geben Sie eine Bedingung ein, die ein Nutzer erfüllen muss, um die Berechtigungen in der Rolle „Nutzer IAP-gesicherter Tunnel“ zu erhalten.

    Der folgende CEL-Ausdruck gewährt beispielsweise nur Zugriff auf Port 22:

    destination.port == 22

    Sie können den Zugriff auch basierend auf der Zugriffsebene gewähren:

    destination.port == 22 &&
    "FULL_ACCESS_LEVEL_NAME" in request.auth.access_levels

    Dabei ist FULL_ACCESS_LEVEL_NAME eine vorhandene Zugriffsebene mit dem folgenden Format:

    accessPolicies/POLICY_NAME/accessLevels/ACCESS_LEVEL_NAME

  4. Klicken Sie auf Weitere Rolle hinzufügen und konfigurieren Sie Folgendes:
    • Rolle auswählen: Wählen Sie Compute Engine > Compute-Instanzadministrator (Version 1) aus.
  5. Klicken Sie auf Speichern.

gcloud

Weisen Sie dem Nutzer die beiden Rollen zu, indem Sie die folgenden Befehle ausführen:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=user:EMAIL \
    --role=roles/iap.tunnelResourceAccessor
gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=user:EMAIL \
    --role=roles/compute.instanceAdmin.v1

Dabei gilt:

  • PROJECT_ID: ID des Projekts.
  • EMAIL: E-Mail-Adresse des Nutzers, dem Sie Zugriff gewähren möchten, z. B. user@example.com.

Zugriff auf eine bestimmte VM gewähren

Wenn Sie einem Nutzer oder einer Gruppe Zugriff auf eine bestimmte VM gewähren möchten, weisen Sie dieser VM die Rolle roles/iap.tunnelResourceAccessor zu. Die anderen Rollen müssen dem Projekt zugewiesen werden.

Console

  1. Öffnen Sie die IAP-Administratorseite und wählen Sie den Tab SSH- und TCP-Ressourcen aus.

    Zur IAP-Administratorseite

    Die verbleibenden Schritte werden in der Google Cloud Console angezeigt.

  2. Wählen Sie auf dem Tab SSH- und TCP-Ressourcen der IAP-Administratorseite die VM-Instanzen aus, die Sie konfigurieren möchten.
  3. Falls das Infofeld nicht sichtbar ist, klicken Sie auf Infofeld ansehen.
  4. Klicken Sie auf Hinzufügen und konfigurieren Sie Folgendes:

    • Neue Hauptkonten: Geben Sie den Nutzer oder die Gruppe an, der Sie Zugriff gewähren möchten.
    • Rolle auswählen: Wählen Sie Cloud IAP > Nutzer IAP-gesicherter Tunnel aus.
  5. Klicken Sie optional auf Bedingung hinzufügen und konfigurieren Sie eine Bedingung:

    • Titel: Geben Sie einen Namen für die Bedingung ein.
    • Ausdruck: Geben Sie eine Bedingung ein, die ein Nutzer erfüllen muss, um die Berechtigungen in der Rolle „Nutzer IAP-gesicherter Tunnel“ zu erhalten.

    Der folgende CEL-Ausdruck gewährt beispielsweise nur Zugriff auf Port 22:

          destination.port == 22

    Sie können den Zugriff auch basierend auf der Zugriffsebene gewähren:

        destination.port == 22 &&
        "FULL_ACCESS_LEVEL_NAME" in request.auth.access_levels

    Dabei ist FULL_ACCESS_LEVEL_NAME eine vorhandene Zugriffsebene und verwendet das Format accessPolicies/POLICY_NAME/accessLevels/ACCESS_LEVEL_NAME.

  6. Klicken Sie auf Speichern.

API

Führen Sie zum Bearbeiten der Datei policy.json Ihrer Anwendung die im Folgenden aufgeführten Schritte aus. Weitere Informationen zum Verwenden der IAM API für das Verwalten von Zugriffsrichtlinien finden Sie unter Zugriff auf Ressourcen verwalten, die mit IAP gesichert sind.

  1. Exportieren Sie die folgenden Variablen.

    export IAP_BASE_URL=https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_tunnel
    # Replace POLICY_FILE.JSON with the name of JSON file to use for setIamPolicy
    export JSON_NEW_POLICY=POLICY_FILE.JSON
    

  2. Rufen Sie die IAM-Richtlinie für die Compute Engine-Instanz mit der Methode getIamPolicy ab. Das leere Datenbit am Ende wandelt die curl-Anfrage in POST anstelle von GET um.

    curl -i -H "Authorization: Bearer $(gcloud auth print-access-token)" \
         ${IAP_BASE_URL}/zones/ZONE_NAME/instances/INSTANCE_ID or INSTANCE_NAME:getIamPolicy \
         -d ''

  3. Weisen Sie Ihren Hauptpersonen die Rolle iap.tunnelResourceAccessor zu und ändern Sie dafür die JSON-Datei der IAM-Richtlinie.

  4. Sie können die Rolle optional nur Hauptkonten gewähren, die bestimmte Kriterien erfüllen, die auf IAM-Bedingungen und Zugriffsebenen basieren.

    Im Folgenden finden Sie ein Beispiel für eine bearbeitete policy.json-Datei, mit der einer Gruppe von VM-Instanzadministratoren die Rolle iap.tunnelResourceAccessor zugewiesen und ihnen Zugriff auf mit IAP gesicherte Tunnelressourcen gewährt wird. Es wurde eine IAM-Bedingung hinzugefügt, um die Ressourcen nur für Principals in der Gruppe „VM-Instanzadministratoren“ mit der privaten IP-Adresse 10.0.0.1 an Port 22 zugänglich zu machen. Dazu wurden die IAM-Bedingungen destination.ip und destination.port verwendet. Sie müssen auch die Anforderungen der Zugriffsebene ACCESS_LEVEL_NAME erfüllen.

    Beachten Sie, dass ein Hauptkonto mit der Rolle Inhaber die Berechtigung hat, IAP für die TCP-Weiterleitung zu verwenden.


    Beispieldatei policy.json

    {
      "policy": {
        "bindings": [
          {
            "role": "roles/iap.tunnelResourceAccessor",
            "members": ["group:instance-admins@example.com"],
            "condition": {
              "expression": "\"accessPolicies/POLICY_NAME/accessLevels/ACCESS_LEVEL_NAME\" in request.auth.access_levels && destination.ip == \"10.0.0.1\" && destination.port == 22",
              "title": "CONDITION_NAME"
            }
          }
        ]
      }
    }

    Zur Suche nach einem Richtliniennamen rufen Sie accessPolicies.list auf:

    GET https://accesscontextmanager.googleapis.com/v1/accessPolicies
    
  5. Legen Sie die neue Datei policy.json mit der Methode setIamPolicy fest.

    curl -i -H "Content-Type:application/json" \
              -H "Authorization: Bearer $(gcloud auth print-access-token)" \
              ${IAP_BASE_URL}/zones/ZONE_NAME/instances/INSTANCE_ID or INSTANCE_NAME:setIamPolicy \
              -d @${JSON_NEW_POLICY}

Berechtigungsdetails

Die erforderlichen Berechtigungen hängen davon ab, wie ein Nutzer die IAP-TCP-Weiterleitung verwendet:

Szenarien Erforderliche Berechtigungen
Alle
  • iap.tunnelInstances.accessViaIAP
gcloud compute [start-iap-tunnel, ssh, scp] verwenden
  • compute.instances.get
  • compute.instances.list
gcloud compute [ssh, scp] verwenden
  • compute.projects.get
VM mit OS Login Weitere Informationen finden Sie in dieser Anleitung.
Ohne Verwendung von OS Login
  • compute.instances.setMetadata
  • compute.projects.setCommonInstanceMetadata
  • compute.globalOperations.get
SSH-Verbindung zur VM über ein Dienstkonto
  • iam.serviceAccounts.actAs
SSH über den Browser Weitere Informationen finden Sie in dieser Anleitung.

Wenn ein Nutzer beispielsweise über gcloud compute ssh eine Verbindung zu einer VM herstellen möchte, die zwar nicht OS Login, aber ein Dienstkonto verwendet, benötigt er folgende Berechtigungen:

  • iap.tunnelInstances.accessViaIAP
  • compute.instances.get
  • compute.instances.list
  • compute.projects.get
  • compute.instances.setMetadata
  • compute.projects.setCommonInstanceMetadata
  • compute.globalOperations.get
  • iam.serviceAccounts.actAs

Tunneling von SSH-Verbindungen

Sie können eine Verbindung zu Linux-Instanzen herstellen, die keine externe IP-Adresse haben. Verwenden Sie dazu Tunneling von SSH-Traffic über IAP:

Wenn Sie das IAP-Tunneling verwenden, stellen die IAP-Proxys eine Verbindung zur primären internen IPv4-Adresse von nic0 auf der VM her.

Console

Für das Herstellen einer Verbindung zu Ihrer Instanz verwenden Sie die SSH-Schaltfläche in der Google Cloud Console. Die Zugriffskonfiguration Ihrer Instanz (definiert mit IAM-Berechtigungen) muss das TCP-Tunneling über IAP zulassen.

gcloud

Zum Herstellen einer Verbindung zu Ihrer Instanz verwenden Sie den Befehl gcloud compute ssh. Die Zugriffskonfiguration Ihrer Instanz (definiert mit IAM-Berechtigungen) muss das TCP-Tunneling über IAP zulassen.

gcloud compute ssh INSTANCE_NAME

Ersetzen Sie INSTANCE_NAME durch den Namen der Instanz, in der eine SSH-Verbindung hergestellt werden soll.

Wenn die Instanz keine externe IP-Adresse hat, verwendet die Verbindung automatisch das IAP-TCP-Tunneling. Hat die Instanz eine externe IP-Adresse, so nutzt die Verbindung anstelle des IAP-TCP-Tunnelings die externe IP-Adresse.

Sie können das Flag --tunnel-through-iap verwenden, damit gcloud compute ssh immer IAP-TCP-Tunneling verwendet.

Verwenden Sie das Flag --internal-ip, damit gcloud compute ssh nie TCP-Tunneling von IAP verwendet und stattdessen direkt eine Verbindung zur internen IP-Adresse der VM herstellt. Dies ist nützlich für Clients, die mit demselben VPC-Netzwerk wie die Ziel-VM verbunden sind.

IAP Desktop

Sie können IAP Desktop verwenden, um mithilfe von SSH und der IAP-TCP-Weiterleitung eine Verbindung zu einer VM-Instanz herzustellen.

  1. Wählen Sie in der Anwendung File > Add Google Cloud project aus.

  2. Geben Sie die ID oder den Namen Ihres Projekts ein und klicken Sie auf OK.

  3. Klicken Sie im Fenster Project Explorer mit der rechten Maustaste auf die VM-Instanz, zu der Sie eine Verbindung herstellen möchten, und wählen Sie Connect aus.

IAP Desktop

Weitere Informationen zu IAP Desktop finden Sie auf der GitHub-Projektseite.

PuTTY-Anwendung

Sie können die Windows-Terminalemulator-App PuTTY so einrichten, dass eine Verbindung zu einer VM-Instanz über die IAP-TCP-Weiterleitung hergestellt wird. Die Zugriffskonfiguration Ihrer Instanz (definiert mit IAM-Berechtigungen) muss das TCP-Tunneling über IAP zulassen.

Bevor Sie die PuTTY-App konfigurieren, verwenden Sie den Befehl gcloud compute ssh einmal, um zu gewährleisten, dass Sie auf Ihrem lokalen Computer einen privaten SSH-Schlüssel haben und dieser in Compute Engine veröffentlicht wird:

  1. Öffnen Sie eine Eingabeaufforderung und führen Sie den folgenden Befehl aus, um eine Verbindung zur VM-Instanz herzustellen:

    gcloud compute ssh INSTANCE_NAME `
      --tunnel-through-iap `
      --project PROJECT_ID `
      --zone ZONE

    Dabei gilt:

    • INSTANCE_NAME: Name der Datenbank, zu der eine Verbindung hergestellt werden soll
    • PROJECT_ID: Projekt-ID des Projekts, in dem sich die VM-Instanz befindet
    • ZONE: Zone, in der sich die VM-Instanz befindet

    Bestätigen Sie gegebenenfalls, dass Sie SSH-Schlüssel generieren möchten, indem Sie Y drücken.

  2. Führen Sie den folgenden Befehl auf der VM aus, um Ihren Nutzernamen zu ermitteln:

    whoami

    Sie benötigen diesen Nutzernamen später.

Sie können jetzt die PuTTY-App für die Verwendung der IAP-TCP-Weiterleitung konfigurieren:

  1. Öffnen Sie die PuTTY-App und wählen Sie die Kategorie Verbindung > Proxy aus.
  2. Konfigurieren Sie die folgenden Proxyeinstellungen:

    • Wählen Sie als Proxytyp die Option Lokal aus.
    • Geben Sie im Feld Telnet-Befehl oder lokaler Proxybefehl Folgendes ein:

      gcloud.cmd compute start-iap-tunnel %host %port --listen-on-stdin --project PROJECT_ID --zone ZONE

      Dabei gilt:

      • PROJECT_ID: Projekt-ID des Projekts, in dem sich die VM-Instanz befindet
      • ZONE: Zone, in der sich die VM-Instanz befindet
    • Wählen Sie für die Option Proxy-Diagnose im Terminalfenster drucken die Option Nur bis zum Start der Sitzung aus.

  3. Wählen Sie die Kategorie Verbindung > SSH > Auth aus.

  4. Klicken Sie auf Durchsuchen, fügen Sie den folgenden Dateinamen ein und klicken Sie auf Öffnen:

    %USERPROFILE%\.ssh\google_compute_engine.ppk
  5. Wählen Sie die Kategorie Sitzung aus.

  6. Konfigurieren Sie die folgenden Proxyeinstellungen:

    • Geben Sie im Feld Hostname (oder IP-Adresse) Folgendes ein:

      USERNAME@INSTANCE_NAME

      Dabei gilt:

      • USERNAME: Der zuvor ermittelte Linux-Nutzername
      • INSTANCE_NAME: Der Name der VM-Instanz, zu der Sie eine Verbindung herstellen möchten
    • Gespeicherte Sitzungen: Geben Sie einen Namen für die Sitzung ein.

  7. Klicken Sie auf Speichern.

  8. Klicken Sie auf Öffnen, um die SSH-Sitzung zu starten.

ssh

Sie können den Befehl „ssh“ direkt mit einer ProxyCommand-Option verwenden, die gcloud zum Starten des Tunnels verwendet. Damit wird der vollständige ssh-Befehl generiert:

gcloud compute ssh INSTANCE_NAME --dry-run

Tunneling von RDP-Verbindungen

Sie können eine Verbindung zu Windows-Instanzen herstellen, die keine externe IP-Adresse haben. Verwenden Sie dazu Tunneling von RDP-Traffic über IAP:

IAP Desktop

Sie können IAP Desktop verwenden, um mithilfe der IAP-TCP-Weiterleitung eine Verbindung zum Remote-Desktop einer oder mehrerer VM-Instanzen herzustellen.

  1. Wählen Sie in der Anwendung File > Add Google Cloud project aus.

  2. Geben Sie die ID oder den Namen Ihres Projekts ein und klicken Sie auf OK.

  3. Klicken Sie im Fenster Project Explorer mit der rechten Maustaste auf die VM-Instanz, zu der Sie eine Verbindung herstellen möchten, und wählen Sie Connect aus.

IAP Desktop

Weitere Informationen zu IAP Desktop finden Sie auf der GitHub-Projektseite.

gcloud

Erstellen Sie zuerst einen Tunnel, um eine Verbindung zum Remote-Desktop einer VM-Instanz herzustellen.

  1. Erstellen Sie mit dem Befehl gcloud compute start-iap-tunnel einen verschlüsselten Tunnel zum RDP-Port der VM-Instanz.

    gcloud compute start-iap-tunnel INSTANCE_NAME 3389 \
        --local-host-port=localhost:LOCAL_PORT \
        --zone=ZONE

    Ersetzen Sie INSTANCE_NAME durch den Namen der VM-Instanz, zu der Sie eine Verbindung herstellen möchten. Ersetzen Sie LOCAL_PORT localhost-Port, an den der Proxy gebunden werden soll, oder verwenden Sie 0, damit automatisch ein unbenutzter Port ausgewählt wird. Ersetzen Sie ZONE durch die Zone, in der sich die VM-Instanz befindet.

  2. gcloud führt einen Konnektivitätstest mit der VM-Instanz durch, öffnet dann einen Tunnel und zeigt eine Portnummer an.

    Listening on port [LOCAL_PORT].

    Der gesamte an localhost:LOCAL_PORT gesendete Traffic wird an die VM-Instanz weitergeleitet. Der Port ist nur für Anwendungen zugänglich, die auf Ihrem lokalen Computer ausgeführt werden.

  3. Lassen Sie gcloud ausgeführt und öffnen Sie die Microsoft Windows Anwendung "Remotedesktopverbindung".

  4. Geben Sie den Tunnel-Endpunkt als Computernamen ein:

    localhost:LOCAL_PORT

    Ersetzen Sie LOCAL_PORT durch die Portnummer, die beim Öffnen des Tunnels durch gcloud angezeigt wurde.

  5. Klicken Sie auf Verbinden.

Tunneling von anderen TCP-Verbindungen

Sie können die IAP-TCP-Weiterleitung für andere TCP-basierte Protokolle verwenden. Dazu verwenden Sie den Befehl gcloud compute start-iap-tunnel, um einen lokalen Port zuzuweisen. Der lokale Port leitet den Traffic in einem HTTPS-Stream vom lokalen Computer zum Remotecomputer. IAP empfängt dann die Daten, wendet die Zugriffssteuerungen an und leitet die unverpackten Daten an den Remote-Port weiter. Umgekehrt werden alle Daten vom Remoteport gepackt, bevor sie an den lokalen Port gesendet werden, an dem sie dann entpackt werden.

gcloud

Erstellen Sie einen verschlüsselten Tunnel zu einem Port der VM-Instanz:

gcloud compute start-iap-tunnel INSTANCE_NAME INSTANCE_PORT \
    --local-host-port=localhost:LOCAL_PORT \
    --zone=ZONE

Ersetzen Sie INSTANCE_NAME und INSTANCE_PORT durch den Namen und den Port der VM-Instanz, zu der Sie eine Verbindung herstellen möchten. Ersetzen Sie LOCAL_PORT durch den localhost-Port, an den der Proxy gebunden werden soll. Ersetzen Sie ZONE durch die Zone, in der sich die VM-Instanz befindet.

gcloud führt einen Konnektivitätstest mit der VM-Instanz durch, öffnet dann einen Tunnel und zeigt eine Portnummer an.

Listening on port [LOCAL_PORT].

Der gesamte an localhost:LOCAL_PORT gesendete Traffic wird an die VM-Instanz weitergeleitet. Der Port ist nur für Anwendungen zugänglich, die auf Ihrem lokalen Computer ausgeführt werden.

TCP-Uploadbandbreite für In-App-Käufe erhöhen

Wenn Sie die IAP-TCP-Uploadbandbreite erhöhen möchten, sollten Sie NumPy auf demselben Computer installieren, auf dem die gcloud CLI installiert ist.

Linux

Wenn Sie NumPy mit pip auf Unix-Plattformen installieren möchten, führen Sie in einer neuen Terminalinstanz den folgenden Befehl aus:

$(gcloud info --format="value(basic.python_location)") -m pip install numpy
Weitere Informationen finden Sie unter NumPy.org.

Wenn die Fehlermeldung nach der Installation von NumPy weiterhin angezeigt wird, führen Sie den folgenden Schritt aus: Führen Sie den folgenden Befehl aus, um gcloud Zugriff auf externe Pakete zu gewähren:

export CLOUDSDK_PYTHON_SITEPACKAGES=1

Windows

Wenn Sie NumPy mit pip auf Windows-Plattformen installieren möchten, führen Sie in einer neuen PowerShell-Instanz den folgenden Befehl aus:

start (gcloud info --format="value(basic.python_location)") "-m pip install numpy"
Weitere Informationen finden Sie unter NumPy.org.

Wenn die Meldung nach der Installation von NumPy weiterhin angezeigt wird, ist ein weiterer Schritt erforderlich. Führen Sie den folgenden Befehl aus, um gcloud den Zugriff auf externe Pakete zu erlauben:

$env:CLOUDSDK_PYTHON_SITEPACKAGES="1"

Bekannte Einschränkungen

Bandbreite: Das TCP-Weiterleitungs-Feature von Cloud IAP ist nicht für die Massenübertragung von Daten vorgesehen. IAP behält sich das Recht vor, Nutzer einzuschränken, die diesen Dienst missbrauchen.

Verbindungsdauer: IAP trennt automatisch Sitzungen nach einer Stunde Inaktivität. Derzeit versucht gcloud compute start-iap-tunnel, den Tunnel wiederherzustellen, wenn die Verbindung getrennt wird.

Nächste Schritte