Load Balancer-Zertifikate zum Zertifikatmanager migrieren


In dieser Anleitung erfahren Sie, wie Sie Cloud Load Balancing-Zertifikate zu Certificate Manager migrieren. Weitere Informationen zu Cloud Load Balancing-Zertifikaten finden Sie in der Cloud Load Balancing-Dokumentation unter SSL-Zertifikate – Übersicht.

Wenn Sie Cloud Load Balancing-Zertifikate ohne Ausfallzeit migrieren möchten, müssen Sie zuerst die Zertifikate identifizieren, die Sie migrieren möchten. Erstellen Sie dann dieselbe Anzahl von von Google verwalteten Zertifikaten wie Ihre Cloud Load Balancing-Zertifikate. Anschließend konsolidieren Sie die Zertifikate in einer einzigen Zertifikatszuordnung und testen die Zertifikatszuordnung in einem anderen Load Balancer. Wenn die Tests erfolgreich sind, hängen Sie die Zertifikatzuordnung an den Ziel-Load Balancer an, auf dem Ihre Cloud Load Balancing-Zertifikate gehostet werden.

Eine Liste der unterstützten Load Balancer finden Sie in der Übersicht über Certificate Manager.

Lernziele

In diesem Anleitung werden die folgenden Aufgaben erläutert:

  • Identifizieren Sie die Zertifikate des Ziel-Load Balancers, die migriert werden sollen.
  • Erstellen Sie von Google verwaltete Zertifikate.
  • Erstellen Sie eine Zertifikatzuordnung und Zertifikatzuordnungseinträge.
  • Testen Sie die Zertifikatzuordnung in einem anderen Load Balancer.
  • Hängen Sie die Zertifikatszuordnung an den Ziel-Load Balancer an.

Hinweis

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine, Certificate Manager APIs.

    Enable the APIs

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Compute Engine, Certificate Manager APIs.

    Enable the APIs

  10. Install the Google Cloud CLI.
  11. 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.

  • DNS-Administrator (roles/dns.admin)

    Erforderlich, wenn Sie Cloud DNS als DNS-Lösung verwenden möchten.

Hier finden Sie weitere Informationen:

Zu migrierende Zertifikate identifizieren

