Schritt 4: Komponenten einrichten

Auf dieser Seite wird der vierte Schritt zur Bereitstellung der Cortex Framework Data Foundation beschrieben, dem Kern des Cortex Framework. In diesem Schritt richten Sie die erforderlichenGoogle Cloud -Dienste für die Bereitstellung ein.

In diesem Abschnitt aktivieren Sie die folgenden Google Cloud Dienste in IhremGoogle Cloud Projekt:

  • BigQuery-Instanz und ‑Datasets
  • Cloud Build API
  • Cloud Storage-Buckets
  • Dienstkonto (optional)
  • Cloud Resource Manager API
  • Workflowausführungen (nur mit Cortex Framework für Meridian erforderlich)
  • KI-Plattform (nur mit Cortex Framework für Meridian erforderlich)

Aktivieren Sie die folgenden Google Cloud Dienste mit Cloud Shell:

  1. 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 \
                          workflowexecutions.googleapis.com \
                          workflows.googleapis.com \
                          aiplatform.googleapis.com
    

    Ersetzen Sie SOURCE_PROJECT durch die ID Ihres Quellprojekts.

  2. Prüfen Sie, ob die Google Cloud Dienste aktiviert sind, wenn Sie eine Erfolgsmeldung erhalten.

Optional: Sie können die folgenden Google Cloud Dienste in IhremGoogle Cloud Projekt aktivieren:

  • Cloud Composer für die Verarbeitung von Change Data Capture (CDC), die Hierarchieflattening (nur SAP) und die Datenreplizierung (nicht nur SAP) über gerichtete azyklische Graphen (DAGs). Informationen zum Einrichten einer Instanz finden Sie in der Cloud Composer-Dokumentation.
  • Looker für die Verbindung zu Berichtsvorlagen.
  • Verknüpfte Datasets aus der BigQuery-Freigabe (früher Analytics Hub) werden für einige externe Quellen verwendet, z. B. für den Wetter-DAG. 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-Datensätze wie Google Ads.
  • Dataplex: Wird zum Erstellen eines Data Mesh verwendet. Weitere Informationen finden Sie im Data Mesh-Nutzerhandbuch.
  • Für Cortex Framework mit Meridian:
    • Colab Enterprise: Beim Ausführen des Colab Enterprise-Notebooks während der Ausführung Zugriff auf Folgendes:
    • Das Notebook und die Konfigurationsdatei in Cloud Storage.
    • Relevante BigQuery-Ansichten und -Tabellen abfragen
    • Schreiben Sie die Ergebnisse zurück in Cloud Storage.
    • Workflows: Ausführen des Workflows und von Cloud Build, um die Ausführung von Colab Enterprise-Notebooks auszulösen.

Dem ausführenden Nutzer Berechtigungen erteilen

Damit die Bereitstellung im Projekt ausgeführt werden kann, in dem Cloud Build ausgelöst wird, müssen Sie dem ausführenden Nutzer die folgenden Berechtigungen erteilen:

  • Service Usage Consumer
  • Storage Object Viewer für den Standard-Bucket oder den Bucket für Protokolle von Cloud Build
  • Objekt-Writer für die Ausgabe-Buckets
  • Cloud Build-Bearbeiter
  • Project Viewer oder Storage Object Viewer

Weitere Informationen zum Gewähren dieser Berechtigungen finden Sie in der folgenden Dokumentation:

Cloud Build-Konto konfigurieren

Cloud Build verwendet ein Dienstkonto, um Builds in Ihrem Namen auszuführen. Gewähren Sie dem Cloud Build-Dienstkonto die Berechtigungen zum Bereitstellen des Cortex-Frameworks. Gehen Sie dazu so vor:

