Schritt 4: Komponenten einrichten
Auf dieser Seite wird der vierte Schritt zum Bereitstellen von Cortex Framework Data Foundation beschrieben, dem Kern von Cortex Framework. In diesem Schritt richten Sie die erforderlichen Google Cloud Dienste für die Bereitstellung ein.
Dienste aktivieren Google Cloud
In diesem Abschnitt aktivieren Sie die folgenden Google Cloud Dienste in Ihrem Google Cloud Projekt:
- BigQuery-Instanz und -Datasets
- Cloud Build API
- Cloud Storage-Buckets
- Dienstkonto
- Cloud Resource Manager API
- Workflowausführungen (bei der Bereitstellung von Cortex für Meridian)
- AI Platform (bei der Bereitstellung von Cortex für Meridian)
Aktivieren Sie diese Google Cloud Dienste mit Cloud Shell:
Fügen Sie folgenden Befehl ein:
gcloud config set project SOURCE_PROJECT gcloud services enable bigquery.googleapis.com \ cloudbuild.googleapis.com \ composer.googleapis.com \ storage-component.googleapis.com \ cloudresourcemanager.googleapis.com \ dataflow.googleapis.com \ datacatalog.googleapis.com \ workflowexecutions.googleapis.com \ workflows.googleapis.com \ aiplatform.googleapis.comErsetzen Sie
SOURCE_PROJECTdurch die ID Ihres Quellprojekts.Prüfen Sie, ob die Google Cloud Dienste aktiviert sind, wenn Sie eine Erfolgs meldung erhalten.
Optional : Sie können die folgenden Google Cloud Dienste in Ihrem Google Cloud Projekt aktivieren:
- Cloud Composer für die Verarbeitung von Change Data Capture (CDC), das Reduzieren der Hierarchie (nur SAP) und die Datenreplikation (nur Nicht-SAP) über gerichtete azyklische Graphen (DAGs) Informationen zum Einrichten einer Instanz finden Sie in der Cloud Composer-Dokumentation.
- Looker zum Herstellen einer Verbindung zu Berichtsvorlagen
- Für einige externe Quellen wie den Wetter DAG werden verknüpfte Datasets aus BigQuery Sharing (früher Analytics Hub) verwendet. Für erweiterte Szenarien können Sie diese Struktur mit einer beliebigen anderen verfügbaren Quelle Ihrer Wahl füllen.
- Dataflow: Integrationstool für viele Marketing-Datasets wie Google Ads.
- Für Cortex Framework mit Meridian:
- Colab Enterprise: Ausführen des Colab Enterprise-Notebooks während der Ausführung mit Zugriff auf Folgendes:
- Das Notebook und die Konfigurationsdatei in Cloud Storage.
- Relevante BigQuery-Ansichten und -Tabellen abfragen.
- Ergebnisse zurück in Cloud Storage schreiben.
- Workflows: Workflow und Cloud Build ausführen, um Colab Enterprise-Notebook-Ausführungen auszulösen.
Cloud Build-Dienstkonto erstellen und konfigurieren
Cloud Build verwendet ein Dienstkonto, um Builds für Sie auszuführen. In diesem Abschnitt erfahren Sie, wie Sie ein dediziertes Dienstkonto für Cortex Framework-Bereitstellungen erstellen und dem Cloud Build-Dienstkonto die erforderlichen Berechtigungen gewähren.
Neues Dienstkonto erstellen
Erstellen Sie ein dediziertes Dienstkonto für die Bereitstellung von Cortex Framework, um die Sicherheit und Kontrolle zu verbessern. Nachdem Sie das neue Dienstkonto erstellt haben
können Sie es während der Bereitstellung mit dem
Dienstkonto
mit dem _BUILD_ACCOUNT Ersetzungsparameter angeben.
Erstellen Sie dieses neue Dienstkonto entweder mit der Google Cloud Console oder der Google Cloud CLI.
Console
Rufen Sie die Seite Dienstkonten auf.
Die verbleibenden Schritte werden in der Google Cloud Console angezeigt.
Wählen Sie ein Google Cloud Projekt aus.
Geben Sie ein Dienstkonto und einen Anzeigenamen mit einer Beschreibung in der Google Cloud Console ein. Die Google Cloud Console generiert anhand dieses Namens eine Dienstkonto-ID. Bearbeiten Sie gegebenenfalls die ID. Sie können die ID später nicht mehr ändern. Verwenden Sie die folgenden Standardwerte für das Dienstkonto:
- Name: „cortex-deployer“.
- Beschreibung: "Cortex Deployer Service Account".
- Anzeigename: "Cortex Deployer".
Gewähren Sie Nutzern Zugriff auf dieses Dienstkonto.
- Fügen Sie die ID aller Nutzer (einschließlich Ihrer eigenen) hinzu, die die Bereitstellung über das Dienstkonto ausführen können.
- Weisen Sie die Rolle Ersteller von Dienstkonto-Tokens zu. Weitere Informationen zu dieser Rolle finden Sie unter Dienstkontenrollen.
Klicken Sie auf Fertig , um das Erstellen des Dienstkontos abzuschließen.
Wenn Sie bereits ein Dienstkonto haben, führen Sie die folgenden Schritte aus:
- Rufen Sie die Seite Dienstkonten auf.
- Wählen Sie das Dienstkonto aus.
- Klicken Sie auf den Tab Hauptkonten mit Zugriff.
- Klicken Sie auf Zugriff gewähren.
- Fügen Sie die ID aller Nutzer (einschließlich Ihrer eigenen) hinzu, die die Bereitstellung über das Dienstkonto ausführen können.
- Weisen Sie die Rolle Ersteller von Dienstkonto-Tokens zu.
gcloud
Erstellen Sie mit dem folgenden Befehl ein Dienstkonto über eine IAM-Richtlinie:
gcloud iam service-accounts create cortex-deployer \ --description="Cortex Deployer Service Account" \ --display-name="Cortex Deployer"Fügen Sie die IAM-Richtlinie mit dem folgenden Befehl Ihrem Google Cloud Projekt hinzu:
gcloud projects add-iam-policy-binding SOURCE_PROJECT \ --member="serviceAccount:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \ --role="roles/cloudbuild.builds.editor"Fügen Sie die ID aller Nutzer (einschließlich Ihrer eigenen) hinzu, die die Bereitstellung über das Dienstkonto ausführen können, und weisen Sie ihnen mit dem folgenden Befehl die Rolle Ersteller von Dienstkonto-Tokens zu:
gcloud iam service-accounts add-iam-policy-binding cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountTokenCreator"Ersetzen Sie Folgendes:
SOURCE_PROJECTdurch das Quellprojekt für die Bereitstellung von Cortex Framework Data Foundation.USER_EMAILdurch die E-Mail-Adresse des ausführenden Nutzers.
Weitere Informationen zum Erstellen eines neuen Dienstkontos finden Sie unter Dienstkonto erstellen.
Berechtigungen erteilen
Das Cloud Build-Dienstkonto benötigt bestimmte Berechtigungen in Ihrem Quellprojekt (und im Zielprojekt, wenn Sie in einem separaten Projekt bereitstellen). Gewähren Sie die folgenden Rollen entweder mit der Google Cloud Console oder der Google Cloud CLI:
- Cloud Build-Dienstkonto (
roles/cloudbuild.builds.builder) - Dienstkontonutzer (
roles/iam.serviceAccountUser) - BigQuery-Dateneditor (
roles/bigquery.dataEditor) - BigQuery-Jobnutzer (
roles/bigquery.jobUser) - Log-Autor (
roles/logging.logWriter) - Colab Enterprise-Administrator (
roles/aiplatform.colabEnterpriseAdmin- bei der Bereitstellung von Cortex für Meridian) - Storage Object User (
roles/storage.objectUser- bei der Bereitstellung von Cortex für Meridian) Workflow-Bearbeiter (
roles/workflows.editor- bei der Bereitstellung von Cortex für Meridian)
Console
Rufen Sie in der Google Cloud Console die Seite IAM auf.
Wählen Sie Ihr Quellprojekt aus.
Klicken Sie auf „“ Zugriff gewähren.
Fügen Sie das Standard-Cloud Build-Dienstkonto aus dem vorherigen Schritt als neues Hauptkonto hinzu.
Suchen Sie im Drop-down-Menü Rolle auswählen nach Cloud Build-Dienstkonto, und klicken Sie dann auf Cloud Build-Dienstkonto.
Wiederholen Sie den vorherigen Schritt, um die restlichen Rollen hinzuzufügen:
- Dienstkontonutzer
- BigQuery-Dateneditor
- BigQuery-Jobnutzer
- Log-Autor
- _Colab Enterprise-Administrator_ (bei der Bereitstellung von Cortex für Meridian)
- Storage Object User (bei der Bereitstellung von Cortex für Meridian)
- Workflow-Bearbeiter (bei der Bereitstellung von Cortex für Meridian)
Klicken Sie auf Speichern.
Prüfen Sie, ob das Dienstkonto und die entsprechenden Rollen auf der IAM-Seite aufgeführt sind. Sie haben erfolgreich eine IAM-Rolle zugewiesen.
gcloud
Verwenden Sie den folgenden Befehl, um dem Cloud Build Dienstkonto die Rollen zuzuweisen:
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \
--role="roles/cloudbuild.builds.builder"
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \
--role="roles/iam.serviceAccountUser"
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \
--role="roles/bigquery.dataEditor"
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \
--role="roles/bigquery.jobUser"
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \
--role="roles/logging.logWriter"
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \
--role="roles/aiplatform.colabEnterpriseAdmin"
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \
--role="roles/storage.objectUser"
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \
--role="roles/workflows.editor"
Ersetzen Sie Folgendes:
SOURCE_PROJECTdurch die ID des Quellprojekts.CLOUD_BUILD_SAdurch das Cloud Build Dienstkonto im FormatCLOUD_BUILD_SA@SOURCE_PROJECT.gserviceaccount.com.
Weitere Informationen finden Sie unter Dem Cloud Build-Dienstkonto eine Rolle über die IAM-Seite zuweisen und IAM-Richtlinien für Buckets festlegen und verwalten.
Zusätzliches Dienstkonto für Cortex für Meridian erstellen
Für Meridian ist ein separates Dienstkonto erforderlich, wenn Sie Cortex Framework bereitstellen. Wenn Sie keine Bereitstellung für Meridian vornehmen, können Sie diesen Schritt überspringen. Für Folgendes ist ein separates Dienstkonto erforderlich:
- Workflow und Cloud Build ausführen, um Colab Enterprise-Notebook-Ausführungen auszulösen.
- Colab Enterprise-Notebook mit Zugriff auf Folgendes ausführen:
- Notebook und Konfigurationsdatei in Cloud Storage.
- Relevante BigQuery-Ansichten und -Tabellen abfragen.
- Ergebnisse zurück in Cloud Storage schreiben.
Verwenden Sie den folgenden Befehl, um ein Dienstkonto für Cortex für Meridian zu erstellen:
gcloud iam service-accounts create cortex-meridian-colab-runner --project=SOURCE_PROJECT \
--description="Cortex for Meridian Colab Runner Service Account" \
--display-name="Cortex Meridian Runner"
Ersetzen Sie Folgendes:
SOURCE_PROJECTdurch die Projekt-ID, unter der Cortex für Meridian bereitgestellt wird.cortex-meridian-colab-runner: Optional können Sie eine andere Dienstkonto-ID verwenden. Beachten Sie, dasscortex-meridian-colab-runnerdie Standardeinstellung ist und das Ändern möglicherweise Anpassungen an anderen Befehlen erfordert.
Die mindestens erforderlichen Rollen für ein dediziertes Dienstkonto für Cortex für Meridian sind die folgenden:
- BigQuery-Datenbetrachter (
roles/bigquery.dataViewer) - BigQuery-Jobnutzer (
roles/bigquery.jobUser) - BigQuery Read Session-Nutzer (
roles/bigquery.readSessionUser) - Cloud-Build-Bearbeiter (
roles/cloudbuild.builds.editor) - Colab Enterprise-Administrator (
roles/aiplatform.colabEnterpriseAdmin) - Log-Autor (
roles/logging.logWriter) - Notebook Runtime Admin (
aiplatform.notebookRuntimeAdmin) - Storage-Administrator (
roles/storage.admin) - Storage Object User (
roles/storage.objectUser) - Vertex AI Colab Service Agent (
roles/aiplatform.colabServiceAgent)
Verwenden Sie den folgenden Befehl, um dem dedizierten Dienstkonto für Cortex für Meridian die Rollen zuzuweisen:
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:cortex-meridian-colab-runner@SOURCE_PROJECT.iam.gserviceaccount.com" \
--role='roles/bigquery.dataViewer'
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:cortex-meridian-colab-runner@SOURCE_PROJECT.iam.gserviceaccount.com" \
--role='roles/bigquery.jobUser'
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:cortex-meridian-colab-runner@SOURCE_PROJECT.iam.gserviceaccount.com" \
--role='roles/bigquery.readSessionUser'
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:cortex-meridian-colab-runner@SOURCE_PROJECT.iam.gserviceaccount.com" \
--role='roles/cloudbuild.builds.editor'
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:cortex-meridian-colab-runner@SOURCE_PROJECT.iam.gserviceaccount.com" \
--role='roles/aiplatform.colabEnterpriseAdmin'
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:cortex-meridian-colab-runner@SOURCE_PROJECT.iam.gserviceaccount.com" \
--role='roles/logging.logWriter'
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:cortex-meridian-colab-runner@SOURCE_PROJECT.iam.gserviceaccount.com" \
--role='roles/aiplatform.notebookRuntimeAdmin'
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:cortex-meridian-colab-runner@SOURCE_PROJECT.iam.gserviceaccount.com" \
--role='roles/storage.admin'
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:cortex-meridian-colab-runner@SOURCE_PROJECT.iam.gserviceaccount.com" \
--role='roles/storage.objectUser'
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:cortex-meridian-colab-runner@SOURCE_PROJECT.iam.gserviceaccount.com" \
--role='roles/aiplatform.colabServiceAgent'
Ersetzen Sie Folgendes:
SOURCE_PROJECTdurch die Projekt-ID, unter der Cortex für Meridian bereitgestellt wird.cortex-meridian-colab-runnerdurch Ihr Dienstkonto für Cortex für Meridian.
Storage-Bucket zum Speichern von DAG-bezogenen Dateien erstellen
Ein Storage-Bucket ist erforderlich, um DAG-Skripts für die Verarbeitung und andere temporäre Dateien zu speichern, die während der Bereitstellung generiert werden. Diese Skripts müssen nach der Bereitstellung manuell in eine Cloud Composer- oder Apache Airflow-Instanz verschoben werden.
Sie können den Storage-Bucket mit den folgenden Schritten über die Google Cloud CLI oder die Google Cloud Console erstellen.
Console
Rufen Sie Cloud Storage auf.
Erstellen Sie einen Bucket in derselben Region wie Ihre BigQuery-Datasets.
Wählen Sie den erstellten Bucket aus.
Rufen Sie den Tab
Permissionsauf.Gewähren Sie die Berechtigung
Storage Object Creatorfür die Nutzer-ID, die den Build-Befehl ausführt, oder für das von Ihnen erstellte Dienstkonto. Weitere Informationen finden Sie unter Neue Bedingung für einen Bucket festlegen: Console.
gcloud
Erstellen Sie mit dem folgenden Befehl einen Bucket in Cloud Shell:
gcloud storage buckets create gs://COMPOSER_DAG_BUCKET -l REGION/MULTI_REGIONErsetzen Sie Folgendes:
COMPOSER_DAG_BUCKETdurch den Namen für den neuen Bucket.REGION/MULTI_REGIONdurch dieselbe Region wie Ihre BigQuery-Datasets.
Verwenden Sie den folgenden Befehl, um dem Dienstkonto die Berechtigung
Storage Object Creatorzuzuweisen:gcloud storage buckets add-iam-policy-binding gs://COMPOSER_DAG_BUCKET \ --member="serviceAccount:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \ --role=roles/storage.objectCreatorErsetzen Sie Folgendes:
cortex-deployerdurch das Cloud Build-Dienstkonto.COMPOSER_DAG_BUCKETdurch den Namen für den neuen Bucket.
Storage-Bucket für Logs erstellen
Sie können einen bestimmten Bucket für den Cloud Build-Prozess erstellen, um die Logs zu speichern. Dies ist nützlich, wenn Sie Daten, die in Logs gespeichert werden können, auf eine bestimmte Region beschränken möchten. Sie können den Storage Bucket für Logs über die Google Cloud CLI oder die Google Cloud Console erstellen.
Console
So erstellen Sie einen bestimmten Bucket für die Logs:
Rufen Sie Cloud Storage auf.
Erstellen Sie einen Bucket in derselben Region, in der die Bereitstellung ausgeführt wird.
Wählen Sie den erstellten Bucket aus.
Rufen Sie den Tab
Permissionsauf.Gewähren Sie die Berechtigung
Storage Object Adminfür die Nutzer-ID, die den Build-Befehl ausführt, oder für das Dienstkonto, das Sie erstellt haben. Weitere Informationen finden Sie unter Neue Bedingung für einen Bucket festlegen: Console.
gcloud
Verwenden Sie die folgenden Befehle, um einen bestimmten Bucket für die Logs zu erstellen.
Erstellen Sie mit dem folgenden Befehl einen Bucket in Cloud Shell:
gcloud storage buckets create gs://LOGS_BUCKET_NAME -l REGION/MULTI_REGIONErsetzen Sie Folgendes:
REGION/MULTI_REGIONdurch die ausgewählte Region, in der der Bucket erstellt werden soll.LOGS_BUCKET_NAMEdurch den Namen für den neuen Bucket.
Verwenden Sie den folgenden Befehl, um dem Dienstkonto die Berechtigung
Storage Object Adminzuzuweisen:gcloud storage buckets add-iam-policy-binding gs://LOGS_BUCKET_NAME \ --member="serviceAccount:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \ --role=roles/storage.objectAdminErsetzen Sie Folgendes:
cortex-deployerdurch das Standard-Cloud Build-Dienstkonto.LOGS_BUCKET_NAMEdurch den Namen für den neuen Bucket.
Nächste Schritte
Nachdem Sie diesen Schritt abgeschlossen haben, fahren Sie mit den folgenden Bereitstellungsschritten fort:
- Arbeitslasten einrichten.
- Repository klonen.
- Integrationsmechanismus festlegen.
- Komponenten einrichten (diese Seite)
- Bereitstellung konfigurieren.
- Bereitstellung ausführen.