So ermitteln Sie die Zertifikate, die Sie migrieren möchten:

  1. Geben Sie auf dem Load Balancer den Namen des Zielproxys an.

  2. Geben Sie die Zertifikate an, die Sie migrieren möchten.

    Führen Sie den folgenden Befehl aus, um die mit einem Ziel-Proxy verknüpften Zertifikate zu finden:

    gcloud compute target-https-proxies describe TARGET_PROXY_NAME
    

    Ersetzen Sie TARGET_PROXY_NAME durch den Namen des Zielproxies.

    Die Ausgabe sieht in etwa so aus:

    creationTimestamp: '2021-10-06T04:05:07.520-07:00'
    fingerprint: c9Txdx6AfcM=
    id: '365692570234384780'
    kind: compute#targetHttpsProxy
    name: my-proxy
    selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/targetHttpsProxies/my-proxy
    sslCertificates:
    - https://www.googleapis.com/compute/v1/projects/my-project/global/sslCertificates/my-first-certificate
    - https://www.googleapis.com/compute/v1/projects/my-project/global/sslCertificates/my-second-certificate
    urlMap: https://www.googleapis.com/compute/v1/projects/my-project/global/urlMaps/my-map
    

    Notieren Sie sich die Namen der Zertifikate, die im Feld sslCertificates aufgeführt sind. Weitere Informationen finden Sie unter Zielproxys – Übersicht.

  3. Details zu den einzelnen Zertifikaten abrufen:

    gcloud compute ssl-certificates --project=PROJECT_ID describe LB_CERTIFICATE_NAME
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: ID des Google Cloud-Projekts.
    • LB_CERTIFICATE_NAME: der Name des Load Balancer-Zertifikats.

    Die Ausgabe sieht in etwa so aus:

       certificate: |
         -----BEGIN CERTIFICATE-----
         MIIFYjCCBEqgAwIBAgIQd70NbNs2+RrqIQ/E8FjTDTANBgkqhkiG9w0BAQsFADBX
         MQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEQMA4GA1UE
         CxMHUm9vdCBDQTEbMBkGA1UEAxMSR2xvYmFsU2lnbiBSb290IENBMB4XDTIwMDYx
         OTAwMDA0MloXDTI4MDEyODAwMDA0MlowRzELMAkGA1UEBhMCVVMxIjAgBgNVBAoT
         GUdvb2dsZSBUcnVzdCBTZXJ2aWNlcyBMTEMxFDASBgNVBAMTC0dUUyBSb290IFIx
         MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAthECix7joXebO9y/lD63
         ladAPKH9gvl9MgaCcfb2jH/76Nu8ai6Xl6OMS/kr9rH5zoQdsfnFl97vufKj6bwS
         iV6nqlKr+CMny6SxnGPb15l+8Ape62im9MZaRw1NEDPjTrETo8gYbEvs/AmQ351k
         KSUjB6G00j0uYODP0gmHu81I8E3CwnqIiru6z1kZ1q+PsAewnjHxgsHA3y6mbWwZ
         DrXYfiYaRQM9sHmklCitD38m5agI/pboPGiUU+6DOogrFZYJsuB6jC511pzrp1Zk
         j5ZPaK49l8KEj8C8QMALXL32h7M1bKwYUH+E4EzNktMg6TO8UpmvMrUpsyUqtEj5
         cuHKZPfmghCN6J3Cioj6OGaK/GP5Afl4/Xtcd/p2h/rs37EOeZVXtL0m79YB0esW
         CruOC7XFxYpVq9Os6pFLKcwZpDIlTirxZUTQAs6qzkm06p98g7BAe+dDq6dso499
         iYH6TKX/1Y7DzkvgtdizjkXPdsDtQCv9Uw+wp9U7DbGKogPeMa3Md+pvez7W35Ei
         Eua++tgy/BBjFFFy3l3WFpO9KWgz7zpm7AeKJt8T11dleCfeXkkUAKIAf5qoIbap
         sZWwpbkNFhHax2xIPEDgfg1azVY80ZcFuctL7TlLnMQ/0lUTbiSw1nH69MG6zO0b
         9f6BQdgAmD06yK56mDcYBZUCAwEAAaOCATgwggE0MA4GA1UdDwEB/wQEAwIBhjAP
         BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTkrysmcRorSCeFL1JmLO/wiRNxPjAf
         BgNVHSMEGDAWgBRge2YaRQ2XyolQL30EzTSo//z9SzBgBggrBgEFBQcBAQRUMFIw
         JQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnBraS5nb29nL2dzcjEwKQYIKwYBBQUH
         MAKGHWh0dHA6Ly9wa2kuZ29vZy9nc3IxL2dzcjEuY3J0MDIGA1UdHwQrMCkwJ6Al
         oCOGIWh0dHA6Ly9jcmwucGtpLmdvb2cvZ3NyMS9nc3IxLmNybDA7BgNVHSAENDAy
         MAgGBmeBDAECATAIBgZngQwBAgIwDQYLKwYBBAHWeQIFAwIwDQYLKwYBBAHWeQIF
         AwMwDQYJKoZIhvcNAQELBQADggEBADSkHrEoo9C0dhemMXoh6dFSPsjbdBZBiLg9
         NR3t5P+T4Vxfq7vqfM/b5A3Ri1fyJm9bvhdGaJQ3b2t6yMAYN/olUazsaL+yyEn9
         WprKASOshIArAoyZl+tJaox118fessmXn1hIVw41oeQa1v1vg4Fv74zPl6/AhSrw
         9U5pCZEt4Wi4wStz6dTZ/CLANx8LZh1J7QJVj2fhMtfTJr9w4z30Z209fOU0iOMy
         +qduBmpvvYuR7hZL6Dupszfnw0Skfths18dG9ZKb59UhvmaSGZRVbNQpsg3BZlvi
         d0lIKO2d1xozclOzgjXPYovJJIultzkMu34qQb9Sz/yilrbCgj8=
         -----END CERTIFICATE-----
       creationTimestamp: '2021-05-06T04:39:21.736-07:00'
       expireTime: '2022-06-07T01:10:34.000-07:00'
       id: '6422259403966690822'
       kind: compute#sslCertificate
       managed:
          domainStatus:
          a.my-domain1.example.com: ACTIVE
          b.my-domain2.example.com: ACTIVE
          domains:
          - a.my-domain1.example.com
          - b.my-domain2.example.com
          status: ACTIVE
       name: my-certificate
       selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/sslCertificates/my-certificate
       subjectAlternativeNames:
       - a. my-domain1.example.com
       - b. my-domain2.example.com
       type: MANAGED
    

