In dieser Anleitung erfahren Sie, wie Sie mit dem Zertifikatmanager 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 für regionale oder regionenübergreifende Load-Balancer bereitstellen möchten, lesen Sie die folgenden Informationen:
Ziele
In dieser Anleitung werden die folgenden Aufgaben erläutert:
- Selbstverwaltetes Zertifikat in den Zertifikatmanager hochladen
- Zertifikat mit einem Ziel-HTTPS-Proxy für einen unterstützten Load-Balancer bereitstellen
Hinweis
- Melden Sie sich in Ihrem Google Cloud Konto an. Wenn Sie noch kein Konto bei Google Cloudhaben, erstellen Sie eines, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine, Certificate Manager APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine, Certificate Manager APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
Erforderliche Rollen
Sie benötigen die folgenden Rollen, um die Aufgaben in dieser Anleitung auszuführen:
Zertifikatmanager-Inhaber (
roles/certificatemanager.owner)Erforderlich zum Erstellen und Verwalten von Zertifikatmanager-Ressourcen.
Administrator für Compute-Load-Balancer (
roles/compute.loadBalancerAdmin) oder Administrator für Compute-Netzwerke (roles/compute.networkAdmin)Erforderlich zum Erstellen und Verwalten von HTTPS-Ziel-Proxys.
Hier finden Sie weitere Informationen:
- Rollen und Berechtigungen für den Zertifikatmanager
- Compute Engine-IAM-Rollen und -Berechtigungen für Compute Engine
Load-Balancer erstellen
In dieser Anleitung wird davon ausgegangen, dass Sie die Back-Ends, Systemdiagnosen, Back-End-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 zum Erstellen eines Load-Balancers:
Informationen zum Erstellen eines globalen externen Application Load Balancers finden Sie unter Globalen externen Application Load Balancer mit VM-Instanzgruppen Back-Ends einrichten.
Informationen zum Erstellen eines klassischen Application Load Balancers finden Sie unter Klassischen Application Load Balancer mit einem Backend einer verwalteten Instanzgruppe (Managed Instance Group, MIG) 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 eines Drittanbieters, um das Zertifikat zusammen mit dem zugehörigen Schlüssel auszustellen.
Prüfen Sie, ob das Zertifikat ordnungsgemäß verkettet und als vertrauenswürdig eingestuft ist.
Bereiten Sie die folgenden PEM-codierten Dateien vor:
- Die 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 Zertifikatsname einen eindeutigen Namen für das Zertifikat ein.
Optional: Geben Sie im Feld Beschreibung eine Beschreibung für das Zertifikat ein. Mit der Beschreibung können Sie das Zertifikat identifizieren.
Wählen Sie unter Standort die Option Global aus.
Wählen Sie unter Bereich die Option Standard aus.
Wählen Sie unter Zertifikatstyp die Option Selbstverwaltetes Zertifikat erstellen aus.
Führen Sie im Feld Zertifikat einen der folgenden Schritte aus:
- 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 Optionen:
- 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 Labels an, die mit dem Zertifikat verknüpft 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 den certificate-manager certificates create Befehl, um ein globales selbstverwaltetes Zertifikat zu erstellen:
gcloud certificate-manager certificates create CERTIFICATE_NAME \
--certificate-file="CERTIFICATE_FILE" \
--private-key-file="PRIVATE_KEY_FILE"
Ersetzen Sie Folgendes:
CERTIFICATE_NAME: der Name des ZertifikatsCERTIFICATE_FILE: der Pfad und Dateiname der CRT-ZertifikatsdateiPRIVATE_KEY_FILE: der Pfad und Dateiname der KEY-Datei mit dem privaten Schlüssel
Terraform
Verwenden Sie eine
google_certificate_manager_certificate Ressource mit dem self_managed Block, um ein selbstverwaltetes Zertifikat hochzuladen.
API
Laden Sie das Zertifikat hoch, indem Sie eine POST-Anfrage an die Methode certificates.create senden:
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: die ID Ihres Google Cloud ProjektsCERTIFICATE_NAME: der Name des ZertifikatsPEM_CERTIFICATE: das Zertifikat im PEM-FormatPEM_KEY: der Schlüssel im PEM-Format
Selbstverwaltetes Zertifikat für einen Load-Balancer bereitstellen
Verwenden Sie eine Zertifikatszuordnung, um das globale selbstverwaltete Zertifikat bereitzustellen.
Zertifikatszuordnung erstellen
Erstellen Sie eine Zertifikatszuordnung, die auf den Zertifikatszuordnungseintrag verweist, der mit Ihrem Zertifikat verknüpft ist:
gcloud
Verwenden Sie den gcloud certificate-manager maps create Befehl, um eine Zertifikatszuordnung zu erstellen:
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, um eine Zertifikatszuordnung zu erstellen.
Zertifikatszuordnungseintrag erstellen
Erstellen Sie einen Zertifikatszuordnungseintrag und verknüpfen Sie ihn mit Ihrem Zertifikat und der Zertifikatszuordnung:
gcloud
Verwenden Sie den gcloud certificate-manager maps entries create Befehl, um einen Zertifikatszuordnungseintrag 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, mit der der Zertifikatszuordnungseintrag verknüpft ist.CERTIFICATE_NAME: der Name des Zertifikats, das Sie mit dem Zertifikatszuordnungseintrag verknüpfen möchtenHOSTNAME: der Hostname, den Sie mit dem Zertifikatszuordnungseintrag verknüpfen möchtenWenn Sie ein Zertifikat erstellen möchten, das sowohl eine Platzhalterdomain als auch eine Stammdomain abdeckt, geben Sie den Hostnamen mit einer Stammdomain und einem Platzhalter an, z. B.
example.comund*.example.com. Außerdem müssen Sie zwei Einträge der Zertifikatszuordnung angeben: einen fürexample.comund den anderen für*.example.com.
Terraform
Verwenden Sie eine
google_certificate_manager_certificate_map_entry Ressource, um einen Zertifikatszuordnungseintrag mit einer Stammdomain zu erstellen.
Verwenden Sie eine
google_certificate_manager_certificate_map_entry-Ressource, um einen Zertifikatszuordnungseintrag mit einer Platzhalterdomain zu erstellen.
Prüfen, ob der Zertifikatszuordnungseintrag aktiv ist
Prüfen Sie, ob der Zertifikatszuordnungseintrag aktiv ist, bevor Sie die entsprechende Zertifikatszuordnung an den Ziel-Proxy anhängen.
Verwenden Sie den gcloud certificate-manager maps entries describe Befehl, um den Zertifikatszuordnungseintrag 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 Zertifikatszuordnungseintrag verknüpfen möchten
Die Ausgabe sieht 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 Ziel-Proxy anhängen
Sie können die Zertifikatszuordnung an einen neuen oder vorhandenen Ziel-Proxy anhängen.
gcloud
Verwenden Sie den gcloud compute target-https-proxies create Befehl, um die Zertifikatszuordnung an einen neuen Ziel-Proxy 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 Ziel-ProxysCERTIFICATE_MAP_NAME: der Name der Zertifikatszuordnung, die auf den Zertifikatszuordnungseintrag und das zugehörige Zertifikat verweist.URL_MAP: der Name der URL-Zuordnung
Verwenden Sie den gcloud compute target-https-proxies update Befehl, um die Zertifikatszuordnung 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 Ziel-Proxys den folgenden Befehl aus, um ihn zu prüfen:
gcloud compute target-https-proxies list
Terraform
Verwenden Sie eine
google_compute_target_https_proxy-Ressource, um die Zertifikatszuordnung an den Ziel-Proxy anzuhängen.
Wenn Sie bei der Konfiguration eines Zielproxys 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 entstehen.
Löschen Sie den Load-Balancer und seine Ressourcen.
Löschen Sie die Zertifikatszuordnung oder trennen Sie sie vom Proxy.
Führen Sie den folgenden Befehl aus, um die Zertifikatszuordnung zu löschen:
gcloud compute target-https-proxies delete PROXY_NAME
Wenn Sie den Ziel-HTTPS-Proxy behalten möchten, trennen Sie die Zertifikatszuordnung vom Proxy.
- Wenn TLS- (SSL-)Zertifikate direkt an den Proxy angehängt sind, verwendet der Proxy nach dem Trennen der Zertifikatszuordnung wieder diese direkt angehängten TLS- (SSL-)Zertifikate.
- 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- (SSL-)Zertifikat 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-mapErsetzen Sie
PROXY_NAMEdurch den Namen des Ziel-Proxys.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 Zertifikatszuordnungseintrags.CERTIFICATE_MAP_NAME: der Name der Zertifikatszuordnung
Löschen Sie die Zertifikatszuordnung:
gcloud certificate-manager maps delete CERTIFICATE_MAP_NAME
Ersetzen Sie
CERTIFICATE_MAP_NAMEdurch den Namen der Zertifikatszuordnung.Löschen Sie das hochgeladene Zertifikat:
gcloud certificate-manager certificates delete CERTIFICATE_NAME
Ersetzen Sie
CERTIFICATE_NAMEdurch den Namen des Zertifikats.