Verwenden Sie die folgenden Befehle, um dem Cloud Build-Dienstkonto die Berechtigung zum Bereitstellen des Cortex-Frameworks zu erteilen.

  1. Öffnen Sie Cloud Shell und führen Sie den folgenden Befehl aus, um das standardmäßige Cloud Build-Dienstkonto zu ermitteln:

    gcloud builds get-default-service-account --project PROJECT_ID
    
  2. Sie erhalten eine Antwort in folgendem Format:

    # Response one
    `serviceAccountEmail: projects/PROJECT_NUMBER/serviceAccounts/PROJECT_NUMBER-compute@developer.gserviceaccount.com`
    # Response two
    `serviceAccountEmail: projects/PROJECT_NUMBER/serviceAccounts/PROJECT_NUMBER@cloudbuild.gserviceaccount.com`
    

    In der Antwort wird PROJECT_NUMBER durch Ihre Projektnummer ersetzt. Eine der beiden E-Mail-Adressen des vorherigen Dienstkontos ist Ihr Standard-Cloud Build-Dienstkonto.

  3. Suchen Sie in IAM nach dem Konto @developer.gserviceaccount.com oder @cloudbuild.gserviceaccount.com, um dieses Dienstkonto zu identifizieren.

  4. Gewähren Sie dem Cloud Build-Dienstkonto im Quellprojekt (und dem Zielprojekt, falls die Bereitstellung auf einem separaten Ziel erfolgt) über die Console oder die Google Cloud CLI die folgenden Berechtigungen:

    • Cloud Build-Dienstkonto (roles/cloudbuild.builds.builder)
    • Dienstkontonutzer (roles/iam.serviceAccountUser)
    • BigQuery Datenmitbearbeiter (roles/bigquery.dataEditor)
    • BigQuery-Jobnutzer (roles/bigquery.jobUser)
    • Colab Enterprise Admin (roles/aiplatform.colabEnterpriseAdmin – nur mit Cortex Framework für Meridian erforderlich)
    • Storage Object User (roles/storage.objectUser – nur mit Cortex Framework für Meridian erforderlich)
    • Workflow-Bearbeiter (roles/workflows.editor – nur mit Cortex Framework für Meridian erforderlich)

    Console

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

      IAM aufrufen

    2. Wählen Sie das Quellprojekt aus.

    3. Klicken Sie auf Zugriff erlauben.

    4. Fügen Sie das standardmäßige Cloud Build-Dienstkonto aus dem vorherigen Schritt als neues Hauptkonto hinzu.

    5. Suchen Sie im Drop-down-Menü Rolle auswählen nach Cloud Build-Dienstkonto und klicken Sie dann auf Cloud Build-Dienstkonto.

    6. Wiederholen Sie den vorherigen Schritt, um die restlichen Rollen hinzuzufügen:

      • Dienstkontonutzer,
      • BigQuery-Dateneditor
      • BigQuery-Jobnutzer
      • Colab Enterprise Admin
      • Storage Object User
      • Workflow-Bearbeiter
    7. Klicken Sie auf Speichern.

    8. Prüfen Sie, ob das Dienstkonto und die entsprechenden Rollen auf der IAM-Seite aufgeführt sind. Sie haben 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:CLOUD_BUILD_SA" \
        --role="roles/cloudbuild.builds.builder"
    gcloud projects add-iam-policy-binding SOURCE_PROJECT \
        --member="serviceAccount:CLOUD_BUILD_SA" \
        --role="roles/iam.serviceAccountUser"
    gcloud projects add-iam-policy-binding SOURCE_PROJECT \
        --member="serviceAccount:CLOUD_BUILD_SA" \
        --role="roles/bigquery.dataEditor"
    gcloud projects add-iam-policy-binding SOURCE_PROJECT \
        --member="serviceAccount:CLOUD_BUILD_SA" \
        --role="roles/bigquery.jobUser"
    gcloud projects add-iam-policy-binding SOURCE_PROJECT \
        --member="serviceAccount:CLOUD_BUILD_SA" \
        --role="roles/aiplatform.colabEnterpriseAdmin"
    gcloud projects add-iam-policy-binding SOURCE_PROJECT \
        --member="serviceAccount:CLOUD_BUILD_SA" \
        --role="roles/storage.objectUser"
    gcloud projects add-iam-policy-binding SOURCE_PROJECT \
        --member="serviceAccount:CLOUD_BUILD_SA" \
        --role="roles/workflows.editor"
    

    Ersetzen Sie Folgendes:

    • SOURCE_PROJECT durch die ID des Quellprojekts.
    • CLOUD_BUILD_SA mit dem Cloud Build-Standarddienstkonto.

    Weitere Informationen finden Sie unter Cloud Build-Dienstkonto über die IAM-Seite eine Rolle zuweisen und IAM-Richtlinien für Bucket festlegen und verwalten.

Zusätzliches Dienstkonto für Cortex for Meridian erstellen

Für Meridian ist ein separates Dienstkonto erforderlich, wenn das Cortex Framework bereitgestellt wird. Wenn Sie die Bereitstellung nicht für Meridian vornehmen, können Sie diesen Schritt überspringen. Für Folgendes ist ein separates Dienstkonto erforderlich:

  • Ausführen des Workflows und von Cloud Build, um die Ausführung von Colab Enterprise-Notebooks auszulösen.
  • Das Colab Enterprise-Notebook mit Zugriff auf Folgendes ausführen:
    • Notebook und Konfigurationsdatei in Cloud Storage
    • Relevante BigQuery-Ansichten und -Tabellen abfragen
    • Schreiben Sie die Ergebnisse zurück in Cloud Storage.

Verwenden Sie den folgenden Befehl, um ein Dienstkonto für Cortex for Meridian zu erstellen:


 gcloud iam service-accounts create cortex-meridian-colab-runner --project= PROJECT_ID \
        --description="Cortex for Meridian Colab Runner Service Account" \
        --display-name="Cortex Meridian Runner"

Ersetzen Sie Folgendes:

  • PROJECT_ID durch die Projekt-ID, unter der Cortex for Meridian bereitgestellt ist.
  • cortex-meridian-colab-runner: Optional können Sie eine andere Dienstkonto-ID verwenden. Beachten Sie, dass cortex-meridian-colab-runner der Standardwert ist. Wenn Sie ihn ändern, müssen möglicherweise auch andere Befehle angepasst werden.

