In dieser Anleitung erfahren Sie, wie Sie mit Zertifikatmanager ein globales, von Google verwaltetes Zertifikat mit DNS-Autorisierung bereitstellen.
Die folgenden globalen Load Balancer unterstützen von Google verwaltete Zertifikate mit DNS-Autorisierung:
- Globaler externer Application Load Balancer
- Klassischer Application Load Balancer
- Globaler externer Proxy-Network Load Balancer
- Klassischer Proxy-Network Load Balancer
Wenn Sie die Bereitstellung für regionenübergreifende oder regionale Load Balancer vornehmen möchten, lesen Sie die folgenden Informationen:
Ziele
In diesem Anleitung werden die folgenden Aufgaben erläutert:
- Erstellen Sie mit Certificate Manager ein von Google verwaltetes Zertifikat, das von einer öffentlich vertrauenswürdigen Zertifizierungsstelle mit DNS-Autorisierung ausgestellt wurde.
- Stellen Sie das Zertifikat mit einem HTTPS-Zielproxy auf einem unterstützten Load Balancer bereit.
Hinweis
- Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie einfach ein Konto, 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, if any are not already enabled.
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.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
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.
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, if any are not already enabled.
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.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init - Öffentliche DNS-Zone erstellen
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 Compute-Netzwerkadministrator (roles/compute.networkAdmin)Erforderlich zum Erstellen und Verwalten von HTTPS-Ziel-Proxys.
DNS-Administrator (
roles/dns.admin)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.
- Rollen und Berechtigungen für Cloud DNS.
Domainnamen
Um Zertifikate zu erstellen, benötigen Sie die voll qualifizierten Domainnamen (FQDNs) der Domains, die Sie besitzen. Wenn Sie noch keine Domain haben, können Sie eine über Cloud Domains registrieren.
Load Balancer erstellen
In diesem Tutorial 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-Backends einrichten.
Informationen zum Erstellen eines klassischen Application Load Balancer finden Sie unter Einen 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.
Von Google verwaltetes Zertifikat mit DNS-Autorisierung erstellen
Bevor Sie das Zertifikat erstellen, müssen Sie eine öffentliche DNS-Zone erstellen. Erstellen Sie dann eine DNS-Autorisierung und fügen Sie den CNAME-Eintrag der Ziel-DNS-Zone hinzu.
DNS-Autorisierung erstellen
Eine DNS-Autorisierung deckt nur einen einzelnen Domainnamen ab. Sie müssen für jeden Domainnamen, den Sie mit dem Zielzertifikat verwenden möchten, eine separate DNS-Autorisierung erstellen.
Wenn Sie eine DNS-Autorisierung für ein Platzhalterzertifikat wie *.myorg.example.com erstellen, konfigurieren Sie die DNS-Autorisierung für die übergeordnete Domain, z. B. myorg.example.com.
Console
Sie können eine DNS-Autorisierung erstellen oder eine vorhandene DNS-Autorisierung anhängen, wenn Sie ein Zertifikat erstellen. Weitere Informationen finden Sie unter Ein von Google verwaltetes Zertifikat erstellen, das auf die DNS-Autorisierung verweist.
gcloud
Sie können zwei Arten von DNS-Autorisierungen erstellen: FIXED_RECORD oder PER_PROJECT_RECORD. Weitere Informationen finden Sie unter DNS-Autorisierung.
DNS-Autorisierung mit FIXED_RECORD
Verwenden Sie den folgenden gcloud certificate-manager dns-authorizations create-Befehl, um eine FIXED_RECORD-DNS-Autorisierung zu erstellen:
gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \
--domain="DOMAIN_NAME" \
--type=[FIXED_RECORD]
Ersetzen Sie Folgendes:
AUTHORIZATION_NAME: der Name der DNS-Autorisierung.DOMAIN_NAME: der Name der Zieldomain, für die Sie diese DNS-Autorisierung erstellen. Der Domainname muss ein voll qualifizierter Domainname sein, z. B.myorg.example.com.
Nachdem Sie die DNS-Autorisierung FIXED_RECORD erstellt haben, können Sie sie mit dem gcloud certificate-manager dns-authorizations describe-Befehl überprüfen:
gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME
Die entsprechende Ausgabe sieht etwa so aus: Suchen Sie in der Ausgabe nach dem Abschnitt dnsResourceRecord. Suchen Sie den CNAME-Eintrag und fügen Sie die Details des Eintrags (data, name und type) zu Ihrer DNS-Konfiguration hinzu.
createTime: '2022-01-14T13:35:00.258409106Z' dnsResourceRecord: data: 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.authorize.certificatemanager.goog. name: _acme-challenge.myorg.example.com. type: CNAME domain: myorg.example.com name: projects/myProject/locations/global/dnsAuthorizations/myAuthorization updateTime: '2022-01-14T13:35:01.571086137Z'
DNS-Autorisierung für jeden Eintrag
Verwenden Sie den folgenden Befehl gcloud certificate-manager dns-authorizations create, um eine PER_PROJECT_RECORD-DNS-Autorisierung zu erstellen:
gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \
--domain="DOMAIN_NAME" \
--type=PER_PROJECT_RECORD
Ersetzen Sie Folgendes:
AUTHORIZATION_NAME: der Name der DNS-Autorisierung.DOMAIN_NAME: der Name der Zieldomain, für die Sie diese DNS-Autorisierung erstellen. Der Domainname muss ein voll qualifizierter Domainname sein, z. B.myorg.example.com.
Nachdem Sie die DNS-Autorisierung PER_PROJECT_RECORD erstellt haben, können Sie sie mit dem gcloud certificate-manager dns-authorizations describe-Befehl überprüfen:
gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME
Die entsprechende Ausgabe sieht etwa so aus: Suchen Sie in der Ausgabe nach dem Abschnitt dnsResourceRecord. Suchen Sie den CNAME-Eintrag und fügen Sie die Details des Eintrags (data, name und type) zu Ihrer DNS-Konfiguration hinzu.
createTime: '2022-01-14T13:35:00.258409106Z' dnsResourceRecord: data: 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.authorize.certificatemanager.goog. name: _acme-challenge_ujmmovf2vn55tgye.myorg.example.com type: CNAME domain: myorg.example.com name: projects/myProject/locations/global/dnsAuthorizations/myAuthorization updateTime: '2022-01-14T13:35:01.571086137Z'
Terraform
Zum Erstellen einer DNS-Autorisierung können Sie eine google_certificate_manager_dns_authorization-Ressource verwenden.
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
API
Senden Sie zum Erstellen einer DNS-Autorisierung eine POST-Anfrage an die Methode dnsAuthorizations.create:
POST /v1/projects/PROJECT_ID/locations/global/dnsAuthorizations?dns_authorization_id=AUTHORIZATION_NAME
{
"domain": "DOMAIN_NAME",
"type": "PER_PROJECT_RECORD" //optional
}
Ersetzen Sie Folgendes:
PROJECT_ID: ID Ihres Google Cloud -Projekts.AUTHORIZATION_NAME: der Name der DNS-Autorisierung.DOMAIN_NAME: der Name der Zieldomain, für die Sie diese DNS-Autorisierung erstellen. Der Domainname muss ein voll qualifizierter Domainname sein, z. B.myorg.example.com.
Ein von Google verwaltetes Zertifikat erstellen, das auf die DNS-Autorisierung verweist
Führen Sie die folgenden Schritte aus, um ein von Google verwaltetes Zertifikat zu erstellen, das auf die in den vorherigen Schritten erstellte DNS-Autorisierung verweist:
Console
Rufen Sie in der Google Cloud Console die Seite Zertifikatmanager auf.
Klicken Sie auf dem Tab Certificates (Zertifikate) auf Add Certificate (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 Bereich die Option Standard aus.
Wählen Sie für Zertifikatstyp die Option Von Google verwaltetes Zertifikat erstellen aus.
Wählen Sie für Zertifizierungsstellentyp die Option Öffentlich aus.
Geben Sie im Feld Domainnamen eine durch Kommas getrennte Liste der Domainnamen des Zertifikats an. Jeder Domainname muss ein voll qualifizierter Domainname sein, z. B.
myorg.example.com. Der Domainname kann auch ein Platzhalterdomainname sein, z. B.*.example.com.Wählen Sie für Autorisierungstyp die Option DNS-Autorisierung aus.
Auf der Seite werden DNS-Autorisierungen der Domainnamen aufgeführt. Wenn für einen Domainnamen keine DNS-Autorisierung vorhanden ist, gehen Sie so vor, um eine zu erstellen:
- Klicken Sie auf Fehlende DNS-Autorisierung erstellen.
- Geben Sie im Feld Name der DNS-Autorisierung den Namen der DNS-Autorisierung an.
Der standardmäßige DNS-Autorisierungstyp ist
FIXED_RECORD. Wenn Sie Zertifikate in mehreren Projekten unabhängig voneinander verwalten möchten, aktivieren Sie das Kästchen Autorisierung pro Projekt. - Klicken Sie auf DNS-Autorisierung erstellen.
Geben Sie im Feld Labels die Labels an, die dem Zertifikat zugewiesen 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
Wenn Sie ein globales, von Google verwaltetes Zertifikat mit DNS-Autorisierung erstellen möchten, führen Sie den certificate-manager certificates create-Befehl mit dem Flag dns-authorizations aus:
gcloud certificate-manager certificates create CERTIFICATE_NAME \
--domains="DOMAIN_NAME,*.DOMAIN_NAME" \
--dns-authorizations="AUTHORIZATION_NAMES"
Ersetzen Sie Folgendes:
CERTIFICATE_NAME: Der Name des Zertifikats.DOMAIN_NAME: der Name der Zieldomain. Der Domainname muss ein voll qualifizierter Domainname sein, z. B.myorg.example.com, oder eine Platzhalterdomain, z. B.*.myorg.example.com. Das Präfix mit dem Sternchenpunkt(*.)steht für ein Platzhalterzertifikat.AUTHORIZATION_NAMES: eine durch Kommas getrennte Liste der Namen der DNS-Autorisierungen, die Sie für das Zertifikat erstellt haben.
Terraform
Verwenden Sie eine google_certificate_manager_certificate-Ressource.
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"],
"dnsAuthorizations": [
"projects/PROJECT_ID/locations/global/dnsAuthorizations/AUTHORIZATION_NAME",
],
}
}
Ersetzen Sie Folgendes:
PROJECT_ID: ID Ihres Google Cloud -Projekts.CERTIFICATE_NAME: Der Name des Zertifikats.DOMAIN_NAME: der Name der Zieldomain. Der Domainname muss ein voll qualifizierter Domainname sein, z. B.myorg.example.com, oder eine Platzhalterdomain, z. B.*.myorg.example.com. Das Präfix mit Sternchen und Punkt (*.) kennzeichnet ein Platzhalterzertifikat.AUTHORIZATION_NAMES: Eine durch Kommas getrennte Liste der Namen von DNS-Autorisierungen.
CNAME-Eintrag zu DNS-Konfiguration hinzufügen
Wenn Sie eine Drittanbieter-DNS-Lösung zum Verwalten Ihrer DNS-Einträge verwenden, lesen Sie in der Dokumentation nach, wie Sie den CNAME-Eintrag der DNS-Konfiguration hinzufügen. Wenn SieGoogle Cloud verwenden, um Ihre DNS-Einträge zu verwalten, führen Sie die Schritte in diesem Abschnitt aus.
Console
So erstellen Sie einen Datensatz:
Rufen Sie in der Google Cloud Console die Seite DNS-Zonen auf.
Klicken Sie auf den Namen der DNS-Zone, der Sie den Eintrag hinzufügen möchten.
Klicken Sie auf der Seite Zonendetails auf Standard hinzufügen.
Geben Sie auf der Seite Eintragssatz erstellen im Feld DNS-Name die Subdomain der DNS-Zone ein.
Achten Sie beim Eingeben des Subdomainnamens darauf, dass der Subdomainname einschließlich des ausgegrauten Texts, der im Feld DNS-Name angezeigt wird, mit dem vollständigen Wert des Felds
dnsResourceRecord.nameübereinstimmt, wie er in der Ausgabe des Befehlsgcloud certificate-manager dns-authorizations describeangezeigt wird.Betrachten Sie die folgenden Beispiele:
Wenn der Feldwert
dnsResourceRecord.namegleich_acme-challenge.myorg.example.com.ist und der ausgegraute Text im Feld DNS-Name gleich.example.com.ist, geben Sie_acme-challenge.myorgein.Wenn der Feldwert
dnsResourceRecord.name_acme-challenge.myorg.example.com.ist und der ausgegraute Text im Feld DNS-Name.myorg.example.com.lautet, geben Sie_acme-challengeein.Wenn der Wert des Felds
dnsResourceRecord.name_acme-challenge_ujmmovf2vn55tgye.myorg.example.com.ist und der ausgegraute Text im Feld DNS-Name.myorg.example.com.lautet, geben Sie_acme-challenge_ujmmovf2vn55tgyeein.
Wählen Sie im Feld Ressourceneintragstyp die Option CNAME aus.
Geben Sie im Feld TTL einen positiven numerischen Wert für die Gültigkeitsdauer des Ressourceneintrags ein. Das ist der Zeitraum, in dem er im Cache gespeichert werden kann.
Wählen Sie in der Liste TTL-Einheit die Zeiteinheit aus, z. B.
30 minutes.Geben Sie im Feld Kanonischer Name den vollständigen Wert des Felds
dnsResourceRecord.dataein, wie er in der Ausgabe des Befehlsgcloud certificate-manager dns-authorizations describeangezeigt wird.Wenn Sie zusätzliche Informationen eingeben möchten, klicken Sie auf Element hinzufügen.
Klicken Sie auf Erstellen.
gcloud
Wenn Sie eine DNS-Autorisierung erstellen, gibt der gcloud CLI-Befehl den entsprechenden CNAME-Eintrag zurück. So fügen Sie den CNAME-Eintrag Ihrer DNS-Konfiguration in der DNS-Zone der Zieldomain hinzu:
Starten Sie die Transaktion des DNS-Eintrags:
gcloud dns record-sets transaction start --zone="DNS_ZONE_NAME"
Ersetzen Sie
DNS_ZONE_NAMEdurch den Namen der Ziel-DNS-Zone.Fügen Sie den CNAME-Eintrag zur Ziel-DNS-Zone hinzu:
gcloud dns record-sets transaction add CNAME_RECORD \ --name="VALIDATION_SUBDOMAIN_NAME.DOMAIN_NAME." \ --ttl="30" \ --type="CNAME" \ --zone="DNS_ZONE_NAME"Ersetzen Sie Folgendes:
CNAME_RECORD: Der vollständige Datenwert des CNAME-Eintrags, der vom Google Cloud CLI-Befehl zurückgegeben wurde, mit dem die entsprechende DNS-Autorisierung erstellt wurde.VALIDATION_SUBDOMAIN_NAME: die Präfix-Subdomain der DNS-Zone, z. B._acme-challenge. Sie können den Namen aus dem Befehlsprotokollgcloud certificate-manager dns-authorizations describekopieren, wie unter DNS-Autorisierung erstellen beschrieben.DOMAIN_NAME: Der Name der Zieldomain. Der Domainname muss ein voll qualifizierter Domainname sein, z. B.myorg.example.com. Sie dürfen den Punkt am Ende nach dem Zieldomainnamen nicht weglassen.DNS_ZONE_NAME: der Name der Ziel-DNS-Zone.
Weitere Informationen zum Unterschied zwischen
FIXED_RECORD- undPER_PROJECT_RECORD-DNS-Autorisierungen finden Sie in den folgenden Beispielen. Der einzige Unterschied zwischen den beiden Beispielen ist der Wert des Flags--name.DNS-Autorisierung mit FIXED_RECORD
gcloud dns record-sets transaction add 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.authorize.certificatemanager.goog. \ --name="_acme-challenge.myorg.example.com." \ --ttl="30" \ --type="CNAME" \ --zone="myorg-example-com"DNS-Autorisierung für jeden Eintrag
gcloud dns record-sets transaction add 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.authorize.certificatemanager.goog. \ --name="_acme-challenge_ujmmovf2vn55tgye.myorg.example.com." \ --ttl="30" \ --type="CNAME" \ --zone="myorg-example-com"Führen Sie die Transaktion des DNS-Eintrags aus, um die Änderungen zu speichern:
gcloud dns record-sets transaction execute --zone="DNS_ZONE_NAME"
Ersetzen Sie
DNS_ZONE_NAMEdurch den Namen der Ziel-DNS-Zone.
Terraform
Sie können eine google_dns_record_set-Ressource verwenden, um den CNAME-Eintrag Ihrer DNS-Konfiguration hinzuzufügen.
Status des Zertifikats prüfen
Prüfen Sie vor der Bereitstellung eines Zertifikats auf einem Load Balancer, ob es aktiv ist. Es kann einige Minuten dauern, bis sich der Zertifikatstatus in ACTIVE ändert.
Console
Rufen Sie in der Google Cloud Console die Seite Zertifikatmanager auf.
Sehen Sie sich auf dem Tab Zertifikate die Spalte Status für das Zertifikat an.
gcloud
Führen Sie den folgenden Befehl aus, um den Status des Zertifikats zu prüfen:
gcloud certificate-manager certificates describe CERTIFICATE_NAME
Ersetzen Sie CERTIFICATE_NAME durch den Namen des Zielzertifikats, das von Google verwaltet wird.
Die Ausgabe sieht etwa so aus:
createTime: '2021-10-20T12:19:53.370778666Z'
expireTime: '2022-05-07T05:03:49Z'
managed:
authorizationAttemptInfo:
- domain: myorg.example.com
state: AUTHORIZED
dnsAuthorizations:
- projects/myProject/locations/global/dnsAuthorizations/myCert
domains:
- myorg.example.com
state: ACTIVE
name: projects/myProject/locations/global/certificates/myCert
pemCertificate: |
-----BEGIN CERTIFICATE-----
[...]
-----END CERTIFICATE-----
sanDnsnames:
- myorg.example.com
updateTime: '2021-10-20T12:19:55.083385630Z'
Wenn der Zertifikatsstatus nach mehreren Stunden nicht ACTIVE ist, prüfen Sie, ob Sie den CNAME-Eintrag korrekt in Ihre DNS-Konfiguration eingefügt haben.
Weitere Schritte zur Fehlerbehebung finden Sie unter Fehlerbehebung bei Certificate Manager.
Zertifikat für einen Load Balancer bereitstellen
Wenn Sie ein globales von Google verwaltetes Zertifikat bereitstellen möchten, verwenden Sie dazu eine Zertifikatszuordnung.
Zertifikatzuordnung erstellen
Erstellen Sie eine Zertifikatszuordnung, die auf den Zertifikatszuordnungseintrag 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 Zertifikatszuordnung können Sie eine google_certificate_manager_certificate_map-Ressource verwenden.
Zertifikatszuordnungseintrag erstellen
Erstellen Sie einen Zertifikatszuordnungseintrag und verknüpfen Sie ihn mit Ihrem Zertifikat und Ihrer Zertifikatszuordnung:
gcloud
Verwenden Sie den Befehl gcloud certificate-manager maps entries create, 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: Name des Zertifikatszuordnungseintrags.CERTIFICATE_MAP_NAME: Name der Zertifikatszuordnung, mit der der Zertifikatszuordnungseintrag verknüpft ist.CERTIFICATE_NAME: der Name des Zertifikats, das Sie mit dem Zertifikatszuordnungseintrag verknüpfen möchten.HOSTNAME: Der Hostname, den Sie dem Zertifikatszuordnungseintrag zuordnen möchten.Wenn 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 für die Zertifikatszuordnung angeben: einen fürexample.comund einen für*.example.com.
Terraform
Verwenden Sie eine google_certificate_manager_certificate_map_entry-Ressource, um einen Zertifikatszuordnungseintrag mit einer Stammdomain zu erstellen.
Wenn Sie einen Zertifikatszuordnungseintrag mit einer Platzhalterdomain erstellen möchten, verwenden Sie eine google_certificate_manager_certificate_map_entry-Ressource.
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 Befehl gcloud certificate-manager maps entries describe, 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: 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 Befehl gcloud compute target-https-proxies create, 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: Name des Ziel-Proxys.CERTIFICATE_MAP_NAME: Name der Zertifikatszuordnung, die auf den Zertifikatszuordnungseintrag und das zugehörige Zertifikat verweist.URL_MAP: der Name des URL-Mappings
Verwenden Sie den Befehl gcloud compute target-https-proxies update, um die Zertifikatszuordnung an einen vorhandenen Ziel-HTTPS-Proxy anzuhängen. Wenn Sie den Namen des vorhandenen Ziel-Proxys nicht kennen, rufen Sie die Seite Ziel-Proxys auf und notieren Sie sich den Namen des Ziel-Proxys.
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
Um die Zertifikatszuordnung an den Ziel-Proxy anzuhängen, können Sie eine google_compute_target_https_proxy-Ressource verwenden.
Wenn Sie beim Konfigurieren 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, um zu vermeiden, dass Ihrem Google Cloud Konto dafür Gebühren berechnet werden.
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 HTTPS-Ziel-Proxy behalten möchten, trennen Sie die Zertifikatszuordnung vom Proxy.
- Wenn dem Proxy TLS-Zertifikate (SSL) direkt zugewiesen sind, werden diese wieder verwendet, wenn die Zertifikatszuordnung getrennt wird.
- Wenn dem Proxy keine TLS-Zertifikate (SSL) direkt zugeordnet 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-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: Name des Zertifikatszuordnungseintrags.CERTIFICATE_MAP_NAME: 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 von Google verwaltete Zertifikat:
Console
Rufen Sie in der Google Cloud Console die Seite Zertifikatmanager auf.
Klicken Sie auf dem Tab Zertifikate das Kästchen des Zertifikats an.
Klicken Sie auf Löschen.
Klicken Sie im angezeigten Dialogfeld zur Bestätigung auf Löschen.
gcloud
gcloud certificate-manager certificates delete CERTIFICATE_NAME
Ersetzen Sie
CERTIFICATE_NAMEdurch den Namen des Zielzertifikats.Löschen Sie die DNS-Autorisierung:
gcloud certificate-manager dns-authorizations delete AUTHORIZATION_NAME
Ersetzen Sie
AUTHORIZATION_NAMEdurch den Namen der DNS-Autorisierung.