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:
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.comErsetzen Sie
SOURCE_PROJECT
durch die ID Ihres Quellprojekts.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:
- Berechtigungen zum Ausführen von Cloud Build
- Berechtigungen für den Speicher für das Build-Konto
- Berechtigungen für das Cloud Build-Dienstkonto
- Logs aus Builds ansehen
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.
Ö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 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.Suchen Sie in IAM nach dem Konto
@developer.gserviceaccount.com
oder@cloudbuild.gserviceaccount.com
, um dieses Dienstkonto zu identifizieren.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
)
Öffnen Sie in der Google Cloud Console die Seite IAM.
Wählen Sie das Quellprojekt aus.
Klicken Sie auf
Zugriff erlauben.Fügen Sie das standardmäßige 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 Berechtigungen hinzuzufügen: Nutzer des Dienstkontos, BigQuery-Datenbearbeiter und BigQuery-Jobnutzer.
Klicken Sie auf Speichern.
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-bindingSOURCE_PROJECT \ --member="serviceAccount:CLOUD_BUILD_SA " \ --role="roles/iam.serviceAccountUser" gcloud projects add-iam-policy-bindingSOURCE_PROJECT \ --member="serviceAccount:CLOUD_BUILD_SA " \ --role="roles/bigquery.dataEditor" gcloud projects add-iam-policy-bindingSOURCE_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.
- Cloud Build-Dienstkonto (
Optionale Schritte
Für eine bessere Anpassung Ihrer Bereitstellung können Sie die folgenden optionalen Schritte ausführen:
- Data Mesh: Wenn Sie Standardwerte für Data Mesh ändern müssen, um Funktionen zu implementieren, die über Beschreibungen hinausgehen, lesen Sie die Data Mesh-Konzepte und die Data Mesh-Nutzeranleitung.
- Dienstkonto für die Bereitstellung: Wenn Sie die Sicherheit verbessern, die Bereitstellung vereinfachen und die Prüfbarkeit optimieren möchten, lesen Sie den Hilfeartikel Dienstkonto für die Bereitstellung erstellen.
Storage-Bucket zum Speichern von DAG-bezogenen Dateien erstellen
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.
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
Permissions
auf.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.
Erstellen Sie mit dem folgenden Befehl einen Bucket in der Cloud Shell:
gcloud storage buckets create gs://
DAG_BUCKET_NAME -lREGION/MULTI_REGION Ersetzen Sie Folgendes:
DAG_BUCKET_NAME
durch den Namen des neuen Buckets.REGION/MULTI_REGION
mit derselben Region wie Ihre BigQuery-Datasets.
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:
Rufen Sie Cloud Storage auf.
Erstellen Sie einen Bucket in derselben Region, in der die Bereitstellung ausgeführt werden soll.
Wählen Sie den erstellten Bucket aus.
Rufen Sie den Tab
Permissions
auf.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.
Erstellen Sie mit dem folgenden Befehl einen Bucket in der Cloud Shell:
gcloud storage buckets create gs://
LOGS_BUCKET_NAME -lREGION/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.
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:
- Arbeitslasten festlegen
- Repository klonen
- Integrationsmechanismus festlegen
- Komponenten einrichten (diese Seite)
- Bereitstellung konfigurieren
- Bereitstellung ausführen