Für ein spezielles Dienstkonto für Cortex for Meridian sind mindestens die folgenden Rollen erforderlich:

  • 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 Admin (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 speziellen Dienstkonto für Cortex for Meridian die Rollen zuzuweisen:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/bigquery.dataViewer'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/bigquery.jobUser'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/bigquery.readSessionUser'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/cloudbuild.builds.editor'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/aiplatform.colabEnterpriseAdmin'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/logging.logWriter'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/aiplatform.notebookRuntimeAdmin'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/storage.admin'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/storage.objectUser'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/aiplatform.colabServiceAgent'

Ersetzen Sie Folgendes:

  • PROJECT_ID durch die Projekt-ID, unter der Cortex for Meridian bereitgestellt ist.
  • SERVICE_ACCOUNT_EMAIL durch Ihr Dienstkonto für Cortex for Meridian.

Optionale Schritte

Für eine bessere Anpassung Ihrer Bereitstellung können Sie die folgenden optionalen Schritte ausführen:

Ein Speicher-Bucket ist erforderlich, um Verarbeitungs-DAG-Scripts und andere temporäre Dateien zu speichern, die während der Bereitstellung generiert werden. Diese Scripts müssen nach der Bereitstellung manuell in eine Cloud Composer- oder Apache Airflow-Instanz verschoben werden.

Mit den folgenden Schritten können Sie den Speicher-Bucket über die Google Cloud CLI oder die Google Cloud Console erstellen.

Console

  1. Rufen Sie Cloud Storage auf.

    Cloud Storage

  2. Erstellen Sie einen Bucket in derselben Region wie Ihre BigQuery-Datasets.

  3. Wählen Sie den erstellten Bucket aus.

  4. Rufen Sie den Tab Permissions auf.

  5. Gewähren Sie der Nutzer-ID, die den Build-Befehl ausführt, oder dem von Ihnen erstellten Dienstkonto die Berechtigung Storage Object Creator. Weitere Informationen finden Sie unter Neue Bedingung für einen Bucket festlegen: Console.

gcloud

  1. Erstellen Sie mit dem folgenden Befehl einen Bucket in der Cloud Shell:

    gcloud storage buckets create gs://DAG_BUCKET_NAME -l REGION/MULTI_REGION
    

    Ersetzen Sie Folgendes:

    • DAG_BUCKET_NAME durch den Namen des neuen Buckets.
    • REGION/MULTI_REGION mit derselben Region wie Ihre BigQuery-Datasets.
  2. Verwenden Sie den folgenden Befehl, um dem Dienstkonto die Berechtigung Storage Object Creator zuzuweisen:

    gsutil iam ch serviceAccount:CLOUD_BUILD_SA:roles/storage.objectCreator gs://DAG_BUCKET_NAME
    

    Ersetzen Sie Folgendes:

    • CLOUD_BUILD_SA mit dem Standarddienstkonto von Cloud Build.
    • DAG_BUCKET_NAME durch den Namen des neuen Buckets.

Storage-Bucket für Protokolle erstellen

Sie können einen bestimmten Bucket für den Cloud Build-Prozess zum Speichern der Protokolle erstellen. Dies ist nützlich, wenn Sie Daten, die in Protokollen gespeichert werden können, auf eine bestimmte Region beschränken möchten. Sie können den Speicher-Bucket für Protokolle über die Google Cloud CLI oder die Google Cloud -Console erstellen.

Console

So erstellen Sie einen bestimmten Bucket für die Protokolle:

  1. Rufen Sie Cloud Storage auf.

    Cloud Storage

  2. Erstellen Sie einen Bucket in derselben Region, in der die Bereitstellung ausgeführt werden soll.

  3. Wählen Sie den erstellten Bucket aus.

  4. Rufen Sie den Tab Permissions auf.

  5. Gewähren Sie der Nutzer-ID, die den Build-Befehl ausführt, oder dem von Ihnen erstellten Dienstkonto die Berechtigung Storage Object Admin. 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 Protokolle zu erstellen.

  1. Erstellen Sie mit dem folgenden Befehl einen Bucket in der Cloud Shell:

    gcloud storage buckets create gs://LOGS_BUCKET_NAME -l REGION/MULTI_REGION
    

    Ersetzen Sie Folgendes:

    • REGION/MULTI_REGION mit der ausgewählten Region, um den Bucket zu erstellen.
    • LOGS_BUCKET_NAME durch den Namen des neuen Buckets.
  2. Verwenden Sie den folgenden Befehl, um dem Dienstkonto die Berechtigung Storage Object Admin zuzuweisen:

    gsutil iam ch serviceAccount:CLOUD_BUILD_SA:roles/storage.objectAdmin gs://LOGS_BUCKET_NAME
    

    Ersetzen Sie Folgendes:

    • CLOUD_BUILD_SA mit dem Standarddienstkonto von Cloud Build.
    • LOGS_BUCKET_NAME durch den Namen des neuen Buckets.

Nächste Schritte

Fahren Sie nach Abschluss dieses Schritts mit den folgenden Bereitstellungsschritten fort:

  1. Arbeitslasten festlegen
  2. Repository klonen
  3. Integrationsmechanismus festlegen
  4. Komponenten einrichten (diese Seite)
  5. Bereitstellung konfigurieren
  6. Bereitstellung ausführen