Von Google verwaltete Zertifikate erstellen

Erstellen Sie dieselbe Anzahl von von Google verwalteten Zertifikaten wie Ihre Load Balancer-Zertifikate. Erstellen Sie für einen globalen oder klassischen Load Balancer globale Zertifikate, für einen regionalen Load Balancer regionale Zertifikate und für einen regionenübergreifenden Load Balancer regionenübergreifende Zertifikate. Bevor Sie die Zertifikate erstellen, müssen Sie eine DNS-Autorisierung erstellen und den CNAME-Eintrag der autoritativen DNS-Zone für Ihre Domain hinzufügen.

Sie können von Google verwaltete Zertifikate mit DNS-Autorisierung (empfohlen) oder selbstverwaltete Zertifikate erstellen.

In diesem Abschnitt werden Schritte und Befehle zum Erstellen von globalen von Google verwalteten Zertifikaten aufgeführt. Informationen zum Erstellen eines regionalen oder regionsübergreifenden von Google verwalteten Zertifikats finden Sie unter Von Google verwaltetes Zertifikat erstellen.

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 Wildcard-Zertifikat wie *.myorg.example.com erstellen, konfigurieren Sie die DNS-Autorisierung für die übergeordnete Domain, z. B. myorg.example.com.

Console

Sie können beim Erstellen eines Zertifikats eine DNS-Autorisierung erstellen oder eine vorhandene DNS-Autorisierung anhängen. Weitere Informationen finden Sie unter Ein von Google verwaltetes Zertifikat erstellen, das auf die DNS-Autorisierung verweist.

gcloud

Verwenden Sie den Befehl certificate-manager dns-authorizations create, um eine DNS-Autorisierung zu erstellen:

gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \
    --domain="DOMAIN_NAME"

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.

Bei globalen von Google verwalteten Zertifikaten wird FIXED_RECORD als Standardtyp für die DNS-Autorisierung verwendet. Führen Sie den folgenden Befehl aus, um die PER_PROJECT_RECORD-DNS-Autorisierung zu verwenden:

gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \
    --domain="DOMAIN_NAME" \
    --type="PER_PROJECT_RECORD"

Prüfen Sie die DNS-Autorisierung nach dem Erstellen mit dem Befehl certificate-manager dns-authorizations describe:

gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME \

Die entsprechende Ausgabe sieht etwa so aus: Suchen Sie in der Ausgabe nach der Zeile dnsResourceRecord und rufen Sie den CNAME-Eintrag (data, name und type) ab, um ihn Ihrer DNS-Konfiguration hinzuzufügen.

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'

Terraform

Zum Erstellen einer DNS-Autorisierung können Sie eine google_certificate_manager_dns_authorization-Ressource verwenden.

resource "google_certificate_manager_dns_authorization" "default" {
  name        = "${local.name}-dnsauth-${random_id.tf_prefix.hex}"
  description = "The default dns auth"
  domain      = local.domain
  labels = {
    "terraform" : true
  }
}

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 des 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

So erstellen Sie ein globales von Google verwaltetes Zertifikat, das auf die in den vorherigen Schritten erstellte DNS-Autorisierung verweist:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Zertifikatmanager auf.

    Zum Zertifikatmanager

  2. Klicken Sie auf dem Tab Zertifikate auf Zertifikat hinzufügen.

  3. Geben Sie im Feld Zertifikatname einen eindeutigen Namen für das Zertifikat ein.

  4. Optional: Geben Sie im Feld Beschreibung eine Beschreibung für das Zertifikat ein. Anhand der Beschreibung können Sie das Zertifikat identifizieren.

  5. Wählen Sie unter Standort die Option Global aus.

  6. Wählen Sie für Umfang die Option Standard aus.

  7. Wählen Sie unter Zertifikattyp die Option Von Google verwaltetes Zertifikat erstellen aus.

  8. Wählen Sie für Zertifizierungsstellentyp die Option Öffentlich aus.

  9. 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 Platzhalter-Domainname sein, z. B. *.example.com.

  10. Wählen Sie unter Autorisierungstyp die Option DNS-Autorisierung aus.

    Auf der Seite werden DNS-Autorisierungen der Domainnamen aufgeführt. Wenn einem Domainnamen keine DNS-Autorisierung zugewiesen ist, gehen Sie so vor, um eine zu erstellen:

    1. Klicken Sie auf Fehlende DNS-Autorisierung erstellen.
    2. Geben Sie im Feld Name der DNS-Autorisierung den Namen der DNS-Autorisierung an. Der Standardtyp der DNS-Autorisierung ist FIXED_RECORD. Wenn Sie die projektspezifische DNS-Autorisierung verwenden möchten, klicken Sie das Kästchen Projektspezifische Autorisierung an.
    3. Klicken Sie auf DNS-Autorisierung erstellen.
  11. 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.

  12. 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 Befehl certificate-manager certificates create 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 ist der Name des Zertifikats.
  • DOMAIN_NAME: der Name der Zieldomain. Der Domainname muss ein voll qualifizierter Domainname wie myorg.example.com oder eine Platzhalterdomain wie *.myorg.example.com sein. Das Präfix „Sternchen Punkt“ (*.) 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.

