Benutzerdefinierte Domains zuordnen

Sie können eine benutzerdefinierte Domain für Ihren Cloud Run for Anthos-Dienst in Google Cloud verwenden.

Wenn Sie für einen Dienst eine benutzerdefinierte Domain verwenden möchten, ordnen Sie den Dienst der benutzerdefinierten Domain zu und aktualisieren Sie dann Ihre DNS-Einträge. Sie können einen Dienst einer Domain wie example.com oder einer Subdomain wie subdomain.example.com zuordnen.

Wenn Sie HTTPS verwenden, funktionieren die Domainzuordnungen nur dann, wenn Sie entweder das Feature Verwaltete TLS-Zertifikate nutzen oder eigene Zertifikate bereitstellen.

Sie können mehrere benutzerdefinierte Domains demselben Cloud Run for Anthos-Dienst zuordnen.

Hinweis

  • Sie müssen die Domain, der Sie Ihre Dienste zuordnen möchten, besitzen oder erwerben. Sie können einen beliebigen Domainnamenregistrator verwenden. Wenn Sie jedoch Google Domains oder Cloud Domains verwenden, wird die Domain automatisch für Cloud Run for Anthos bestätigt, sodass Sie die Domainbestätigung nicht selbst ausführen müssen.

    Wenn Sie eine Domain bei Cloud Domains registrieren möchten, finden Sie weitere Informationen unter Domain bei Cloud Domains in Cloud Run for Anthos in der Google Cloud Console registrieren.

  • Wenn Sie WebSockets in Cloud Run for Anthos verwenden, müssen Sie zuerst die WebSocket-Unterstützung aktivieren. Führen Sie dazu den folgenden kubectl-Befehl aus, um ein EnvoyFilter-Objekt von Istio mit allow_connect: true zu erstellen:

    cat <<EOF | kubectl apply -f -
    apiVersion: networking.istio.io/v1alpha3
    kind: EnvoyFilter
    metadata:
      name: allowconnect-cluser-local-gateway
      namespace: gke-system
    spec:
      workloadSelector:
        labels:
          app: cluster-local-gateway
      configPatches:
      - applyTo: NETWORK_FILTER
        match:
          listener:
            portNumber: 80
            filterChain:
              filter:
                name: "envoy.http_connection_manager"
        patch:
          operation: MERGE
          value:
            typed_config:
              "@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager"
              http2_protocol_options:
                allow_connect: true
    EOF
    

Benutzerdefinierte Domain einem Dienst zuordnen

Sie können die Google Cloud Console oder das gcloud-Befehlszeilentool verwenden, um einem Dienst eine benutzerdefinierte Domain zuzuordnen.

Console

  1. Öffnen Sie in der Cloud Console die Seite "Domainzuordnungen":

    Zu Domainzuordnungen

    Wenn das Anzeigefenster zu klein ist, wird die Schaltfläche Benutzerdefinierte Domains zuordnen nicht angezeigt. Klicken Sie in diesem Fall auf das Dreipunkt-Menü, um sie einzublenden.

  2. Klicken Sie auf der Seite Domainzuordnung auf Zuordnung hinzufügen.

  3. Wählen Sie aus der Drop-down-Liste des Formulars Zuordnung hinzufügen den Dienst aus, dem Sie die benutzerdefinierte Domain zuordnen möchten:

    Domainzuordnungen hinzufügen

  4. Geben Sie den Namen der Domain ein. Die Zuordnung des Basispfads wird nicht unterstützt. Der Begriff Basispfad bezieht sich auf den Namen des URL-Pfads nach dem Domainnamen. Beispielsweise ist users der Basispfad von example.com/users. Mit Cloud Run for Anthos können Sie eine Domain nur / zuordnen, nicht einem bestimmten Basispfad. Pfadrouting muss also über einen Router im Container des Dienstes oder über Firebase Hosting erfolgen.

  5. Klicken Sie auf Weiter.

  6. Bestätigen Sie die Inhaberschaft Ihrer Domain, bevor Sie sie in Ihrem Google Cloud-Projekt verwenden, sofern Sie Ihre benutzerdefinierte Domain nicht von Google Domains erworben haben. Wenn Sie beispielsweise subdomain.example.com einem Dienst zuordnen möchten, müssen Sie die Inhaberschaft der Domain example.com bestätigen. Weitere Informationen zum Bestätigen der Domaininhaberschaft finden Sie im Hilfebereich der Webmaster-Zentrale.

  7. Aktualisieren Sie die DNS-Einträge auf der Website Ihres Domain-Registrators mithilfe der im letzten Schritt angezeigten DNS-Einträge. Sie können die Einträge jederzeit aufrufen, indem Sie im Aktionsmenü „...“ einer Domainzuordnung auf DNS-Einträge klicken.

  8. Klicken Sie auf Fertig.

