Schritt 4: Komponenten einrichten

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

Google Cloud -Dienste aktivieren

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
  • Cloud Resource Manager API
  • Data Catalog API (bei der Bereitstellung von Datamesh)
  • Workflowausführungen (bei der Bereitstellung von Cortex für Meridian)
  • KI-Plattform (bei der Bereitstellung von Cortex für Meridian)

Aktivieren Sie diese 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 \
                          datacatalog.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), das Reduzieren von Hierarchien (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 für die Verbindung zu Berichtsvorlagen.
  • Für einige externe Quellen wie den Weather-DAG werden verknüpfte Datasets aus BigQuery Sharing (früher Analytics Hub) verwendet. In erweiterten Szenarien können Sie diese Struktur mit einer beliebigen anderen verfügbaren Quelle Ihrer Wahl füllen.
  • Dataflow: Integrationstool für viele Marketingdatensätze wie Google Ads.
  • Dataplex Universal Catalog: Wird zum Erstellen eines Data Mesh verwendet. Weitere Informationen finden Sie im Nutzerhandbuch für Data Mesh.
  • 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
    • Schreiben Sie die Ergebnisse zurück in Cloud Storage.
    • Workflows: Workflow und Cloud Build ausführen, um die Ausführung von Colab Enterprise-Notebooks auszulösen.

Dem ausführenden Nutzer Berechtigungen erteilen

Gewähren Sie dem ausführenden Nutzer die folgenden Berechtigungen entweder über dieGoogle Cloud -Konsole oder die Google Cloud CLI, um die Bereitstellung in dem Projekt auszuführen, in dem Cloud Build ausgelöst wird:

  • Service Usage Consumer (roles/serviceusage.serviceUsageConsumer)
  • Storage-Objekt-Betrachter (roles/storage.objectViewer)
  • Storage-Administrator (roles/storage.admin)
  • Cloud-Build-Bearbeiter (roles/cloudbuild.builds.editor)
  • Projektleser (roles/reader)
  • BigQuery-Jobnutzer (roles/bigquery.jobUser)
  • BigQuery Datenmitbearbeiter (roles/bigquery.dataEditor)

Console

  1. Öffnen Sie die Seite „IAM“ in der Google Cloud Console:

    Seite "IAM" öffnen

  2. Wählen Sie Ihr Projekt aus und klicken Sie auf Weiter.

  3. Klicken Sie auf Zugriff erlauben.

  4. Geben Sie die E‑Mail-Adresse des ausführenden Nutzers ein.

  5. Wählen Sie im Drop-down-Menü die folgenden Rollen aus:

    • Service Usage Consumer (roles/serviceusage.serviceUsageConsumer)
    • Storage-Objekt-Betrachter (roles/storage.objectViewer)
    • Storage-Administrator (roles/storage.admin)
    • Cloud-Build-Bearbeiter (roles/cloudbuild.builds.editor)
    • Projektleser (roles/reader)
    • BigQuery-Jobnutzer (roles/bigquery.jobUser)
    • BigQuery Datenmitbearbeiter (roles/bigquery.dataEditor)
  6. Klicken Sie auf Speichern.

gcloud

Wenn Sie einem Nutzer eine Rolle zuweisen möchten, führen Sie den Befehl add-iam-policy-binding aus:

  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="user:USER_EMAIL" \
    --role="roles/serviceusage.serviceUsageConsumer"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="user:USER_EMAIL" \
    --role="roles/storage.objectViewer"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="user:USER_EMAIL" \
    --role="roles/storage.admin"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="user:USER_EMAIL" \
    --role="roles/cloudbuild.builds.editor"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="user:USER_EMAIL" \
    --role="roles/reader"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="user:USER_EMAIL" \
    --role="roles/bigquery.jobUser"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="user:USER_EMAIL" \
    --role="roles/bigquery.dataEditor"

Ersetzen Sie Folgendes:

  • SOURCE_PROJECT durch die ID des Quellprojekts.
  • USER_EMAIL mit der E-Mail-Adresse des ausführenden Nutzers. Beispiel: user:my-user@example.com. Eine vollständige Liste der Hauptkonto- oder member-Typen finden Sie in der Referenz zur Richtlinienbindung.

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 spezielles 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 dieses Dienstkonto während der Bereitstellung mit dem Substitutionsparameter _BUILD_ACCOUNT angeben.

Bevor Sie beginnen, müssen Sie die IAM API aktivieren, die Authentifizierung einrichten und sich mit IAM-Dienstkonten und -Rollen vertraut machen. Weitere Informationen finden Sie unter Dienstkonten erstellen.

Erstellen Sie dieses neue Dienstkonto entweder über die Google Cloud Console oder die Google Cloud CLI.

Console

  1. Rufen Sie die Seite Dienstkonten auf.

    Dienstkonten

    Die verbleibenden Schritte werden in der Google Cloud Console angezeigt.

  2. Ein Google Cloud -Projekt auswählen

  3. Geben Sie ein Dienstkonto und einen Anzeigenamen mit Beschreibung ein, die in der Google Cloud Console angezeigt werden. Die​COMMENTConsole generiert anhand dieses Namens eine Dienstkonto-ID. Google Cloud Bearbeiten Sie gegebenenfalls die ID. Später ist das nicht mehr möglich. Verwenden Sie die folgenden Standardwerte für das Dienstkonto:

    • Name: „cortex-deployer“.
    • Beschreibung: „Cortex Deployer Service Account“ (Cortex Deployer-Dienstkonto).
    • Anzeigename: „Cortex Deployer“
  4. Gewähren Sie Nutzern Zugriff auf dieses Dienstkonto.

    1. Fügen Sie die ID aller Nutzer (einschließlich Ihrer eigenen) hinzu, die die Bereitstellung über das Dienstkonto ausführen können.
    2. Weisen Sie die Rolle Ersteller von Dienstkonto-Tokens zu. Weitere Informationen zu dieser Rolle finden Sie unter Dienstkontenrollen.
  5. Klicken Sie auf Fertig, um das Erstellen des Dienstkontos abzuschließen.

Wenn Sie bereits ein Dienstkonto haben, gehen Sie so vor:

  1. Rufen Sie die Seite Dienstkonten auf.
  2. Wählen Sie das Dienstkonto aus.
  3. Klicken Sie auf den Tab Berechtigungen.
  4. Klicken Sie auf Zugriff gewähren.
    1. Fügen Sie die ID aller Nutzer (einschließlich Ihrer eigenen) hinzu, die die Bereitstellung über das Dienstkonto ausführen können.
    2. Weisen Sie die Rolle Ersteller von Dienstkonto-Tokens zu.

gcloud

  1. 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"
    
  2. 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"
    
  3. 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\
    --member="user:USER_EMAIL" \
    --role="roles/iam.serviceAccountTokenCreator"
    

    Ersetzen Sie Folgendes:

    • SOURCE_PROJECT mit dem Quellprojekt für die Bereitstellung von Cortex Framework Data Foundation.
    • USER_EMAIL durch 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). Weisen Sie die folgenden Rollen entweder über die Google Cloud -Konsole oder die Google Cloud CLI zu:

  • Cloud Build-Dienstkonto (roles/cloudbuild.builds.builder)
  • Dienstkontonutzer (roles/iam.serviceAccountUser)
  • BigQuery Datenmitbearbeiter (roles/bigquery.dataEditor)
  • BigQuery-Jobnutzer (roles/bigquery.jobUser)
  • Log-Autor (roles/logging.logWriter)
  • Colab Enterprise-Administrator (roles/aiplatform.colabEnterpriseAdmin – bei der Bereitstellung von Cortex for Meridian)
  • Storage Object User (roles/storage.objectUser – bei der Bereitstellung von Cortex for Meridian)
  • Workflow-Bearbeiter (roles/workflows.editor – bei der Bereitstellung von Cortex for Meridian)

