Regionales von Google verwaltetes Zertifikat bereitstellen


In dieser Anleitung wird beschrieben, wie Sie mit dem Zertifikatmanager ein regionales von Google verwaltetes Zertifikat auf einem regionalen externen Application Load Balancer oder einem regionalen internen Application Load Balancer bereitstellen.

Wenn Sie ein Zertifikat auf einem regionalen externen oder in einem regionalen internen Application Load Balancer bereitstellen möchten, hängen Sie das Zertifikat direkt an den Zielproxy an.

Lernziele

In diesem Anleitung werden die folgenden Aufgaben erläutert:

  • Mit dem Zertifikatmanager ein von Google verwaltetes Zertifikat erstellen, das von einer öffentlich vertrauenswürdigen Zertifizierungsstelle mit DNS-Autorisierung ausgestellt wurde. Zum Erstellen eines regionalen von Google verwalteten Zertifikats müssen Sie die DNS-Autorisierung pro Projekt verwenden.

  • Stellen Sie das Zertifikat mithilfe eines Ziel-HTTPS-Proxys für einen unterstützten Load-Balancer bereit.

Weitere Informationen zum Bereitstellen von Zertifikaten finden Sie unter Bereitstellungsübersicht.

Hinweise

  1. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  2. Zum Bereitstellen des Zertifikats ist mindestens die Google Cloud CLI-Version 465.0.0 erforderlich. Führen Sie den folgenden Befehl aus, um die Version der gcloud CLI zu prüfen:

    gcloud --version
    
  3. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu aktualisieren.

    gcloud components update
    
  4. Für die Ausführung der Aufgaben in dieser Anleitung benötigen Sie die folgenden Rollen:

    • Inhaber des Zertifikatmanagers: Erforderlich, um Zertifikatsmanager-Ressourcen zu erstellen und zu verwalten.
    • Compute Load Balancer Admin oder Compute Network Admin: 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:

Regionales von Google verwaltetes Zertifikat erstellen

Führen Sie die Schritte in diesem Abschnitt aus, um eine DNS-Autorisierung und ein von Google verwaltetes Zertifikat zu erstellen, das auf diese DNS-Autorisierung verweist.

DNS-Autorisierung erstellen

Erstellen Sie die DNS-Autorisierung wie in diesem Abschnitt beschrieben. 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.

gcloud

gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \
    --domain="DOMAIN_NAME" \
    --type=PER_PROJECT_RECORD \
    –-location="LOCATION" \
gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME \
    -–location="LOCATION"

Ersetzen Sie Folgendes:

  • AUTHORIZATION_NAME: der Name der DNS-Autorisierung.
  • DOMAIN_NAME: der Name der Domain, für die Sie diese DNS-Autorisierung erstellen. Der Domainname muss ein voll qualifizierter Domainname sein, z. B. myorg.example.com.
  • LOCATION: Der Speicherort, an dem Sie die DNS-Autorisierung erstellen.

Der Befehl gibt eine Ausgabe wie im folgenden Beispiel zurück. Verwenden Sie den CNAME-Eintrag aus der Ausgabe, um Ihrer DNS-Konfiguration hinzuzufügen.

createTime: '2022-01-14T13:35:00.258409106Z'
dnsResourceRecord:
data: 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.us-central1.authorize.certificatemanager.goog.
name: _acme-challenge_ujmmovf2vn55tgye.myorg.example.com.
type: CNAME
domain: myorg.example.com
name: projects/myProject/locations/us-central1/dnsAuthorizations/myAuthorization
updateTime: '2022-01-14T13:35:01.571086137Z'

DNS-Konfiguration den CNAME-Eintrag hinzufügen

Wenn Sie Ihr DNS mit Google Cloud verwalten, führen Sie die Schritte in diesem Abschnitt aus. Lesen Sie andernfalls in der Dokumentation zu Ihrer DNS-Lösung eines Drittanbieters nach.

