In dieser Anleitung erfahren Sie, wie Sie mit Certificate Manager ein globales selbstverwaltetes Zertifikat bereitstellen.
Die folgenden Load Balancer unterstützen globale selbstverwaltete Zertifikate:
- Globaler externer Application Load Balancer
- Klassischer Application Load Balancer
- Globaler externer Proxy-Network Load Balancer
- Klassischer Proxy-Network Load Balancer
Wenn Sie die Bereitstellung auf regionale oder regionenübergreifende Load Balancer ausführen möchten, lesen Sie den Hilfeartikel zu regionalen Load Balancern und regionenübergreifenden Load Balancern.
Lernziele
In diesem Anleitung werden die folgenden Aufgaben erläutert:
- Laden Sie ein selbstverwaltetes Zertifikat in den Zertifikatmanager hoch.
- Bereitstellen des Zertifikats auf einem unterstützten Load Balancer mit einem HTTPS-Zielproxy
Hinweise
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine, Certificate Manager APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine, Certificate Manager APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Erforderliche Rollen
Sie benötigen die folgenden Rollen, um die Aufgaben in dieser Anleitung ausführen zu können:
Zertifikatmanager-Inhaber (
roles/certificatemanager.owner
)Erforderlich zum Erstellen und Verwalten von Certificate Manager-Ressourcen.
Administrator für Compute-Load-Balancer (
roles/compute.loadBalancerAdmin
) oder Compute-Netzwerkadministrator (roles/compute.networkAdmin
)Erforderlich zum Erstellen und Verwalten von HTTPS-Ziel-Proxys.
Hier finden Sie weitere Informationen:
- Rollen und Berechtigungen für den Zertifikatsmanager
- Compute Engine-IAM-Rollen und -Berechtigungen
Load-Balancer erstellen
In dieser Anleitung wird davon ausgegangen, dass Sie die Backends, Systemdiagnosen, Backend-Dienste und URL-Zuordnungen des Load Balancers bereits erstellt und konfiguriert haben. Wenn Sie einen externen Application Load Balancer erstellt haben, notieren Sie sich den Namen der URL-Zuordnung, da Sie ihn später in dieser Anleitung benötigen.
Wenn Sie den Load Balancer noch nicht erstellt haben, finden Sie auf den folgenden Seiten Informationen dazu:
Informationen zum Erstellen eines globalen externen Application Load Balancers finden Sie unter Globalen externen Application Load Balancer mit VM-Instanzgruppen-Back-Ends einrichten.
Eine Anleitung zum Erstellen eines klassischen Application Load Balancers finden Sie unter Klassischen Application Load Balancer mit einem Backend einer verwalteten Instanzgruppe einrichten.
Informationen zum Erstellen eines globalen externen Proxy-Network Load Balancers (SSL-Proxy) finden Sie unter Globalen externen Proxy-Network Load Balancer (SSL-Proxy) mit VM-Instanzgruppen-Back-Ends einrichten.
Informationen zum Erstellen eines klassischen Proxy-Network Load Balancers (SSL-Proxy) finden Sie unter Klassischen Proxy-Network Load Balancer (SSL-Proxy) mit VM-Instanzgruppen-Back-Ends einrichten.
Privaten Schlüssel und Zertifikat erstellen
So erstellen Sie einen privaten Schlüssel und ein Zertifikat:
Verwenden Sie eine vertrauenswürdige Zertifizierungsstelle (CA), um das Zertifikat zusammen mit dem zugehörigen Schlüssel auszustellen.
Prüfen Sie, ob das Zertifikat korrekt verkettet und vom Stammknoten als vertrauenswürdig eingestuft ist.
Bereiten Sie die folgenden PEM-codierten Dateien vor:
- Zertifikatsdatei (CRT)
- Die entsprechende Datei mit dem privaten Schlüssel (KEY)
Informationen zum Anfordern und Validieren eines Zertifikats finden Sie unter Privaten Schlüssel und Zertifikat erstellen.
Selbstverwaltetes Zertifikat in den Zertifikatmanager hochladen
So laden Sie das Zertifikat in den Zertifikatmanager hoch:
Console
Rufen Sie in der Google Cloud Console die Seite Zertifikatmanager auf.
Klicken Sie auf dem Tab Zertifikate auf Zertifikat hinzufügen.
Geben Sie im Feld Zertifikatname einen eindeutigen Namen für das Zertifikat ein.
Optional: Geben Sie im Feld Beschreibung eine Beschreibung für das Zertifikat ein. Anhand der Beschreibung können Sie das Zertifikat identifizieren.
Wählen Sie unter Standort die Option Global aus.
Wählen Sie für Umfang die Option Standard aus.
Wählen Sie unter Zertifikattyp die Option Selbstverwaltetes Zertifikat erstellen aus.
Gehen Sie für das Feld Zertifikat eines der folgenden vor:
- Klicken Sie auf die Schaltfläche Hochladen und wählen Sie Ihre PEM-formatierte Zertifikatsdatei aus.
- Kopieren Sie den Inhalt eines PEM-formatierten Zertifikats und fügen Sie ihn ein. Der Inhalt muss mit
-----BEGIN CERTIFICATE-----
beginnen und mit-----END CERTIFICATE-----
enden.
Im Feld Zertifikat für privaten Schlüssel haben Sie eine der folgenden Möglichkeiten:
- Klicken Sie auf Hochladen und wählen Sie Ihren privaten Schlüssel aus. Ihr privater Schlüssel muss das Format PEM haben und darf nicht mit einer Passphrase geschützt sein.
- Kopieren Sie den Inhalt des privaten Schlüssels im PEM-Format und fügen Sie ihn ein. Die privaten Schlüssel müssen mit
-----BEGIN PRIVATE KEY-----
beginnen und mit-----END PRIVATE KEY-----
enden.
Geben Sie im Feld Labels die Labels an, die dem Zertifikat zugeordnet werden sollen. Klicken Sie auf
Label hinzufügen, um ein Label hinzuzufügen, und geben Sie einen Schlüssel und einen Wert für das Label an.Klicken Sie auf Erstellen.
Das neue Zertifikat wird in der Liste der Zertifikate angezeigt.
gcloud
Verwenden Sie zum Erstellen eines globalen selbstverwalteten Zertifikats den Befehl certificate-manager certificates create
:
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --certificate-file="CERTIFICATE_FILE" \ --private-key-file="PRIVATE_KEY_FILE"
Ersetzen Sie Folgendes:
CERTIFICATE_NAME
ist der Name des Zertifikats.CERTIFICATE_FILE
: Pfad und Dateiname der CRT-Zertifikatsdatei.PRIVATE_KEY_FILE
: Pfad und Dateiname der privaten KEY-Schlüsseldatei.
Terraform
Zum Hochladen eines selbstverwalteten Zertifikats können Sie eine google_certificate_manager_certificate
-Ressource mit dem Block self_managed
verwenden.
API
Laden Sie das Zertifikat hoch, indem Sie eine POST
-Anfrage an die Methode certificates.create
stellen:
POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME { self_managed: { pem_certificate: "PEM_CERTIFICATE", pem_private_key: "PEM_KEY", } }
Ersetzen Sie Folgendes:
PROJECT_ID
: ID des Google Cloud-Projekts.CERTIFICATE_NAME
ist der Name des Zertifikats.PEM_CERTIFICATE
: das PEM-Zertifikat.PEM_KEY
: den PEM-Schlüssel.
Selbstverwaltetes Zertifikat auf einem Load Balancer bereitstellen
Verwenden Sie eine Zertifikatszuordnung, um das globale selbstverwaltete Zertifikat bereitzustellen.
Zertifikatzuordnung erstellen
Erstellen Sie eine Zertifikatszuordnung, die auf den Eintrag in der Zertifikatszuordnung verweist, der mit Ihrem Zertifikat verknüpft ist:
gcloud
Verwenden Sie den Befehl gcloud certificate-manager maps create
, um eine Zertifikatzuordnung zu erstellen:
gcloud certificate-manager maps create CERTIFICATE_MAP_NAME
Ersetzen Sie CERTIFICATE_MAP_NAME
durch den Namen der Zielzertifikatszuordnung.
Terraform
Zum Erstellen einer Zertifikatzuordnung können Sie eine google_certificate_manager_certificate_map
-Ressource verwenden.
Zertifikatszuordnungseintrag erstellen
Erstellen Sie einen Eintrag für die Zertifikatszuordnung und verknüpfen Sie ihn mit dem Zertifikat und der Zertifikatszuordnung:
gcloud
Verwenden Sie den Befehl gcloud certificate-manager maps entries create
, um einen Eintrag in der Zertifikatzuordnung zu erstellen:
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
: der Name des Zertifikatszuordnungseintrags.CERTIFICATE_MAP_NAME
: der Name der Zertifikatszuordnung, an die der Eintrag der Zertifikatszuordnung angehängt ist.CERTIFICATE_NAME
: der Name des Zertifikats, das Sie mit dem Eintrag der Zertifikatszuordnung verknüpfen möchten.HOSTNAME
: der Hostname, den Sie dem Zertifikatszuordnungseintrag zuordnen möchten.Wenn Sie Zertifikate mit einer Platzhalterdomain erstellen, geben Sie auch den Hostnamen mit einem Platzhalter an, z. B.
*.example.com
.
Terraform
Zum Erstellen eines Zertifikatzuordnungseintrags können Sie eine google_certificate_manager_certificate_map_entry
-Ressource verwenden.
Prüfen, ob der Eintrag in der Zertifikatszuordnung aktiv ist
Prüfen Sie, ob der Eintrag der Zertifikatszuordnung aktiv ist, bevor Sie die entsprechende Zertifikatszuordnung an den Zielproxy anhängen.
Verwenden Sie den Befehl gcloud certificate-manager maps entries describe
, um den Eintrag der Zertifikatszuordnung zu prüfen:
gcloud certificate-manager maps entries describe CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME"
Ersetzen Sie Folgendes:
CERTIFICATE_MAP_ENTRY_NAME
: der Name des Zertifikatszuordnungseintrags.CERTIFICATE_NAME
: der Name des Zertifikats, das Sie mit dem Eintrag der Zertifikatszuordnung verknüpfen möchten.
Die Ausgabe 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
Sie können die Zertifikatszuordnung einem neuen oder einem vorhandenen Zielproxy zuordnen.
gcloud
Verwenden Sie den Befehl gcloud compute target-https-proxies create
, um die Zertifikatzuordnung an einen neuen Zielproxy anzuhängen:
gcloud compute target-https-proxies create PROXY_NAME \ --certificate-map="CERTIFICATE_MAP_NAME" \ --url-map="URL_MAP" \ --global
Ersetzen Sie Folgendes:
PROXY_NAME
: der Name des Zielproxys.CERTIFICATE_MAP_NAME
: der Name der Zertifikatszuordnung, der auf den Eintrag der Zertifikatszuordnung und das zugehörige Zertifikat verweist.URL_MAP
: der Name der URL-Zuordnung
Verwenden Sie den Befehl gcloud compute target-https-proxies update
, um die Zertifikatzuordnung an einen vorhandenen Ziel-HTTPS-Proxy anzuhängen. Wenn Sie den Namen des vorhandenen Zielproxys nicht kennen, rufen Sie die Seite Zielproxys auf und notieren Sie sich den Namen des Zielproxys.
gcloud compute target-https-proxies update PROXY_NAME \ --certificate-map="CERTIFICATE_MAP_NAME" \ --global
Führen Sie nach dem Erstellen oder Aktualisieren des Zielproxies den folgenden Befehl aus, um ihn zu überprüfen:
gcloud compute target-https-proxies list
Terraform
Sie können die Zertifikatszuordnung mithilfe einer google_compute_target_https_proxy
-Ressource an den Zielproxy anhängen.
Wenn Sie beim Konfigurieren eines Zielproxies TLS-(SSL-)Zertifikate direkt und auch über eine Zertifikatszuordnung anhängen, verwendet der Proxy die Zertifikate, auf die in der Zertifikatszuordnung verwiesen wird, und ignoriert die direkt angehängten TLS-(SSL-)Zertifikate.
Bereinigen
Löschen Sie die in dieser Anleitung verwendeten Ressourcen, damit Ihrem Google Cloud -Konto keine Kosten in Rechnung gestellt werden.
Löschen Sie den Load Balancer und seine Ressourcen.
Löschen oder trennen Sie die Zertifikatszuordnung vom Proxy.
Führen Sie den folgenden Befehl aus, um die Zertifikatzuordnung zu löschen:
gcloud compute target-https-proxies delete PROXY_NAME
Wenn Sie den Ziel-HTTPS-Proxy beibehalten möchten, trennen Sie die Zertifikatzuordnung vom Proxy. Beachten Sie Folgendes, bevor Sie die Zertifikatszuordnung trennen:
- Wenn direkt am Proxy TLS-Zertifikate (SSL) angehängt sind, wird die Verwendung dieser direkt angehängten TLS-Zertifikate (SSL) fortgesetzt, wenn die Zertifikatzuordnung getrennt wird.
- Wenn keine TLS-Zertifikate (SSL) direkt mit dem Proxy verknüpft 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 Zertifikatzuordnung trennen können.
Führen Sie den folgenden Befehl aus, um die Zertifikatzuordnung zu lösen:
gcloud compute target-https-proxies update PROXY_NAME \ --clear-certificate-map
Ersetzen Sie
PROXY_NAME
durch den Namen des Zielproxies.Löschen Sie den Eintrag der Zertifikatszuordnung 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 Zertifikatszuordnungseintrags.CERTIFICATE_MAP_NAME
: der Name der Zertifikatszuordnung.
Löschen Sie die Zertifikatzuordnung:
gcloud certificate-manager maps delete CERTIFICATE_MAP_NAME
Ersetzen Sie
CERTIFICATE_MAP_NAME
durch den Namen der Zertifikatszuordnung.So löschen Sie das hochgeladene Zertifikat:
gcloud certificate-manager certificates delete CERTIFICATE_NAME
Ersetzen Sie
CERTIFICATE_NAME
durch den Namen des Zertifikats.