Console

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

    IAM aufrufen

  2. Wählen Sie Ihr Quellprojekt aus.

  3. Klicken Sie auf Zugriff erlauben.

  4. Fügen Sie das Standard-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:

  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 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: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/logging.logWriter"
  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-Dienstkonto im Format CLOUD_BUILD_SA@SOURCE_PROJECT.gserviceaccount.com.

Weitere Informationen finden Sie unter Cloud Build-Dienstkonto über die IAM-Seite eine Rolle 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 das Cortex Framework bereitstellen. Wenn Sie die Bereitstellung nicht 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 die Ausführung von Colab Enterprise-Notebooks auszulösen.
  • Das Colab Enterprise-Notebook wird mit Zugriff auf Folgendes ausgeführt:
    • 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 für 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, in der Cortex for Meridian bereitgestellt wird.
  • cortex-meridian-colab-runner: Optional können Sie eine andere Dienstkonto-ID verwenden. cortex-meridian-colab-runner ist die Standardeinstellung. Wenn Sie sie ändern, müssen Sie möglicherweise andere Befehle anpassen.

Die mindestens erforderlichen Rollen für ein dediziertes Dienstkonto für Cortex for Meridian sind:

  • 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-Dienst-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 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, in der Cortex for Meridian bereitgestellt wird.
  • SERVICE_ACCOUNT_EMAIL durch Ihr Dienstkonto für Cortex for Meridian.