Bevor Sie die Schritte in diesem Abschnitt ausführen, müssen Sie eine öffentliche DNS-Zone erstellt haben.

Wenn Sie eine DNS-Autorisierung erstellen, gibt der gcloud CLI-Befehl den entsprechenden CNAME-Eintrag zurück. Sie müssen diesen CNAME-Eintrag folgendermaßen Ihrer DNS-Konfiguration in der DNS-Zone der Zieldomain hinzufügen:

gcloud

  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 DNS-Zielzone.

  2. Fügen Sie den CNAME-Eintrag zur Ziel-DNS-Zone hinzu:

    gcloud dns record-sets transaction add CNAME_RECORD_DATA \
      --name= CNAME_RECORD_NAME \
      --ttl="30" \
      --type="CNAME" \
      --zone="DNS_ZONE_NAME"
    

    Ersetzen Sie Folgendes:

    • CNAME_RECORD_DATA: der vollständige Datenwert des CNAME-Eintrags, der vom gcloud CLI-Befehl zurückgegeben wird, mit dem die entsprechende DNS-Autorisierung erstellt wurde.
    • CNAME_RECORD_NAME: der vollständige Name des CNAME-Eintrags, der vom gcloud CLI-Befehl zurückgegeben wird, mit dem die entsprechende DNS-Autorisierung erstellt wurde.
    • DNS_ZONE_NAME: der Name der DNS-Zielzone.

    Sehen Sie sich folgendes Beispiel an:

    gcloud dns record-sets transaction add 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.us-central1.authorize.certificatemanager.goog. \
      --name="_acme-challenge_ujmmovf2vn55tgye.myorg.example.com" \
      --ttl="30" \
      --type="CNAME" \
      --zone="example-com"
    
  3. Führen Sie die DNS-Eintragstransaktion aus, um Ihre Änderungen zu speichern:

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

    Ersetzen Sie DNS_ZONE_NAME durch den Namen der DNS-Zielzone.

Regionales von Google verwaltetes Zertifikat erstellen, das auf die DNS-Autorisierung verweist

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

gcloud

Führen Sie dazu diesen Befehl aus:

gcloud certificate-manager certificates create CERTIFICATE_NAME \
   --domains=DOMAIN_NAME \
   --dns-authorizations=AUTHORIZATION_NAME \
   --location=LOCATION

Ersetzen Sie Folgendes:

  • CERTIFICATE_NAME: Ein eindeutiger Name des Zertifikats.
  • DOMAIN_NAME: die Zieldomain des Zertifikats. Das mit einem Sternchen (*) gekennzeichnete Präfix (*.) kennzeichnet ein Platzhalterzertifikat. Der Domainname muss ein voll qualifizierter Domainname wie myorg.example.com sein.
  • AUTHORIZATION_NAME: der Name der DNS-Autorisierung, die Sie für dieses Zertifikat erstellt haben.
  • LOCATION: Der Speicherort, an dem Sie das von Google verwaltete Zertifikat erstellen.

Verwenden Sie den folgenden Befehl, um ein von Google verwaltetes Zertifikat mit einem Platzhalter-Domainnamen zu erstellen. Ein Zertifikat für den Domainnamen mit Platzhalter deckt alle Subdomains der ersten Ebene einer bestimmten Domain ab.

gcloud certificate-manager certificates create CERTIFICATE_NAME \
   --domains="*.DOMAIN_NAME,DOMAIN_NAME" \
   --dns-authorizations=AUTHORIZATION_NAME
   --location=LOCATION

Ersetzen Sie Folgendes:

  • CERTIFICATE_NAME: Ein eindeutiger Name des Zertifikats.
  • DOMAIN_NAME: die Zieldomain des Zertifikats. Das Präfix *. kennzeichnet ein Platzhalterzertifikat. Der Domainname muss ein voll qualifizierter Domainname wie myorg.example.com sein.
  • AUTHORIZATION_NAME: der Name der DNS-Autorisierung, die Sie für dieses Zertifikat erstellt haben.
  • LOCATION: Der Speicherort, an dem Sie das von Google verwaltete Zertifikat erstellen.

