Schritt 4: Komponenten einrichten

Auf dieser Seite wird der vierte Schritt zur Bereitstellung der Cortex Framework Data Foundation beschrieben, dem Kern des Cortex-Frameworks. 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

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
    

    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.
  • Mit Analytics Hub verknüpfte Datensätze 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.

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)

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

      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 Berechtigungen hinzuzufügen: Nutzer des Dienstkontos, BigQuery-Datenbearbeiter und BigQuery-Jobnutzer.

    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.

    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"
    

    Ersetzen Sie die Platzhalterwerte im Befehl durch 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.

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.

  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.

  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.

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.

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