resource "google_certificate_manager_certificate" "root_cert" {
  name        = "${local.name}-rootcert-${random_id.tf_prefix.hex}"
  description = "The wildcard cert"
  managed {
    domains = [local.domain, "*.${local.domain}"]
    dns_authorizations = [
      google_certificate_manager_dns_authorization.default.id
    ]
  }
  labels = {
    "terraform" : true
  }
}

API

So erstellen Sie das Zertifikat:POSTcertificates.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 des Google Cloud-Projekts.
  • CERTIFICATE_NAME ist der Name des Zertifikats.
  • DOMAIN_NAME: der Name der Zieldomain. Der Domainname muss ein voll qualifizierter Domainname wie myorg.example.com oder eine Platzhalterdomain wie *.myorg.example.com sein. Das Präfix „Sternchen Punkt“ (*.) steht für ein Platzhalterzertifikat.
  • AUTHORIZATION_NAMES: eine durch Kommas getrennte Liste der Namen der DNS-Autorisierungen.

CNAME-Eintrag zu DNS-Konfiguration hinzufügen

Wenn Sie eine DNS-Lösung eines Drittanbieters zur Verwaltung Ihres DNS verwenden, lesen Sie die zugehörige Dokumentation, um den CNAME-Eintrag der DNS-Konfiguration hinzuzufügen. Wenn SieGoogle Cloud zum Verwalten Ihres DNS verwenden, führen Sie die Schritte in diesem Abschnitt aus.

Console

So erstellen Sie einen Datensatz:

  1. Rufen Sie in der Google Cloud Console die Seite DNS-Zonen auf.

    Cloud DNS-Zonen aufrufen

  2. Klicken Sie auf den Namen der DNS-Zone, der Sie den Eintrag hinzufügen möchten.

  3. Klicken Sie auf der Seite Zonendetails auf Standard hinzufügen.

  4. Geben Sie auf der Seite Eintrag erstellen im Feld DNS-Name die Subdomain der DNS-Zone ein.

    Achten Sie beim Eingeben des Subdomain-Namens darauf, dass der Subdomain-Name, einschließlich des ausgegrauten Texts im Feld DNS-Name, mit dem vollständigen Wert des Felds dnsResourceRecord.name übereinstimmt, wie er in der Ausgabe des Befehls gcloud certificate-manager dns-authorizations describe angezeigt wird.

    Betrachten Sie die folgenden Beispiele:

    • Wenn der Wert des Felds dnsResourceRecord.name _acme-challenge.myorg.example.com. ist und der ausgegraute Text im Feld DNS-Name .example.com. lautet, geben Sie _acme-challenge.myorg ein.

    • Wenn der Wert des Felds dnsResourceRecord.name _acme-challenge.myorg.example.com. ist und der ausgegraute Text im Feld DNS-Name .myorg.example.com. lautet, geben Sie _acme-challenge ein.

    • 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_ujmmovf2vn55tgye ein.

  5. Wählen Sie im Feld Ressourceneintragstyp die Option CNAME aus.

  6. Geben Sie im Feld TTL einen positiven numerischen Wert für die Gültigkeitsdauer des Ressourceneintrags ein, also den Zeitraum, den er im Cache gespeichert werden kann.

  7. Wählen Sie in der Liste TTL-Einheit die Zeiteinheit aus, z. B. 30 minutes.

  8. Geben Sie in das Feld Kanonischer Name den vollständigen Wert des Felds dnsResourceRecord.data ein, wie er in der Ausgabe des Befehls gcloud certificate-manager dns-authorizations describe angezeigt wird.

  9. Wenn Sie zusätzliche Informationen eingeben möchten, klicken Sie auf Element hinzufügen.

  10. Klicken Sie auf Erstellen.

