Cloud Run mit Firebase Hosting für benutzerdefinierte Domains und CDN verbinden

Zum Einrichten eines neuen öffentlichen Endpunkts für Ihren Cloud Run-Dienst können Sie Firebase Hosting vor Ihrem Cloud Run-Dienst verwenden. Mit Firebase Hosting erhalten Sie Zugriff auf ein globales CDN und können kostenlose benutzerdefinierte Domains für Ihren Dienst konfigurieren. Mit Firebase Hosting können Sie Hosting-Anfragen an Ihren Cloud Run-Dienst weiterleiten. Wenn Sie mit Firebase Hosting nicht vertraut sind, kann die Einrichtung jedoch einige Zeit benötigen.

Mit den auf dieser Seite beschriebenen Cloud Run-Integrationen (Vorschau) können Sie Ihren Cloud Run-Dienst schnell über eine neue Firebase Hosting-Website verfügbar machen, ohne Firebase Hosting einrichten zu müssen. Wenn Sie eine vorhandene Website verwenden möchten, lesen Sie den Abschnitt Dynamische Inhalte bereitstellen und Mikrodienste mit Cloud Run hosten.

Hinweise

  • Achten Sie darauf, dass der Cloud Run-Dienst, in den Sie einbinden, bereits bereitgestellt ist.
  • Sehen Sie sich die Preisübersicht für Firebase Hosting an. Ihnen werden einzelne Ressourcen in Rechnung gestellt, die von der Einbindung verwendet werden.

Erforderliche Rollen

Damit Sie die Cloud Run-Integrationen verwenden können, müssen Sie oder Ihr Administrator zwei verschiedenen Hauptkonten IAM-Rollen zuweisen.

Klicken, um die erforderlichen Rollen für Ihr Google-Konto anzuzeigen

Bitten Sie Ihren Administrator, Ihrem Google-Konto die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie für die Verwendung von Cloud Run-Einbindungen benötigen:

Klicken Sie, um die erforderlichen Rollen für das Dienstkonto aufzurufen

Zum Bereitstellen des Cloud Run-Dienstes können Sie entweder das automatisch erstellte Compute Engine-Standarddienstkonto verwenden oder ein nutzerverwaltetes Dienstkonto angeben. Das Dienstkonto muss die folgenden Rollen haben:

Cloud Run-Dienst mit einer Firebase Hosting-Website verbinden

Sie können über die Console oder die Befehlszeile eine Verbindung zu einer Firebase Hosting-Website herstellen.

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud Run.

    Öffnen Sie Cloud Run.

  2. Klicken Sie in der Liste der Dienste, die Sie in dieser Einbindung verwenden möchten, auf den Dienst.

  3. Klicken Sie auf den Tab Integrations (Integrationen).

  4. Klicken Sie auf Integration hinzufügen.

  5. Klicken Sie auf Firebase Hosting.

    Image

  6. Geben Sie in das Feld Subdomain (Website-ID) eine Website-ID ein. Ihr Dienst wird nach der Erstellung unter site_ID.web.app gehostet.

  7. Wenn Sie aufgefordert werden, eine Liste von APIs zu aktivieren, klicken Sie auf Aktivieren und warten Sie, bis die APIs aktiviert sind. Beachten Sie, dass die Firebase Hosting API den Firebase-Nutzungsbedingungen unterliegt.

  8. Unter Ressourcen finden Sie die neuen Ressourcen, die durch diese Einbindung erstellt werden.

  9. Klicken Sie auf Senden und warten Sie, bis die Einbindung und die Ressourcen erstellt sind.

    • Wenn Sie fertig sind, werden die öffentlichen URLs der Website angezeigt.
    • Sie können auch auf den bereitgestellten Link klicken, um direkt zur Firebase Console zu gelangen.

Befehlszeile

  1. Aktualisieren Sie die Google Cloud CLI:

    gcloud components update
  2. Integration erstellen:

    gcloud beta run integrations create \
    --type=firebase-hosting \
    --service=SERVICE \
    --parameters='site-id=SITE_ID'

    Ersetzen Sie:

    • SITE_ID durch die ID der Firebase Hosting-Website, die Sie erstellen und verwenden möchten. Dies wird als Subdomain für die Firebase-URL „SITE_ID.web.app“ angezeigt.
    • SERVICE durch den Namen des verwendeten Cloud Run-Dienstes.

    Fügen Sie optional das Flag --service-account=SERVICE_ACCOUNT_EMAIL hinzu.

    • Ersetzen Sie SERVICE_ACCOUNT_EMAIL durch die E-Mail-Adresse des vom Nutzer verwalteten Dienstkontos (PROJECT_NUMBER-compute@developer.gserviceaccount.com), das zum Bereitstellen des Dienstes verwendet wird. Lassen Sie dieses Flag weg, wenn Sie das Compute-Standarddienstkonto (SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com) verwenden möchten.

      Führen Sie den folgenden Befehl aus, um beim Bereitstellen von Cloud Run-Integrationen das angegebene Dienstkonto weiterhin zu verwenden:

      gcloud config set runapps/deployment-service-account
  3. Warten Sie etwa ein bis zwei Minuten, während die Firebase Hosting-Website erstellt wird. Wenn der Vorgang abgeschlossen ist, wird die folgende Meldung angezeigt:

    [firebase-hosting] integration [firebase-hosting-1] has been created successfully.

    Sie können den Status mit gcloud beta run integrations describe prüfen.