Prüfen, ob das Zertifikat aktiv ist

Prüfen Sie mit dem folgenden Befehl, ob das Zertifikat selbst aktiv ist, bevor Sie es auf dem Load-Balancer bereitstellen. Es kann mehrere Stunden dauern, bis sich der Zertifikatstatus in ACTIVE ändert.

gcloud certificate-manager certificates describe CERTIFICATE_NAME \
    --location=LOCATION

Ersetzen Sie Folgendes:

  • CERTIFICATE_NAME: Ein eindeutiger Name des Zertifikats.
  • LOCATION: Der Speicherort, an dem Sie das von Google verwaltete Zertifikat erstellt haben.

Die Ausgabe sieht in etwa so aus:

certificatePem: myPEM
createTime: '2021-10-20T12:19:53.370778666Z'
expireTime: '2022-05-07T05:03:49Z'
managed:
  authorizationAttemptInfo:
  - domain: myorg.example.com
    state: AUTHORIZED
  dnsAuthorizations:
  -  projects/my-project/locations/us-central1/dnsAuthorizations/myAuth
  domains:
  - myorg.example.com
  state: ACTIVE
name: projects/myProject/locations/us-central1/certificates/myCert
scope: myScope
sanDnsnames:
- myorg.example.com
updateTime: '2021-10-20T12:19:55.083385630Z'

Zertifikat für einen Load-Balancer bereitstellen

Führen Sie die folgenden Schritte aus, um das von Google verwaltete Zertifikat für einen Load-Balancer bereitzustellen.

Bevor Sie mit den Aufgaben in diesem Abschnitt fortfahren, müssen Sie alle Aufgaben ausgeführt haben, die im Abschnitt Regionales von Google verwaltetes Zertifikat erstellen aufgeführt sind.

Wenn Sie ein regionales von Google verwaltetes Zertifikat auf einem regionalen externen oder regionalen internen Application Load Balancer bereitstellen möchten, hängen Sie das Zertifikat direkt an den Zielproxy an, um es bereitzustellen.

Hängen Sie das Zertifikat direkt an den Zielproxy an

Führen Sie den folgenden Befehl aus, um das Zertifikat direkt an den Proxy anzuhängen:

gcloud compute target-https-proxies update PROXY_NAME \
    --url-map=URL_MAP \
    --region=REGION \
    --certificate-manager-certificates=CERTIFICATE_NAME

Ersetzen Sie Folgendes:

  • PROXY_NAME: Ein eindeutiger Name des Proxys.
  • URL_MAP: der Name der URL-Zuordnung, die Sie beim Erstellen des Load-Balancers erstellt haben.
  • REGION: Die Region, in der der HTTPS-Zielproxy erstellt werden soll.
  • CERTIFICATE_NAME: der Name des Zertifikats.

Bereinigen

Mit den folgenden Schritten können Sie die in dieser Anleitung vorgenommenen Änderungen rückgängig machen:

  1. Löschen Sie das von Google verwaltete Zertifikat:
    gcloud certificate-manager certificates delete CERTIFICATE_NAME
       --location=LOCATION
    
    Ersetzen Sie Folgendes:
  • CERTIFICATE_NAME: der Name des Zertifikats.
  • LOCATION: Der Speicherort, an dem Sie das von Google verwaltete Zertifikat erstellt haben.
  1. Löschen Sie die DNS-Autorisierung:
    gcloud certificate-manager dns-authorizations delete AUTHORIZATION_NAME
       --location=LOCATION
    
    Ersetzen Sie Folgendes:
  • AUTHORIZATION_NAME: der Name der DNS-Autorisierung.
  • LOCATION: der Ort, an dem Sie die DNS-Autorisierung erstellt haben.

Nächste Schritte