Befehlszeile

  1. Bestätigen Sie die Inhaberschaft Ihrer Domain, bevor Sie sie in Ihrem Google Cloud-Projekt verwenden, sofern Sie Ihre benutzerdefinierte Domain nicht von Google Domains erworben haben. Mit dem Befehl können Sie feststellen, ob die zu verwendende benutzerdefinierte Domain bestätigt wurde

    gcloud domains list-user-verified

    Wenn Ihre Inhaberschaft der Domain bestätigt werden muss, öffnen Sie die Bestätigungsseite der Webmaster-Zentrale:

    gcloud domains verify BASE-DOMAIN

    Wobei BASE-DOMAIN die Basisdomain ist, die Sie bestätigen möchten. Wenn Sie beispielsweise subdomain.example.com zuordnen möchten, sollten Sie die Inhaberschaft von example.com bestätigen.

    Bestätigen Sie Ihre Domaininhaberschaft in der Webmaster-Zentrale. Weitere Informationen finden Sie im Hilfebereich der Webmaster-Zentrale.

  2. Ordnen Sie Ihren Dienst der benutzerdefinierten Domain zu:

    gcloud run domain-mappings create --service SERVICE --domain DOMAIN

    Ersetzen Sie:

    • SERVICE durch den Dienstnamen.
    • DOMAIN durch Ihre benutzerdefinierte Domain. Die Zuordnung des Basispfads wird nicht unterstützt. Der Begriff Basispfad bezieht sich auf den Namen des URL-Pfads nach dem Domainnamen. Beispielsweise ist users der Basispfad von example.com/users. Mit Cloud Run for Anthos können Sie eine Domain nur / zuordnen, nicht einem bestimmten Basispfad. Pfadrouting muss also über einen Router im Container des Dienstes oder über Firebase Hosting erfolgen.

      Optional: Wenn DOMAIN bereits einem anderen Dienst zugeordnet ist, können Sie das Flag --force-override anhängen. Mit diesem Flag wird die Zuordnung vom vorherigen Dienst entfernt und durch eine neue Zuordnung zwischen DOMAIN und SERVICE ersetzt.

  3. Reservieren Sie die IP-Adresse des Load-Balancers für den Istio-Ingress-Gateway-Dienst als statische IP-Adresse:

    gcloud compute addresses create ADDRESS-NAME --addresses EXTERNAL-IP --region REGION

    Ersetzen Sie:

    • ADDRESS-NAME durch den Namen, den Sie Ihrer statischen IP-Adresse geben möchten.
    • EXTERNAL-IP durch die IP-Adresse im A-Eintrag, den Sie mit dem Befehl gcloud run domain-mapping describe erhalten haben.
    • REGION durch die von Ihnen verwendete Region.

Istio-Ingress-Gateway für Cloud Run for Anthos

So rufen Sie die externe IP-Adresse für das Istio-Ingress-Gateway ab:

kubectl get svc istio-ingress -n gke-system

Die resultierende Ausgabe sieht in etwa so aus:

NAME            TYPE           CLUSTER-IP     EXTERNAL-IP  PORT(S)
istio-ingress   LoadBalancer   XX.XX.XXX.XX   pending      80:32380/TCP,443:32390/TCP,32400:32400/TCP

Die EXTERNAL-IP für den Load-Balancer ist die zu verwendende IP-Adresse.

DNS-Einträge im Domain-Registrator hinzufügen

Nachdem Sie Ihren Dienst einer benutzerdefinierten Domain in Cloud Run for Anthos zugeordnet haben, müssen Sie Ihre DNS-Einträge bei Ihrem Domainregistrator aktualisieren. Zur Vereinfachung werden die von Ihnen einzugebenden DNS-Einträge von Cloud Run for Anthos generiert und angezeigt. Diese Einträge, die auf den Cloud Run for Anthos-Dienst bei Ihrem Domain-Registrator verweisen, müssen hinzugefügt werden, damit die Zuordnung wirksam wird.

