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 auf einem regionalen internen Application Load Balancer bereitstellen.

Wenn Sie ein Zertifikat für einen regionalen externen Application Load Balancer oder einen regionalen internen Application Load Balancer bereitstellen möchten, hängen Sie es direkt an den Zielproxy an.

Lernziele

In diesem Anleitung werden die folgenden Aufgaben erläutert:

  • Erstellen Sie mit dem Zertifikatmanager ein von einer öffentlich vertrauenswürdigen Zertifizierungsstelle ausgestelltes, von Google verwaltetes Zertifikat mit DNS-Autorisierung. So erstellen Sie ein Regionales von Google verwaltetes Zertifikat, das Sie pro Projekt verwenden müssen Autorisierung.

  • Bereitstellen des Zertifikats auf einem unterstützten Load Balancer mit einem HTTPS-Zielproxy

Weitere Informationen zur Bereitstellung von Zertifikaten finden Sie unter Bereitstellungsübersicht.

Hinweise

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Für die Bereitstellung des Zertifikats ist die Google Cloud CLI-Version 465.0.0 oder höher 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. Sie benötigen die folgenden Rollen, um die Aufgaben in diesem Anleitung:

    • Zertifikatmanager-Inhaber: Erforderlich zum Erstellen und Verwalten von Zertifikatmanager-Ressourcen.
    • Administrator für Compute-Load-Balancer oder Compute-Netzwerkadministrator: 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 Wildcard-Zertifikat wie *.myorg.example.com erstellen, konfigurieren Sie die DNS-Autorisierung für die übergeordnete Domain, z. B. myorg.example.com.

Bei einem regionalen von Google verwalteten Zertifikat ist der DNS-Autorisierungstyp ausschließlich auf PER_PROJECT_RECORD festgelegt.

gcloud

gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \
    --domain="DOMAIN_NAME" \
    --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 Name sein. Domainname, 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 ihn 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'

CNAME-Eintrag zu DNS-Konfiguration hinzufügen

Wenn Sie Google Cloud zum Verwalten Ihres DNS verwenden, führen Sie die Schritte in diesem Abschnitt aus. Weitere Informationen finden Sie in der Dokumentation Ihrer DNS-Lösung eines Drittanbieters.

Stellen Sie vor dem Ausführen der Schritte in diesem Abschnitt sicher, dass Sie Sie haben eine öffentliche DNS-Zone erstellt.

Wenn Sie eine DNS-Autorisierung erstellen, gibt der gcloud CLI-Befehl Folgendes zurück: den entsprechenden CNAME-Eintrag. 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 des Ziel-DNS. .

  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 wurde, mit dem die entsprechende DNS-Autorisierung erstellt wurde.
    • CNAME_RECORD_NAME: durch den vollständigen Namen des CNAME-Eintrags. Eintrag, der vom gcloud CLI-Befehl zurückgegeben wird, mit dem die entsprechende DNS-Autorisierung.
    • 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 die Ä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 in den vorherigen Schritten erstellte DNS-Autorisierung verweist:

Console

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

    Zum Zertifikatmanager

  2. Wählen Sie auf der Seite den Tab Zertifikate aus.

  3. Klicken Sie auf Zertifikat hinzufügen.

  4. Geben Sie einen Namen für das Zertifikat ein.

    Dieser Name muss für das Projekt eindeutig sein.

  5. Optional: Geben Sie die Beschreibung für das Zertifikat ein. Anhand der Beschreibung können Sie ein bestimmtes Zertifikat später leichter identifizieren.

  6. Wählen Sie für location die Option Regional aus.

  7. Wählen Sie in der Liste Region eine Region aus.

  8. Wählen Sie als Zertifikattyp die Option Von Google verwaltetes Zertifikat erstellen aus.

  9. Wählen Sie als Typ der Zertifizierungsstelle die Option Öffentlich aus.

  10. Geben Sie die Domainnamen für das Zertifikat an. Geben Sie eine durch Kommas getrennte Liste der Zieldomains ein. Außerdem muss jeder Domainname ein voll qualifizierter Domainname, z. B. myorg.example.com.

  11. Wählen Sie unter Autorisierungstyp die Option DNS-Autorisierung aus. Wenn dem Domainnamen eine DNS-Autorisierung zugewiesen ist, wird sie automatisch übernommen. Wenn dem Domainnamen keine DNS-Autorisierung zugeordnet ist, gehen Sie so vor:

    1. Klicken Sie auf Fehlende DNS-Autorisierung erstellen, um die Dialogfeld Create DNS Authorization (DNS-Autorisierung erstellen).
    2. Geben Sie im Feld Name der DNS-Autorisierung den Namen der DNS-Autorisierung an.
    3. Klicken Sie auf DNS-Autorisierung erstellen. Prüfen Sie, ob der DNS-Name mit dem Domainnamen verknüpft wird.
  12. Geben Sie ein Label an, das dem Zertifikat zugeordnet werden soll. Sie können mehrere Labels hinzufügen. Klicken Sie auf Label hinzufügen, um ein Label hinzuzufügen, und geben Sie einen key und einen value für das Label an.

  13. Klicken Sie auf Erstellen. Prüfen Sie, ob das neue Zertifikat in der Liste der Zertifikate angezeigt wird.

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 für das Zertifikat.
  • DOMAIN_NAME: die Zieldomain des Zertifikats. Das Präfix „Sternchen Punkt“ (*.) steht für ein Platzhalterzertifikat. Die muss ein vollständig qualifizierter Domainname sein, z. B. myorg.example.com
  • AUTHORIZATION_NAME: der Name der DNS-Autorisierung, die Sie für dieses Zertifikat erstellt haben.
  • LOCATION: der Standort, an dem Sie die Von Google verwaltetes Zertifikat.

Um ein von Google verwaltetes Zertifikat mit einem Platzhalter-Domainnamen zu erstellen, verwenden Sie die Methode folgenden Befehl. Ein Wildcard-Domainnamenszertifikat 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 für das Zertifikat.
  • DOMAIN_NAME: die Zieldomain des Zertifikats. Die Das Präfix *. kennzeichnet ein Platzhalterzertifikat. Der Domainname muss ein vollständig qualifizierter Domainname wie myorg.example.com.
  • 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 für das Zertifikat.
  • LOCATION: Der Standort, an dem Sie das von Google verwaltete Zertifikat erstellt haben.

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/my-project/locations/us-central1/dnsAuthorizations/myAuth
  domains:
  - myorg.example.com
  state: ACTIVE
name: projects/myProject/locations/us-central1/certificates/myCert
pemCertificate: |
  -----BEGIN CERTIFICATE-----
  [...]
  -----END CERTIFICATE-----
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 auf einem Load Balancer bereitzustellen.

Bevor Sie mit den Aufgaben in diesem Abschnitt fortfahren, müssen Sie die 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 internen Application Load Balancer bereitstellen möchten, hängen Sie es direkt an den Zielproxy an.

Zertifikat direkt an den Zielproxy anhängen

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 für den Proxy.
  • 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

Führen Sie die folgenden Schritte aus, um die Änderungen, die Sie in dieser Anleitung vorgenommen haben, rückgängig zu machen. Schritte:

  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 Standort, an dem Sie die DNS-Autorisierung erstellt haben.

Nächste Schritte