gcloud

Wenn Sie eine DNS-Autorisierung erstellen, gibt der gcloud-Befehl den entsprechenden CNAME-Eintrag zurück. So fügen Sie den CNAME-Eintrag Ihrer DNS-Konfiguration in der DNS-Zone der Zieldomain hinzu:

  1. Starten Sie die Transaktion des DNS-Eintrags:

    gcloud dns record-sets transaction start --zone="DNS_ZONE_NAME"
    

    Ersetzen Sie DNS_ZONE_NAME durch den Namen der Ziel-DNS-Zone.

  2. 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 gcloud certificate-manager dns-authorizations describe-Befehlsprotokoll kopieren, 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.

    Sehen Sie sich folgendes Beispiel an:

    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"
    
  3. 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_NAME durch 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.

resource "google_dns_record_set" "cname" {
  name         = google_certificate_manager_dns_authorization.default.dns_resource_record[0].name
  managed_zone = google_dns_managed_zone.default.name
  type         = google_certificate_manager_dns_authorization.default.dns_resource_record[0].type
  ttl          = 300
  rrdatas      = [google_certificate_manager_dns_authorization.default.dns_resource_record[0].data]
}

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

  1. Rufen Sie in der Google Cloud Console die Seite Zertifikatmanager auf.

    Zum Zertifikatmanager

  2. Prüfen Sie auf dem Tab Zertifikate in der Spalte Status den Status des Zertifikats.

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 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
  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 Ihrer DNS-Konfiguration korrekt hinzugefügt haben.

Weitere Schritte zur Fehlerbehebung finden Sie unter Fehlerbehebung bei Certificate Manager.

Zertifikatzuordnung erstellen

Wenn Sie ein Zertifikat auf einem globalen externen Application Load Balancer bereitstellen möchten, erstellen Sie eine Zertifikatszuordnung.

gcloud certificate-manager maps create CERTIFICATE_MAP_NAME

Ersetzen Sie Folgendes:

  • CERTIFICATE_MAP_NAME: der Name der Zertifikatszuordnung.

Zertifikatzuordnungseinträge erstellen

Wenn Sie ein Zertifikat für einen globalen externen Application Load Balancer bereitstellen möchten, erstellen Sie einen Eintrag in der Zertifikatzuordnung.

Erstellen Sie für jedes Zertifikat, das Sie migrieren möchten, Zertifikatzuordnungseinträge, die auf diese Zertifikate verweisen. Gehen Sie dazu so vor:

  1. Rufen Sie die Details des Zertifikats ab.

  2. Erstellen Sie im Protokoll für jede im Feld subjectAlternativeNames aufgeführte Domain einen Zertifikatzuordnungseintrag, der diese Domain abdeckt. Wenn mehrere Zertifikate eine einzelne Domain abdecken, müssen Sie nur einen Zertifikatszuordnungseintrag erstellen und ein gültiges Zertifikat für diese Domain verwenden.

    gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \
        --map="CERTIFICATE_MAP_NAME" \
        --certificates="CERTIFICATE_NAMES" \
        --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_NAMES: eine durch Kommas getrennte Liste der Namen der Zertifikate, die Sie mit diesem Eintrag der Zertifikatszuordnung verknüpfen möchten.
    • HOSTNAME: der Hostname, den Sie dem Zertifikatszuordnungseintrag zuordnen möchten.
  3. Optional: Erstellen Sie einen primären Eintrag für die Zertifikatszuordnung, der auf das Zertifikat verweist, das dem ersten Zertifikat aus der Liste der Zertifikate entspricht, die ursprünglich mit dem Proxy verknüpft waren.

    gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \
       --map="CERTIFICATE_MAP_NAME" \
       --certificates="CERTIFICATE_NAMES" \
       --set-primary
    

    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_NAMES: eine durch Kommas getrennte Liste der Namen der Zertifikate, die Sie mit diesem Eintrag der Zertifikatszuordnung verknüpfen möchten.
  4. Führen Sie den folgenden Befehl aus, um den aktiven Status der von Ihnen erstellten Zertifikatzuordnungseinträge 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_MAP_NAME: der Name der Zertifikatszuordnung, an die der Eintrag der Zertifikatszuordnung angehängt ist.

    Die Ausgabe sieht in etwa so aus:

       certificates:
       - projects/my-project/locations/global/certificates/my-certificate
       createTime: '2021-09-06T10:01:56.229472109Z'
       hostname: example.com
       name: projects/my-project/locations/global/certificateMaps/myCertMap/certificateMapEntries/my-map-entry
       state: ACTIVE
       updateTime: '2021-09-06T10:01:58.277031787Z'
    