Wenn Sie Cloud DNS als DNS-Anbieter verwenden, finden Sie weitere Informationen unter Eintrag hinzufügen.

  1. Rufen Sie die DNS-Eintragsinformationen für die Domainzuordnung auf eine der folgenden Arten ab:

    Console

    1. Rufen Sie die Seite "Cloud Run for Anthos-Domainzuordnungen" auf:

      Zu Domainzuordnungen

    2. Klicken Sie auf das Dreipunkt-Menü rechts neben Ihrem Dienst und dann auf DNS-EINTRÄGE, um alle DNS-Einträge aufzurufen:

    DNS-Einträge auswählen

    Befehlszeile

    gcloud run domain-mappings describe --domain DOMAIN

    Ersetzen Sie DOMAIN durch Ihre benutzerdefinierte Domain, z. B. example.com oder subdomain.example.com.

    Sie benötigen alle Datensätze, die unter der Überschrift resourceRecords zurückgegeben werden.

  2. Melden Sie sich bei Ihrem Domain-Registrator in Ihrem Konto an und öffnen Sie dann die DNS-Konfigurationsseite.

  3. Suchen Sie auf der Konfigurationsseite der Domain den Bereich mit den Hosteinträgen und fügen Sie die einzelnen Ressourceneinträge hinzu, die Sie bei der Zuordnung der Domain zu Ihrem Cloud Run for Anthos-Dienst erhalten haben.

  4. Wenn Sie dem Konto bei Ihrem DNS-Anbieter jeden der oben genannten DNS-Einträge hinzufügen,

    • wählen Sie den Typ aus, der im vorherigen Schritt im DNS-Eintrag zurückgegeben wurde: A, AAAA oder CNAME.
    • Verwenden Sie den Namen www, um www.example.com zuzuordnen.
    • Verwenden Sie den Namen @, um example.com zuzuordnen.
  5. Speichern Sie die Änderungen auf der DNS-Konfigurationsseite des Kontos Ihrer Domain. In den meisten Fällen dauert es nur ein paar Minuten, bis diese Änderungen wirksam werden. In manchen Fällen kann es aber auch mehrere Stunden dauern, je nach Registrator und Gültigkeitsdauer (TTL) aller früheren DNS-Einträge für Ihre Domain. Sie können das dig-Tool, z. B. diese dig-Onlineversion, verwenden, um zu bestätigen, dass die DNS-Einträge erfolgreich aktualisiert wurden.

  6. Prüfen Sie, ob der Vorgang erfolgreich war. Dazu rufen Sie den Dienst über die neue URL auf (z. B. https://www.example.com). Beachten Sie, dass es mehrere Minuten dauern kann, bis das verwaltete SSL-Zertifikat ausgestellt wird.

Bestätigte Domaininhaber zu anderen Nutzern oder Dienstkonten hinzufügen

Wenn ein Nutzer die Inhaberschaft für eine Domain bestätigt, wird sie nur für das Konto dieses Nutzers bestätigt. Dies bedeutet, dass nur jener Nutzer weitere Domainzuordnungen einfügen kann, die diese Domain verwenden. Damit auch andere Nutzer Zuordnungen einfügen können, die diese Domain verwenden, müssen Sie diese Nutzer als verifizierte Inhaber hinzufügen.

Wenn Sie vorhandene Nutzer oder Dienstkonten zu bestätigten Inhabern der Domain erklären möchten, können Sie diese Berechtigung über die Seite Webmaster-Zentrale hinzufügen:

  1. Rufen Sie in Ihrem Webbrowser diese Adresse auf:

    https://www.google.com/webmasters/verification/home

  2. Klicken Sie unter Attribute auf die Domain, für die Sie einen Nutzer oder ein Dienstkonto einfügen möchten.

  3. Scrollen Sie nach unten zur Liste Bestätigte Inhaber, klicken Sie auf Inhaber hinzufügen und geben Sie dann die E-Mail-Adresse oder Dienstkonto-ID eines Google-Kontos ein.

    Öffnen Sie in der Cloud Console die Seite „Dienstkonten“, um eine Liste der Dienstkonten anzusehen:

    Zur Seite „Dienstkonten“

Domain bei Cloud Domains in Cloud Run for Anthos in der Google Cloud Console registrieren

So registrieren Sie eine Domain bei Cloud Domains in Cloud Run for Anthos in der Google Cloud Console:

  1. Rufen Sie die Seite "Cloud Run for Anthos-Domainzuordnungen" auf:

    Zu den Domainzuordnungen

  2. Klicken Sie auf Domain registrieren.

  3. Folgen Sie der Anleitung Domain registrieren, um die Registrierung abzuschließen.

  4. Führen Sie die Zuordnung Ihrer Domain zu Cloud Run for Anthos aus und fügen Sie DNS-Einträge bei Ihrem Domainregistrator hinzu.