IAP für Compute Engine einrichten

In diesem Leitfaden wird beschrieben, wie Sie eine Compute Engine-Instanz mit Identity-Aware Proxy (IAP) einrichten. Wenn Sie Ihre Compute Engine-Instanz bereits eingerichtet haben und IAP nur aktivieren müssen, finden Sie entsprechende Informationen unter IAP für Compute Engine aktivieren.

Ziele

In dieser Anleitung erfahren Sie mehr über die folgenden Themen:

  • Compute Engine-Instanzvorlage und verwaltete Instanzgruppe erstellen
  • Domainname und Zertifikat abrufen
  • HTTPS-Load-Balancer mit einem Zertifikat erstellen
  • IAP aktivieren
  • IAP auf Funktionsfähigkeit testen

Kosten

In dieser Anleitung werden kostenpflichtige Komponenten von Google Cloudverwendet, darunter:

  • Compute Engine
    • 4 virtuelle Maschinen (VMs)
  • Netzwerk
    • Globale Weiterleitungsregel für Load-Balancer
    • Eingehender Traffic

Mit dem Preisrechner können Sie die Kosten basierend auf der geplanten Nutzung schätzen.

Neuen Cloud Platform-Nutzern steht möglicherweise eine kostenlose Testversion zur Verfügung.

Hinweis

Für diese Anleitung benötigen Sie Folgendes:

  1. Wählen Sie ein Google Cloud Projekt aus oder erstellen Sie eines.
    ZUR SEITE „PROJEKTE“

  2. Aktivieren Sie die Abrechnung für Ihr Projekt. Erfahren Sie mehr darüber, wie Sie die Abrechnungseinstellungen eines Projekts ändern können.

Schritt 1: Compute Engine-Vorlage erstellen

Rufen Sie in der Google Cloud Console die Seite Compute Engine > Instanzvorlage erstellen auf und wählen Sie das Projekt aus, in dem Sie eine Vorlage erstellen möchten.

ZUR SEITE "INSTANZVORLAGE ERSTELLEN"

Übernehmen Sie die Standardwerte mit Ausnahme der folgenden:

  • Maschinentyp:
    • micro (f1-micro)
  • Zugriffsbereiche:
    • Zugriff für jede API festlegen
    • Compute Engine: Schreibgeschützt
  • Firewall:
    • HTTP-Traffic zulassen
  • Kopieren Sie im Bereich Verwaltung unter Automatisierung > Startskript das folgende Skript und fügen Sie es ein:
    # Copyright 2021 Google LLC
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #      http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    
    apt-get -y update
    apt-get -y install git
    apt-get -y install virtualenv
    git clone https://github.com/GoogleCloudPlatform/python-docs-samples
    cd python-docs-samples/iap
    virtualenv venv -p python3
    source venv/bin/activate
    pip install -r requirements.txt
    cat example_gce_backend.py |
      sed -e "s/YOUR_BACKEND_SERVICE_ID/$(gcloud compute backend-services describe my-backend-service --global --format="value(id)")/g" |
      sed -e "s/YOUR_PROJECT_ID/$(gcloud config get-value account | tr -cd "[0-9]")/g" > real_backend.py
    gunicorn real_backend:app -b 0.0.0.0:80
    

Wenn Sie alle Werte aktualisiert haben, klicken Sie auf Erstellen, um die Vorlage zu erstellen.

Schritt 2: Verwaltete Instanzgruppe erstellen

Rufen Sie in der Google Cloud Console die Seite Compute Engine > Neue Instanzgruppe erstellen auf und wählen Sie das Projekt aus, in dem Sie eine verwaltete Instanzgruppe erstellen möchten.

ZUR SEITE "INSTANZGRUPPE ERSTELLEN"

Übernehmen Sie die Standardwerte mit Ausnahme der folgenden:

  • Name: my-managed-instance-group
  • Ort: Multi-Zone
  • Instanzvorlage: Wählen Sie die Instanzvorlage aus, die Sie in Schritt 1 erstellt haben.
  • Anzahl der Instanzen:Wenn Sie die Anzahl der Instanzen ändern möchten, müssen Sie zuerst das Autoscaling deaktivieren.
  • Autoscaling-Modus: Kein Autoscaling
  • Systemdiagnose: Wählen Sie Systemdiagnose erstellen aus und geben Sie folgende Werte ein:

    • Name: my-health-check
    • Protokoll: HTTP

    Verwenden Sie die neue Systemdiagnose und klicken Sie dafür auf Speichern und fortfahren.

