Ziele
In dieser Anleitung erfahren Sie Folgendes:
- 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 Cloud verwendet, darunter die folgenden:
- Compute Engine
- 4 virtuelle Maschinen (VM)
- Netzwerk
- Globale Weiterleitungsregel für Load-Balancer
- Eingehender Traffic
Mit dem Preisrechner können Sie die Kosten basierend auf der geplanten Nutzung schätzen.
Hinweise
Für diese Anleitung müssen Sie Folgendes ausführen:
Wählen Sie ein Google Cloud-Projekt aus oder erstellen Sie eines.
ZUR SEITE "PROJEKTE"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
Wechseln Sie in der Google Cloud Console zur Compute Engine > Instanzvorlage erstellen 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 Abschnitt Verwaltung unter Automatisierung > Startskript das folgende Skript und fügen Sie es ein:
Wenn Sie alle Werte aktualisiert haben, klicken Sie auf Erstellen, um die Vorlage zu erstellen.
Schritt 2: Verwaltete Instanzgruppe erstellen
Wechseln Sie in der Google Cloud Console zur Compute Engine > Neue Instanzgruppe erstellen und wählen Sie das Projekt aus, in dem Sie eine verwaltete Instanz erstellen möchten. Gruppe.
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:Zum Ändern der Anzahl der Instanzen müssen Sie zuerst 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
Sie benötigen einen Domainnamen und ein signiertes Zertifikat, um das Lastenausgleichsmodul mit HTTPS-Traffic zu verwenden. Sie können eine Domain bei Google Domains registrieren oder den Domain-Registrator Ihrer Wahl verwenden. Registrieren Sie Ihre Domain, bevor Sie mit dieser Anleitung fortfahren.
Zertifikat einrichten
Erstellen Sie ein Zertifikat, mit dem Ihre Website Nutzern gegenüber identifiziert wird. 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
Wechseln Sie in der Google Cloud Console zur Compute Engine > Instanzseite 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 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:
- Melden Sie sich in Ihrem Domainkonto bei Ihrem Domainhost an.
- 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.
- Ä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).
- 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:
Wechseln Sie in der Google Cloud Console zur Compute Engine > VM-Instanzen ein.
ZUR SEITE "VM-INSTANZEN"Klicken Sie unter Verbinden für certbot-vm auf SSH.
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
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.Nach erfolgreichem Test drücken Sie Strg+C, um den Webserver zu beenden.
Zertifikat erstellen
Melden Sie sich bei Let's Encrypt an und erstellen Sie ein Zertifikat. Führen Sie dazu die folgenden Befehle auf der VM aus, wobei YOUR_DOMAIN Ihr Domainname ohne Protokoll ist:
sudo pkill busybox sudo apt-get install -y certbot sudo certbot certonly --standalone -d YOUR-DOMAIN
Während dieses Vorgangs kann Let's Encrypt eine E-Mail-Adresse anfordern, um eine Erinnerung zu senden, wenn Ihr Zertifikat abläuft (standardmäßig 3 Monate nach der Ausstellung). Sie müssen außerdem den Nutzungsbedingungen von Let's Encrypt zustimmen.
Nach erfolgreicher Registrierung wird folgende Meldung angezeigt: Congratulations! Your certificate and chain have been saved at...
Zertifikat zu Projekt hinzufügen
Zum Hinzufügen des Zertifikats zu Ihrem Projekt führen Sie die folgenden Befehle auf der VM aus:
sudo su cd /etc/letsencrypt/live/YOUR_DOMAIN gcloud compute ssl-certificates create my-cert --certificate=fullchain.pem --private-key=privkey.pem
Wenn Ihr Zertifikat erstellt wurde, sollte eine Meldung angezeigt werden, die der folgenden ähnelt: Created
[https://www.googleapis.com/compute/v1/projects/example-project/global/sslCertificates/my-cert]
Schließen Sie die SSH-Sitzung, bevor Sie fortfahren.
Schritt 4: Load-Balancer erstellen
Bevor Sie diesen Schritt ausführen, müssen Sie die im vorherigen Schritt gestartete SSH-Sitzung beenden. Wenn Sie bereit sind, erstellen Sie mit den folgenden Schritten einen Load-Balancer:
Wechseln Sie in der Google Cloud Console zur Netzwerkdienste > Load-Balancer erstellen und wählen Sie das Projekt aus, für das Sie einen Load-Balancer erstellen möchten.
ZUR SEITE "LOAD-BALANCER ERSTELLEN"Klicken Sie unter HTTP(S)-Load-Balancing auf Konfiguration starten.
Wählen Sie Vom Internet zu meinen VMs aus.
Geben Sie auf der Seite Neuer externer Application Load Balancer einen Namen für den Load Balancer ein.
Klicken Sie auf Back-End-Konfiguration und wählen Sie Back-End-Dienste > Back-End-Dienst erstellen aus.
Geben Sie im Bereich Back-End-Dienst erstellen in das Feld Name Folgendes ein:
my-backend-service
Verwenden Sie unter Neues Back-End die Standardwerte mit Ausnahme des folgenden:
- Instanzgruppe: my-managed-instance-group
Wählen Sie unter Systemdiagnose die Option my-health-check aus.
Wenn Sie mit dem Aktualisieren der Werte fertig sind, klicken Sie auf Erstellen. Die Seite Neuer HTTP(S)-Load-Balancer wird wieder angezeigt.
Klicken Sie auf Host- und Pfadregeln, um die Standardwerte zu laden. Sie müssen keine Regeln hinzufügen.
Klicken Sie auf Frontend-Konfiguration. Verwenden Sie die Standardwerte mit Ausnahme der folgenden:
- Protokoll: HTTPS
- IP-Adresse: Klicken Sie auf IP-Adresse erstellen.
- Geben Sie unter Name einen Namen für die neue statische IP-Adresse ein.
- Klicken Sie auf Reservieren, um die statische IP-Adresse zu reservieren.
- Zertifikat: my-cert
Wenn Sie die Eingabe der Werte für die Frontend-Konfiguration abgeschlossen haben, klicken Sie auf Fertig.
Klicken Sie auf Erstellen. Die Seite Load Balancing wird angezeigt und der neue Load Balancer in der Load Balancer-Liste erstellt.
Nachdem die Google Cloud Console den neuen Load-Balancer erstellt hat, Klicken Sie auf den Namen des Load-Balancers und notieren Sie sich die externe IP-Adresse unter Details > Front-End: Sie benötigen sie im nächsten Schritt.
Domain so einrichten, dass sie auf den Load-Balancer verweist
Konfigurieren Sie mithilfe der folgenden Schritte die A-Einträge, um Ihre Domain so einzurichten, dass sie auf den Load-Balancer verweist:
- Melden Sie sich in Ihrem Domainkonto bei Ihrem Domainhost an.
- 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.
- Ändern Sie die Werte der A-Einträge folgendermaßen:
- Name/Host/Alias: @
- Wert: Die externe IP-Adresse des Load-Balancers, den Sie oben erstellt haben. Fügen Sie den Port
:443
nicht in den DNS-Eintrag ein. - TTL: Der Standardwert für Ihren Registrator oder 86400 (ein Tag).
- Warten Sie, bis der DNS-Eintrag aktualisiert wurde. Es kann bis zu einem Tag dauern, bis der Eintrag, den Sie gerade hinzugefügt haben, weitergegeben wird.
- Zum Testen des Load-Balancers rufen Sie mit einem Webbrowser Ihre Domain mit einem
https://
-Protokoll auf.- Wenn der Load-Balancer noch nicht eingerichtet ist, wird der Fehler "HTTP 502" angezeigt.
- Wenn das Lastenausgleichsmodul bereit ist, wird "Nicht autorisierte Anfrage" angezeigt.
Weitere Informationen finden Sie unter A-Einträge.
VMs neu starten
Zum ordnungsgemäßen Authentifizieren von IAP-Anfragen P müssen Sie die VMs in der verwalteten Instanzgruppe mit den folgenden Schritte neu starten:
- Wechseln Sie in der Google Cloud Console zur
Compute Engine > Seite „Instanzgruppen“.
ZUR SEITE "INSTANZGRUPPEN" - Klicken Sie auf my-managed-instance-group.
- Klicken Sie oben in den angezeigten Instanzgruppendetails auf Schrittweises Neustarten/Ersetzen.
- Legen Sie auf der Seite Instanzen von my-managed-instance-group neu starten/ersetzen die folgenden Werte fest:
- Vorgang: Neustart
- Maximal nicht verfügbar: 3 Instanzen von 3 Instanzen
- Mindestwartezeit: 0 s
- Wenn Sie mit dem Aktualisieren der Werte fertig sind, klicken Sie auf Neu starten.
Schritt 5: IAP einrichten
Firewall konfigurieren
Als Nächstes konfigurieren Sie Ihre Firewall so, dass der Zugriff auf die zugrunde liegenden VMs blockiert wird und nur der Zugriff über IAP zugelassen wird:
- Zur Google Cloud Console
VPC-Netzwerk > Firewallregeln
ZUR SEITE "FIREWALLREGELN" - Klicken Sie auf das Kästchen neben den folgenden Regeln:
- default-allow-http
- default-allow-https
- default-allow-internal
- Klicken Sie auf Löschen.
- Klicken Sie auf Firewallregel erstellen und legen Sie die folgenden Werte fest:
- Name: allow-iap-traffic
- Ziele: Alle Instanzen im Netzwerk
- Quell-IP-Bereiche (drücken Sie die Eingabetaste, nachdem Sie die einzelnen Werte eingefügt haben
im Lieferumfang enthalten. Die IP-Bereiche stehen auf der Zulassungsliste, da dies eine Voraussetzung ist
für die Load-Balancer-Kommunikation mit Back-Ends.
- 130.211.0.0/22
- 35.191.0.0/16
- Protokolle und Ports:
- Angegebene Protokolle und Ports
- tcp:80
- Wenn Sie mit dem Aktualisieren der Werte fertig sind, klicken Sie auf Erstellen.
IAP einrichten
So richten Sie IAP für Ihr Projekt ein:
- Wechseln Sie in der Google Cloud Console zur
Sicherheit > Identity-Aware Proxy
und wählen Sie das Projekt aus, für das Sie IAP aktivieren möchten.
ZUR SEITE "IDENTITY-AWARE PROXY" Wenn Sie den OAuth-Zustimmungsbildschirm Ihres Projekts noch nicht konfiguriert haben, werden Sie jetzt dazu aufgefordert.
-
Öffnen Sie den OAuth-Zustimmungsbildschirm.
Zustimmungsbildschirm konfigurieren - Wählen Sie unter Support-E-Mail-Adresse die E-Mail-Adresse aus, die als öffentlicher Kontakt angezeigt werden soll. Die E-Mail-Adresse muss zu dem aktuell angemeldeten Nutzerkonto oder zu einer Google-Gruppe gehören, für die der aktuell angemeldete Nutzer ein Administrator oder Inhaber ist.
- Geben Sie den Namen der Anwendung ein, der angezeigt werden soll.
- Fügen Sie nach Belieben weitere Details hinzu.
- Klicken Sie auf Speichern.
Zum Ändern von Informationen im OAuth-Zustimmungsbildschirm wie Produktname oder E-Mail-Adresse müssen Sie die vorherigen Schritte zur Konfiguration des Zustimmungsbildschirms wiederholen.
-
Öffnen Sie den OAuth-Zustimmungsbildschirm.
Aktivieren bzw. deaktivieren Sie neben my-backend-service,
Klicken Sie im eingeblendeten Fenster IAP aktivieren auf das Kästchen neben "Ich habe die Konfigurationsanforderungen gelesen und meine Compute Engine-Ressource entsprechend der Dokumentation konfiguriert."
Klicken Sie auf Aktivieren.
Hauptkonten zur Zugriffsliste hinzufügen
Als Nächstes fügen Sie der IAP-Zugriffsliste für Ihr Projekt Hauptkonten hinzu.
- Klicken Sie unter IAM & Verwaltung > Identity-Aware Proxy auf der rechten Seite im Abschnitt Zugriff auf Hinzufügen.
- Geben Sie die Hauptkonten ein, auf die Sie Zugriff gewähren möchten, einschließlich sich selbst, und
Weisen Sie den Hauptkonten die Rolle Nutzer von IAP-gesicherten Web-Apps zu. Hauptkonten können Folgendes sein:
- Google-Konten: user@gmail.com
- Google Groups: admins@googlegroups.com
- Dienstkonten: server@beispiel.gserviceaccount.com
- Google Workspace-Domains: example.com
Schritt 6: IAP testen
Testen Sie, ob IAP korrekt funktioniert mit folgenden Schritten:
- Rufen Sie in einem Webbrowser Ihre Domain auf.
- Wenn "Nicht autorisierte Anfrage" angezeigt wird, versuchen Sie es in einigen Minuten wieder.
- Wenn eine Google-Anmeldeseite aufgerufen, melden Sie sich mit dem Google-Konto an, dem Sie im vorherigen Schritt Zugriff gewährt haben.
- Es sollte eine Meldung wie "Hi, user@example.com. I am my-managed-instance-group-29z6" angezeigt werden.
- Versuchen Sie, die Seite zu aktualisieren. Der Browser sollte die Namen der 3 Maschinen in Ihrer verwalteten Instanzgruppe anzeigen. Das ist der Load-Balancer, der Traffic über die VMs in der Gruppe verteilt.
Das wars! Sie haben einen Dienst mit Load-Balancing mithilfe von IAP aktiviert.
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.
Nachdem Sie IAP für Compute Engine eingerichtet haben, können Sie die von Ihnen in Google Cloud erstellten Ressourcen bereinigen, damit Ihnen diese künftig nicht mehr in Rechnung gestellt werden. In den folgenden Abschnitten erfahren Sie, wie Sie diese Ressourcen löschen oder deaktivieren.
Projekt löschen
Am einfachsten vermeiden Sie weitere Kosten, wenn Sie das zum Ausführen der Anleitung erstellte Projekt löschen.
So löschen Sie das Projekt:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Instanzen löschen
So löschen Sie eine Compute Engine-Instanz:
- In the Google Cloud console, go to the VM instances page.
- Select the checkbox for the instance that you want to delete.
- To delete the instance, click More actions, click Delete, and then follow the instructions.
Firewallregeln für das Standardnetzwerk löschen
So löschen Sie eine Firewallregel:
- In the Google Cloud console, go to the Firewall page.
- Select the checkbox for the firewall rule that you want to delete.
- To delete the firewall rule, click Delete.
Nächste Schritte
- Die in dieser Anleitung verwendete Beispielanwendung ändern, um andere Daten bereitzustellen
- Lesen Sie unter Best Practices, wie Sie eigene Anwendungen schreiben und mit IAP schützen können.