Optionale Schritte

Wenn Sie Ihr Deployment besser anpassen möchten, können Sie die folgenden optionalen Schritte ausführen:

  • Data Mesh: Wenn Sie Standardwerte für Data Mesh ändern müssen, um Funktionen über Beschreibungen hinaus zu implementieren, lesen Sie die Data Mesh-Konzepte und die Data Mesh-Anleitung.

Ein Speicher-Bucket ist erforderlich, um DAG-Scripts 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 Speicher-Bucket mit den folgenden Schritten ü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. Erteilen Sie die Berechtigung Storage Object Creator für die Nutzer-ID, mit der der Build-Befehl ausgeführt wird, oder für das von Ihnen erstellte Dienstkonto. 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 durch dieselbe Region wie Ihre BigQuery-Datasets.
  2. Verwenden Sie den folgenden Befehl, um dem Dienstkonto die Berechtigung Storage Object Creator zuzuweisen:

    gcloud storage buckets add-iam-policy-binding gs://DAG_BUCKET_NAME --member=serviceAccount:CLOUD_BUILD_SA --role=roles/storage.objectCreator
    

    Ersetzen Sie Folgendes:

    • CLOUD_BUILD_SA durch das Cloud Build-Standarddienstkonto.
    • DAG_BUCKET_NAME durch den Namen des neuen Buckets.

Storage-Bucket für Logs erstellen

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

Console

So erstellen Sie ein bestimmtes Bucket für die Logs:

  1. Rufen Sie Cloud Storage auf.

    Cloud Storage

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

  3. Wählen Sie den erstellten Bucket aus.

  4. Rufen Sie den Tab Permissions auf.

  5. Erteilen Sie die Berechtigung Storage Object Admin für die Nutzer-ID, mit der der Build-Befehl ausgeführt wird, oder für das von Ihnen erstellte Dienstkonto. Weitere Informationen finden Sie unter Neue Bedingung für einen Bucket festlegen: Console.

gcloud

Verwenden Sie die folgenden Befehle, um ein bestimmtes Bucket für die Logs 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 durch die ausgewählte Region, in der der Bucket erstellt werden soll.
    • Ersetzen Sie LOGS_BUCKET_NAME durch den Namen des neuen Buckets.
  2. Verwenden Sie den folgenden Befehl, um dem Dienstkonto die Berechtigung Storage Object Admin zuzuweisen:

    gcloud storage buckets add-iam-policy-binding gs://LOGS_BUCKET_NAME --member=serviceAccount:CLOUD_BUILD_SA --role=roles/storage.objectAdmin
    

    Ersetzen Sie Folgendes:

    • CLOUD_BUILD_SA durch das Cloud Build-Standarddienstkonto.
    • 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 einrichten:
  2. Repository klonen
  3. Integrationsmechanismus festlegen:
  4. Komponenten einrichten (diese Seite)
  5. Bereitstellung konfigurieren
  6. Bereitstellung ausführen