In dieser Anleitung wird der Prozess der Zertifikatbereitstellung erläutert. Als Beispiel dient ein von Google verwaltetes Zertifikat mit Load-Balancer-Autorisierung.
Unter Domainautorisierung finden Sie einen Vergleich der unterstützten Typen der Domainautorisierung.
Die folgenden Load-Balancer unterstützen von Google verwaltete Zertifikate mit Load-Balancer-Autorisierung:
- Globaler externer Application Load Balancer
- Klassischer Application Load Balancer
- Globaler externer Proxy-Network Load Balancer
Wenn Sie ein vorhandenes Zertifikat zum Zertifikatmanager migrieren möchten, führen Sie stattdessen die Schritte unter Zertifikate zum Zertifikatmanager migrieren aus.
Lernziele
In diesem Anleitung werden die folgenden Aufgaben erläutert:
- Erstellen Sie mit dem Zertifikatmanager ein von Google verwaltetes Zertifikat, das von einer öffentlich vertrauenswürdigen Zertifizierungsstelle mit Load-Balancer-Autorisierung ausgestellt wurde.
- Stellen Sie das Zertifikat über einen HTTPS-Zielproxy für einen unterstützten Load-Balancer bereit.
Weitere Informationen zur Bereitstellung von Zertifikaten finden Sie unter Bereitstellungsübersicht.
Wenn Sie den Schritten in dieser Anleitung folgen, um ein Zertifikat für eine Domain bereitzustellen, die bereits Produktionstraffic verarbeitet, beachten Sie, dass der Traffic für diese Domain unterbrochen wird, während das Zertifikat auf dem entsprechenden Load-Balancer bereitgestellt und aktiviert wird.
Hinweise
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Sie benötigen die folgenden Rollen, um die Aufgaben in dieser Anleitung auszuführen:
- Certificate Manager Owner (Zertifikatmanager-Inhaber): Erforderlich zum Erstellen und Verwalten von Zertifikatmanager-Ressourcen.
- Administrator für Compute-Load-Balancer oder Compute-Netzwerkadministrator: Erforderlich zum Erstellen und Verwalten des HTTPS-Zielproxys.
- DNS-Administrator: Erforderlich, wenn Sie Cloud DNS als DNS-Lösung verwenden möchten.
Hier finden Sie weitere Informationen:
- Rollen und Berechtigungen für Zertifikatmanager
- Compute Engine IAM-Rollen und -Berechtigungen für Compute Engine
- Zugriffssteuerung mit IAM für Cloud DNS
Von Google verwaltetes Zertifikat mit Load-Balancer-Autorisierung erstellen
Führen Sie die Schritte in diesem Abschnitt aus, um ein von Google verwaltetes Zertifikat mit Load-Balancer-Autorisierung zu erstellen.
Wenn Sie mehrere Domainnamen für das Zertifikat angeben möchten, stellen Sie eine durch Kommas getrennte Liste von Zieldomainnamen für das Zertifikat bereit.
Weitere Informationen finden Sie unter Berechtigungen und Rollen.
Console
Rufen Sie in der Google Cloud Console die Seite Zertifikatmanager auf.
Wählen Sie auf der angezeigten Seite den Tab Zertifikate aus.
Klicken Sie auf Zertifikat hinzufügen.
Geben Sie einen Namen für das Zertifikat ein.
Dieser Name muss für das Projekt eindeutig sein.
Optional: Geben Sie eine Beschreibung für das Zertifikat ein. Anhand der Beschreibung können Sie später ein bestimmtes Zertifikat identifizieren.
Wählen Sie für Standort die Option Global aus.
Wählen Sie für Umfang die Option Standard aus.
Wählen Sie für Zertifikatstyp die Option Von Google verwaltetes Zertifikat erstellen aus.
Wählen Sie als Typ der Zertifizierungsstelle die Option Öffentlich aus.
Geben Sie die Domainnamen für das Zertifikat an. Geben Sie eine durch Kommas getrennte Liste der Zieldomains ein. Außerdem muss jeder Domainname ein vollständig qualifizierter Domainname sein, z. B.
myorg.example.com
.Wählen Sie als Autorisierungstyp die Option Load-Balancer-Autorisierung aus.
Geben Sie ein Label an, das mit dem Zertifikat verknüpft werden soll. Sie können bei Bedarf mehrere Labels hinzufügen. Klicken Sie zum Hinzufügen eines Labels auf die Schaltfläche add_box Label hinzufügen und geben Sie
key
undvalue
für das Label an.Klicken Sie auf Erstellen. Prüfen Sie, ob das neue Zertifikat in der Liste der Zertifikate angezeigt wird.
gcloud
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --domains="DOMAIN_NAMES"
Ersetzen Sie Folgendes:
CERTIFICATE_NAME
: Ein eindeutiger Name des Zertifikats.DOMAIN_NAMES
: eine durch Kommas getrennte Liste der Zielpools für dieses Zertifikat. Jeder Domainname muss ein vollständig qualifizierter Domainname sein, z. B.myorg.example.com
.
Terraform
Verwenden Sie eine google_certificate_manager_certificate
-Ressource.
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
API
Erstellen Sie das Zertifikat. Stellen Sie dazu eine POST
-Anfrage an die Methode certificates.create
:
POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME" { "managed": { "domains": ["DOMAIN_NAME"], } }
Ersetzen Sie Folgendes:
PROJECT_ID
: die ID des Google Cloud-Zielprojekts.CERTIFICATE_NAME
: Ein eindeutiger Name, der dieses Zertifikat beschreibt.DOMAIN_NAME
: die Zieldomain für dieses Zertifikat. Der Domainname muss ein vollständig qualifizierter Domainname sein, z. B.myorg.example.com
.
Eine Übersicht über den Prozess der Zertifikatsbereitstellung finden Sie unter Bereitstellungsübersicht.
Zertifikat für einen Load-Balancer bereitstellen
Führen Sie die Schritte in diesem Abschnitt aus, um das von Google verwaltete Zertifikat, das Sie in den vorherigen Schritten erstellt haben, auf einem Load-Balancer bereitzustellen.
Zertifikatzuordnung erstellen
Erstellen Sie eine Zertifikatszuordnung, die auf den mit Ihrem Zertifikat verknüpften Zertifikatszuordnungseintrag verweist.
gcloud
gcloud certificate-manager maps create CERTIFICATE_MAP_NAME
Ersetzen Sie CERTIFICATE_MAP_NAME
durch den Namen der Zielzertifikatszuordnung.
Terraform
Verwenden Sie eine google_certificate_manager_certificate_map
-Ressource.
Eintrag für Zertifikatszuordnung erstellen
Erstellen Sie einen Zertifikatszuordnungseintrag und verknüpfen Sie ihn sowohl mit Ihrem Zertifikat als auch mit Ihrer Zertifikatszuordnung.
gcloud
gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME" \ --certificates="CERTIFICATE_NAME" \ --hostname="HOSTNAME"
Ersetzen Sie Folgendes:
CERTIFICATE_MAP_ENTRY_NAME
: Ein eindeutiger Name des Zertifikatszuordnungseintrags.CERTIFICATE_MAP_NAME
: der Name der Zertifikatszuordnung, an die dieser Zertifikatszuordnungseintrag angehängt ist.CERTIFICATE_NAME
: Der Name des Zertifikats, das Sie mit diesem Zertifikatzuordnungseintrag verknüpfen möchten.HOSTNAME
: Der Hostname, den Sie mit diesem Zertifikatzuordnungseintrag verknüpfen möchten.
Terraform
Verwenden Sie eine google_certificate_manager_certificate_map_entry
-Ressource.
Prüfen, ob der Zertifikatzuordnungseintrag aktiv ist
Prüfen Sie mit dem folgenden Befehl, ob der Eintrag der Zertifikatszuordnung aktiv ist, bevor Sie die entsprechende Zertifikatszuordnung an den Zielproxy anhängen:
gcloud certificate-manager maps entries describe CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME"
Ersetzen Sie Folgendes:
CERTIFICATE_MAP_ENTRY_NAME
: der Name des Zieleintrags in der ZertifikatszuordnungCERTIFICATE_MAP_NAME
: der Name der Zertifikatszuordnung, an die dieser Zertifikatszuordnungseintrag angehängt ist.
Die Ausgabe des Befehls sieht in etwa so aus:
certificates: createTime: '2021-09-06T10:01:56.229472109Z' hostname: example.com name: projects/my-project/locations/global/certificateMaps/myCertMap/certificateMapEntries/myCertMapEntry state: ACTIVE updateTime: '2021-09-06T10:01:58.277031787Z'
Zertifikatszuordnung an den Zielproxy anhängen
Hängen Sie die konfigurierte Zertifikatszuordnung an den Zielproxy an.
Console
- Rufen Sie in der Google Cloud Console die Seite Zielproxys auf.
Notieren Sie sich den Namen des Zielproxys.
Hängen Sie die Zertifikatszuordnung an den Zielproxy an:
gcloud compute target-https-proxies update PROXY_NAME \ --certificate-map="CERTIFICATE_MAP_NAME"
Ersetzen Sie Folgendes:
* `PROXY_NAME`: the name of the target proxy
* `CERTIFICATE_MAP_NAME`: the name of the certificate
map referencing your certificate map entry and its associated
certificate
Terraform
Verwenden Sie eine google_compute_target_https_proxy
-Ressource.
Wenn bereits TLS/SSL-Zertifikate direkt an den Proxy angehängt sind, bevorzugt der Proxy die Zertifikate, auf die in der Zertifikatszuordnung verwiesen wird, gegenüber den direkt angehängten TLS/SSL-Zertifikaten.
Warten, bis das Zertifikat aktiviert wurde
Nachdem Sie das Zertifikat an den Zielproxy angehängt haben, kann es mehrere Stunden dauern, bis das Zertifikat ausgestellt wird und sich sein Status in ACTIVE
ändert. Sobald der Status ACTIVE
lautet, kann es bis zu 30 Minuten dauern, bis der Load-Balancer das Zertifikat verwendet.
Verwenden Sie den folgenden Befehl, um den Status des Zertifikats zu prüfen:
gcloud certificate-manager certificates describe CERTIFICATE_NAME
Ersetzen Sie CERTIFICATE_NAME
durch den Namen des von Google verwalteten Zielzertifikats.
Die Ausgabe des Befehls sieht in etwa so aus:
createTime: '2021-10-20T12:19:53.370778666Z' expireTime: '2022-05-07T05:03:49Z' managed: authorizationAttemptInfo: - domain: myorg.example.com state: AUTHORIZED domains: - myorg.example.com state: ACTIVE name: projects/myProject/locations/global/certificates/myCert sanDnsnames: - myorg.example.com updateTime: '2021-10-20T12:19:55.083385630Z'
Wenn sich der Zertifikatstatus nach einigen Stunden nicht zu ACTIVE
geändert hat, prüfen Sie Folgendes:
- Die Zertifikatszuordnung, die auf dieses Zertifikat verweist, wurde an den richtigen Zielproxy angehängt, wie unter Zertifikatszuordnung an einen Proxy anhängen beschrieben.
- Der Zielproxy wurde an den richtigen Load-Balancer angehängt, wie unter Zielproxyverknüpfung prüfen beschrieben.
- Die DNS-Konfiguration der Zieldomain verweist auf die IP-Adresse des Ziel-Load-Balancers, wie unter DNS-A- und AAAA-Einträge so aktualisieren, dass sie auf die IP-Adresse des Load-Balancers verweisen beschrieben.
Weitere Schritte zur Fehlerbehebung finden Sie unter Fehlerbehebung bei SSL-Zertifikaten.
Bereinigen
Mit den folgenden Schritten können Sie die in dieser Anleitung vorgenommenen Änderungen rückgängig machen:
Trennen Sie die Zertifikatszuordnung vom Proxy.
Beachten Sie Folgendes, bevor Sie die Zertifikatszuordnung trennen:
- Wenn TLS (SSL)-Zertifikate direkt an den Proxy angehängt sind, führt das Trennen der Zertifikatszuordnung dazu, dass der Proxy diese direkt angehängten TLS/SSL-Zertifikate wieder verwendet.
- Wenn keine TLS (SSL)-Zertifikate direkt an den Proxy angehängt sind, kann die Zertifikatszuordnung nicht vom Proxy getrennt werden. Sie müssen zuerst mindestens ein TLS-Zertifikat (SSL) direkt an den Proxy anhängen, bevor Sie die Zertifikatszuordnung trennen können.
Führen Sie den folgenden Befehl aus, um die Zertifikatszuordnung zu trennen:
gcloud compute target-https-proxies update PROXY_NAME \ --clear-certificate-map
Löschen Sie den Zertifikatszuordnungseintrag aus der Zertifikatszuordnung:
gcloud certificate-manager maps entries delete CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME"
Ersetzen Sie Folgendes:
CERTIFICATE_MAP_ENTRY_NAME
: der Name des Zieleintrags in der ZertifikatszuordnungCERTIFICATE_MAP_NAME
: der Name der Zielzertifikatszuordnung
Löschen Sie die Zertifikatszuordnung:
gcloud certificate-manager maps delete CERTIFICATE_MAP_NAME
Ersetzen Sie
CERTIFICATE_MAP_NAME
durch den Namen der Zielzertifikatszuordnung.Löschen Sie das von Google verwaltete Zertifikat:
gcloud certificate-manager certificates delete CERTIFICATE_NAME
Ersetzen Sie
CERTIFICATE_NAME
durch den Namen des Zielzertifikats.