Wenn Sie alle Werte aktualisiert haben, klicken Sie auf Erstellen, um die verwaltete Instanzgruppe zu erstellen.

Schritt 3: Domainname und Zertifikat abrufen

Um den Load-Balancer mit HTTPS-Traffic nutzen zu können, benötigen Sie einen Domainnamen und ein signiertes Zertifikat. Sie können eine Domain bei Cloud Domains registrieren oder den Domain-Registrator Ihrer Wahl verwenden. Registrieren Sie Ihre Domain, bevor Sie fortfahren.

Zertifikat einrichten

Erstellen Sie ein Zertifikat, das Ihre Website gegenüber Ihren Nutzern identifiziert. Informationen zum Erstellen eines Zertifikats finden Sie unter Von Google verwaltete SSL-Zertifikate verwenden.

Die Zertifizierungsstelle muss bestätigen, dass Sie Inhaber des von Ihnen registrierten Domainnamens sind. In den folgenden Schritten erstellen Sie eine VM, um Ihre Domain bei der Zertifizierungsstelle zu authentifizieren.

VM zum Authentifizieren der Domaininhaberschaft erstellen

Rufen Sie in der Google Cloud Console die Seite Compute Engine > Instanz erstellen auf.

ZUR SEITE "INSTANZ ERSTELLEN"

Übernehmen Sie die Standardwerte mit Ausnahme der folgenden:

  • Name: certbot-vm
  • Maschinentyp: micro (f1-micro)
  • Zugriffsbereiche:
    • Zugriff für jede API festlegen
    • Compute Engine: Lesen/Schreiben
  • Bootlaufwerk-Image:
    • Debian GNU/Linux 9 (Stretch)
  • Firewall:
    • HTTP-Traffic zulassen
    • HTTPS-Traffic zulassen

Wenn Sie mit dem Aktualisieren der Werte fertig sind, klicken Sie auf Erstellen, um die VM-Instanz zu erstellen. Notieren Sie sich die externe IP-Adresse der VM, die Sie gerade erstellt haben. Sie benötigen sie im nächsten Schritt.

Domain so einrichten, dass sie auf die VM verweist

Konfigurieren Sie mithilfe der folgenden Schritte die A-Einträge, um Ihre Domain so einzurichten, dass sie auf die VM verweist:

  1. Melden Sie sich in Ihrem Domainkonto bei Ihrem Domainhost an.
  2. Suchen Sie die Seite, um die DNS-Einträge der Domain zu aktualisieren. Der Name dieser Seite lautet in etwa „DNS-Verwaltung“, „Nameserver-Verwaltung“, „Erweiterte Einstellungen“ oder ähnlich.
  3. Ändern Sie die Werte der A-Einträge folgendermaßen:
    • Name/Host/Alias: @
    • Wert: Die externe IP-Adresse der VM, die Sie zuvor für die Authentifizierung Ihrer Domaininhaberschaft erstellt haben.
    • TTL: Der Standardwert für Ihren Registrator oder 86400 (ein Tag).
  4. Warten Sie, bis der DNS-Eintrag aktualisiert wurde. Es kann bis zu einem Tag dauern, bis der Eintrag, den Sie hinzugefügt haben, weitergegeben wird.

Weitere Informationen finden Sie unter A-Einträge.

Server testen

Gehen Sie so vor, um zu testen, ob der Server ordnungsgemäß funktioniert:

  1. Rufen Sie in der Google Cloud Console die Seite Compute Engine > VM-Instanzen auf.
    ZUR SEITE "VM-INSTANZEN"

  2. Klicken Sie unter Verbinden für certbot-vm auf SSH.

  3. Führen Sie die folgenden Befehle aus, um einen kleinen Webserver auf Ihrer VM auszuführen:

      mkdir web
      cd web
      echo "Hello" > index.html
      sudo busybox httpd -v -f
    
  4. Geben Sie in einem Webbrowser den Domainnamen ein, den Sie zuvor registriert haben. Im Webbrowser sollte Hello angezeigt werden und Ihre SSH-Sitzung sollte eine Nachricht darstellen, die ... response:200 enthält. Ist dies nicht der Fall, warten Sie einige Minuten und wiederholen Sie diesen Schritt.

  5. Nach erfolgreichem Test drücken Sie Strg+C, um den Webserver zu beenden.

Zertifikat erstellen