Firebase Hosting-Integrationen aktualisieren

Durch das Aktualisieren einer Integration werden alle Google Cloud-Ressourcen aktualisiert, die mit dieser Integration verknüpft sind. So aktualisieren Sie eine Firebase Hosting-Integration aus Ihrem Cloud Run-Dienst:

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud Run.

    Öffnen Sie Cloud Run.

  2. Klicken Sie auf den Dienst, den Sie aktualisieren möchten.

  3. Klicken Sie auf den Tab Integrations (Integrationen).

  4. Suchen Sie die Firebase Hosting-Integration und klicken Sie auf Bearbeiten.

  5. Wenn Sie mit der Aktualisierung der Felder fertig sind, klicken Sie auf Aktualisieren.

Befehlszeile

  1. Verwenden Sie den folgenden Befehl, um eine Liste der verfügbaren Integrationen abzurufen:

    gcloud beta run integrations list
  2. Führen Sie den Befehl zum Aktualisieren der Integration aus:

    gcloud beta run integrations update INTEGRATION_NAME

    Ersetzen Sie:

    • Ersetzen Sie INTEGRATION_NAME durch den Namen Ihrer Firebase Hosting-Integration.

    Optional können Sie die folgenden Flag-Optionen verwenden:

    Wahltaste Beschreibung
    --parameters Die Website-ID, durch die Sie den Cloud Run-Dienst ersetzen.
    --service-account Die E-Mail-Adresse des vom Nutzer verwalteten Dienstkontos, die beim Aktualisieren des Dienstes angegeben werden soll. Dieses Dienstkonto überschreibt das vorherige Dienstkonto, das bei der Bereitstellung verwendet wurde.

Firebase Hosting-Einbindungen ansehen

So rufen Sie den aktuellen Status von Firebase Hosting-Einbindungen für Ihren Cloud Run-Dienst auf:

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud Run.

    Öffnen Sie Cloud Run.

  2. Klicken Sie in der Liste der Dienste, die Sie in dieser Einbindung verwenden möchten, auf den Dienst.

  3. Klicken Sie auf den Tab Integrations (Integrationen).

  4. Suchen Sie die Firebase Hosting-Integration, die Sie interessiert, und klicken Sie auf Details ansehen.

Befehlszeile

  1. Verwenden Sie den folgenden Befehl, um eine Liste der verfügbaren Integrationen abzurufen:

    gcloud beta run integrations list
  2. Zeigen Sie die Details dafür mit einem Namen aus der zurückgegebenen Liste an:

    gcloud beta run integrations describe INTEGRATION_NAME

    Ersetzen Sie INTEGRATION_NAME durch den Namen Ihrer Firebase Hosting-Einbindung.

Firebase Hosting-Einbindungen löschen

Beim Löschen einer Einbindung werden auch alle mit dieser Einbindung verknüpften Google Cloud-Ressourcen gelöscht. Der Cloud Run-Dienst wird jedoch nicht gelöscht.

So löschen Sie eine Firebase Hosting-Einbindung aus Ihrem Cloud Run-Dienst:

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud Run.

    Öffnen Sie Cloud Run.

  2. Klicken Sie auf den Dienst, für den Sie eine Einbindung löschen möchten.

  3. Klicken Sie auf den Tab Integrations (Integrationen).

  4. Suchen Sie die Firebase Hosting-Integration, die Sie interessiert, und klicken Sie rechts neben der Integration auf Dreipunkt-Symbol und dann auf Löschen.

Befehlszeile

  1. Verwenden Sie den folgenden Befehl, um eine Liste der verfügbaren Integrationen abzurufen:

    gcloud beta run integrations list
  2. Löschen Sie die Integration mithilfe eines Namens aus der zurückgegebenen Liste:

    gcloud beta run integrations delete INTEGRATION_NAME

    Ersetzen Sie:

    • Ersetzen Sie INTEGRATION_NAME durch den Namen Ihrer Firebase Hosting-Integration.

    Optional können Sie die folgenden Flag-Optionen verwenden:

    Wahltaste Beschreibung
    --service-account Die E-Mail-Adresse des vom Nutzer verwalteten Dienstkontos, um den Löschvorgang auszuführen.

Beschränkungen

Die Cloud Run-Integrationen werden nur in bestimmten Regionen unterstützt. Falls Sie eine Region verwenden müssen, die nicht von den Cloud Run-Integrationen unterstützt wird, lesen Sie den Abschnitt Dynamische Inhalte bereitstellen und Mikrodienste mit Cloud Run hosten.