Regionales von Google verwaltetes Zertifikat bereitstellen


In dieser Anleitung wird beschrieben, wie Sie mit dem Zertifikatmanager ein regionales von Google verwaltetes Zertifikat für einen regionalen externen Application Load Balancer oder einen 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 das Zertifikat direkt an den Zielproxy an.

Lernziele

In diesem Anleitung werden die folgenden Aufgaben erläutert:

  • Erstellen Sie mit dem Zertifikatmanager ein von Google verwaltetes Zertifikat, 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 über einen HTTPS-Zielproxy für einen unterstützten Load-Balancer bereit.

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. Zum Bereitstellen 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 dieser Anleitung auszuführen:

    • Certificate Manager Owner (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 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 vollständig qualifizierter Domainname sein, z. B. myorg.example.com.
  • LOCATION: Der Standort, an dem Sie die DNS-Autorisierung erstellen.

Der Befehl gibt eine Ausgabe zurück, wie im folgenden Beispiel gezeigt. 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. Sehen Sie andernfalls in der Dokumentation Ihrer Drittanbieter-DNS-Lösung 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 von dem 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 von dem 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 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 DNS-Autorisierung verweist, die Sie in den vorherigen Schritten erstellt haben:

Console

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

    Zum Zertifikatmanager

  2. Wählen Sie auf der angezeigten 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 eine Beschreibung für das Zertifikat ein. Anhand der Beschreibung können Sie später ein bestimmtes Zertifikat 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 für Zertifikatstyp 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 vollständig qualifizierter Domainname sein, z. B. myorg.example.com.

  11. Wählen Sie als Authorization type (Autorisierungstyp) die Option DNS Authorization (DNS-Autorisierung) aus. Wenn dem Domainnamen eine DNS-Autorisierung zugeordnet ist, wird er automatisch übernommen. Wenn dem Domainnamen keine DNS-Autorisierung zugeordnet ist, gehen Sie so vor:

    1. Klicken Sie auf Fehlende DNS-Autorisierung erstellen, um das Dialogfeld DNS-Autorisierung erstellen aufzurufen.
    2. Geben Sie im Feld DNS Authorization Name (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 mit dem Zertifikat verknüpft werden soll. Sie können bei Bedarf mehrere Labels hinzufügen. Klicken Sie zum Hinzufügen eines Labels auf die Schaltfläche Label hinzufügen und geben Sie key und 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 des Zertifikats.
  • DOMAIN_NAME: die Zieldomain des Zertifikats. Das Sternchen-Punktpräfix (*.) kennzeichnet ein Platzhalterzertifikat. Der Domainname 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 das von Google verwaltete Zertifikat erstellen.

Verwenden Sie den folgenden Befehl, um ein von Google verwaltetes Zertifikat mit einem Platzhalter-Domainnamen zu erstellen. Ein Platzhalter-Domainname-Zertifikat 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 sein, z. B. myorg.example.com.
  • AUTHORIZATION_NAME: Name der DNS-Autorisierung, die Sie für dieses Zertifikat erstellt haben.
  • LOCATION: Der Standort, 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 einige 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 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 für einen Load-Balancer bereitzustellen.

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

Wenn Sie ein regionales von Google verwaltetes Zertifikat für einen regionalen externen Application Load Balancer oder einen regionalen internen Application Load Balancer bereitstellen möchten, hängen Sie das Zertifikat 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 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 Standort, 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