Optional: Konfiguration auf einem neuen Load Balancer testen

Um Ausfallzeiten zu minimieren, empfehlen wir, die neu konfigurierten Zertifikatszuordnungen auf einem neuen Load Balancer zu testen, der keinen Produktionstraffic verarbeitet. So können Sie Fehler erkennen und beheben, bevor Sie mit der Migration in Ihrer Produktionsumgebung fortfahren.

So testen Sie die Konfiguration:

  1. Erstellen Sie einen globalen Load Balancer mit einem neuen Zielproxy. Informationen zum Erstellen eines Load Balancers finden Sie auf den folgenden Seiten:

  2. Hängen Sie die Zertifikatszuordnung an den Zielproxy des neuen Load Balancers an.

    gcloud compute target-https-proxies create TEST_PROXY_NAME \
        --certificate-map="CERTIFICATE_MAP_NAME" \
        --global
    

    Ersetzen Sie Folgendes:

    • TEST_PROXY_NAME: der Name des Proxys für das Testziel.
    • CERTIFICATE_MAP_NAME: Der Name der Zertifikatszuordnung, der auf den Eintrag der Zertifikatszuordnung und das zugehörige Zertifikat verweist.
  3. Testen Sie für jede Zieldomain, die in der Migration enthalten ist, die Verbindung zur Domain über die IP-Adresse des neuen Load Balancers:

    openssl s_client -showcerts -servername DOMAIN_NAME -connect IP_ADDRESS:443
    

    Ersetzen Sie Folgendes:

    • DOMAIN_NAME: der Name der Zieldomain.
    • IP_ADDRESS: die IP-Adresse Ihres neuen Load Balancers.

    Weitere Informationen zum Testen der Konnektivität finden Sie unter Mit OpenSSL testen.

Testumgebung bereinigen

Bereinigen Sie die Testumgebung, die Sie in den vorherigen Schritten erstellt haben.

Löschen Sie den Test-Load Balancer wie unter Load Balancer löschen beschrieben.

Löschen Sie die Zertifikate, die Zertifikatszuordnung und die Einträge in der Zertifikatszuordnung, die Sie in den vorherigen Schritten erstellt haben, nicht.

Neue Zertifikatzuordnung auf den Ziel-Load Balancer anwenden

Nachdem Sie die neue Zertifikatskonfiguration getestet und bestätigt haben, dass sie gültig ist, wenden Sie die neue Zertifikatszuordnung auf den Ziel-Load Balancer (den Load Balancer, der Ihre Zertifikate hostet) an. Gehen Sie dazu so vor:

  1. Wenn Sie einen globalen Load Balancer verwenden, hängen Sie die Zertifikatzuordnung an den Zielproxy des neuen Load Balancers an:

    gcloud compute target-https-proxies update TARGET_PROXY_NAME \
        --certificate-map="CERTIFICATE_MAP_NAME" \
        --global
    

    Ersetzen Sie Folgendes:

    • TARGET_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.
  2. Warten Sie, bis die Konfigurationsänderung angewendet wurde und der Load Balancer mit dem Bereitstellen des neuen Zertifikats begonnen hat. Das dauert in der Regel nur wenige Minuten, kann aber auch bis zu 30 Minuten in Anspruch nehmen.

Ihre Zertifikate wurden migriert. Wenn Sie Probleme mit Ihrem Traffic feststellen, trennen Sie die neue Zertifikatzuordnung vom Zielproxy. Dadurch wird der Load Balancer auf seine ursprüngliche Konfiguration zurückgesetzt.

Nächste Schritte