Étape 4: Configurer les composants

Cette page décrit la quatrième étape du déploiement de Cortex Framework Data Foundation, le cœur de Cortex Framework. Au cours de cette étape, vous allez configurer les servicesGoogle Cloud requis pour le déploiement.

Dans cette section, vous allez activer les services Google Cloud suivants dans votre projetGoogle Cloud :

  • Instance et ensembles de données BigQuery
  • API Cloud Build
  • Buckets Cloud Storage
  • Compte de service (facultatif)
  • API Cloud Resource Manager

Activez les Google Cloud services suivants à l'aide de Cloud Shell:

  1. Copiez et collez la commande suivante :

    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
    

    Remplacez SOURCE_PROJECT par l'ID de votre projet source.

  2. Si vous recevez un message de réussite, assurez-vous que les services Google Cloud sont activés.

Facultatif. Vous pouvez activer les services Google Cloud suivants dans votre projetGoogle Cloud :

  • Cloud Composer pour le traitement de la capture des données modifiées (CDC, Change Data Capture), l'aplatissement de la hiérarchie (SAP uniquement) et la réplication de données (non-SAP uniquement) via des graphes orientés acycliques (DAG). Pour configurer une instance, consultez la documentation Cloud Composer.
  • Looker pour se connecter aux modèles de rapports.
  • Les ensembles de données associés à Analytics Hub sont utilisés pour certaines sources externes, telles que le DAG météo. Vous pouvez choisir de remplir cette structure avec n'importe quelle autre source disponible de votre choix pour les scénarios avancés.
  • Dataflow : outil d'intégration de nombreux ensembles de données marketing, comme Google Ads.
  • Dataplex: permet de créer un maillage de données. Pour en savoir plus, consultez le guide de l'utilisateur de Data Mesh.

Accorder des autorisations à l'utilisateur qui exécute le script

Pour exécuter le déploiement dans le projet dans lequel Cloud Build est déclenché, accordez les autorisations suivantes à l'utilisateur qui exécute le déploiement:

  • Consommateur Service Usage
  • Lecteur d'objets Storage pour le bucket par défaut ou le bucket des journaux de Cloud Build
  • Écrivain d'objets dans les buckets de sortie
  • Éditeur Cloud Build
  • Lecteur de projet ou lecteur d'objets Storage

Pour en savoir plus sur l'attribution de ces autorisations, consultez la documentation suivante:

Configurer le compte Cloud Build

Cloud Build utilise un compte de service pour exécuter des compilations en votre nom. Accordez au compte de service Cloud Build les autorisations nécessaires pour déployer Cortex Framework en procédant comme suit.

Pour accorder au compte de service Cloud Build les autorisations nécessaires pour déployer Cortex Framework, utilisez les commandes suivantes.

  1. Recherchez le compte de service Cloud Build par défaut en ouvrant Cloud Shell et en exécutant la commande suivante:

    gcloud builds get-default-service-account --project PROJECT_ID
    
  2. Vous recevez une réponse au format suivant:

    # 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`
    

    La réponse remplacera PROJECT_NUMBER par votre numéro de projet. L'une des adresses e-mail des comptes de service précédents est votre compte de service Cloud Build par défaut.

  3. Identifiez ce compte de service dans IAM en examinant le compte @developer.gserviceaccount.com ou le compte @cloudbuild.gserviceaccount.com dans IAM.

  4. Accordez les autorisations suivantes au compte de service Cloud Build dans le projet source (et au projet cible si vous déployez sur une cible distincte) via la console ou la Google Cloud CLI:

    • Compte de service Cloud Build (roles/cloudbuild.builds.builder)
    • Utilisateur du compte de service (roles/iam.serviceAccountUser)
    • Éditeur de données BigQuery (roles/bigquery.dataEditor)
    • BigQuery Job user (roles/bigquery.jobUser)

    Console

    1. Dans la console Google Cloud, accédez à la page IAM.

      Accéder à IAM

    2. Sélectionnez votre projet source.

    3. Cliquez sur Accorder l'accès.

    4. Ajoutez le compte de service Cloud Build par défaut de l'étape précédente en tant que nouveau compte principal.

    5. Dans le menu déroulant Sélectionner un rôle, recherchez Compte de service Cloud Build, puis cliquez sur Compte de service Cloud Build.

    6. Répétez l'étape précédente pour ajouter les autres autorisations: Utilisateur du compte de service, Éditeur de données BigQuery et Utilisateur de tâche BigQuery.

    7. Cliquez sur Enregistrer.

    8. Vérifiez que le compte de service et les rôles correspondants sont répertoriés sur la page IAM. Vous avez attribué un rôle IAM.

    gcloud

    Utilisez la commande suivante pour attribuer les rôles au compte de service Cloud Build:

    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"
    

    Remplacez les valeurs d'espace réservé dans la commande par les éléments suivants :

    • SOURCE_PROJECT par l'ID du projet source.
    • CLOUD_BUILD_SA avec le compte de service par défaut de Cloud Build.

    Pour en savoir plus, consultez Attribuer un rôle au compte de service Cloud Build à l'aide de la page IAM et Définir et gérer des stratégies IAM sur des buckets.

Étapes facultatives

Pour une meilleure personnalisation de votre déploiement, envisagez de suivre ces étapes facultatives:

Un bucket de stockage est nécessaire pour stocker les scripts de traitement DAG et d'autres fichiers temporaires générés lors du déploiement. Ces scripts doivent être déplacés manuellement dans une instance Cloud Composer ou Apache Airflow après le déploiement.

Vous pouvez créer le bucket de stockage à partir de Google Cloud CLI ou de la console Google Cloud en procédant comme suit :

Console

  1. Accédez à Cloud Storage.

    Cloud Storage

  2. Créez un bucket dans la même région que vos ensembles de données BigQuery.

  3. Sélectionnez le bucket créé.

  4. Accédez à l'onglet Permissions.

  5. Accordez l'autorisation Storage Object Creator à l'ID utilisateur qui exécute la commande de compilation ou au compte de service que vous avez créé. Pour en savoir plus, consultez Définir une nouvelle condition dans un bucket: console.

gcloud

  1. Créez un bucket à partir de Cloud Shell à l'aide de la commande suivante:

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

    Remplacez les éléments suivants :

    • DAG_BUCKET_NAME par le nom du nouveau bucket.
    • REGION/MULTI_REGION dans la même région que vos ensembles de données BigQuery.
  2. Utilisez la commande suivante pour attribuer l'autorisation Storage Object Creator au compte de service:

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

    Remplacez les éléments suivants :

    • CLOUD_BUILD_SA avec le compte de service par défaut de Cloud Build.
    • DAG_BUCKET_NAME par le nom du nouveau bucket.

Créer un bucket Storage pour les journaux

Vous pouvez créer un bucket spécifique pour que le processus Cloud Build stocke les journaux. Cela est utile si vous souhaitez limiter les données pouvant être stockées dans des journaux à une région spécifique. Vous pouvez créer le bucket de stockage pour les journaux à partir de Google Cloud CLI ou de la console Google Cloud.

Console

Pour créer un bucket spécifique pour les journaux, procédez comme suit:

  1. Accédez à Cloud Storage.

    Cloud Storage

  2. Créez un bucket dans la même région que celle où le déploiement s'exécutera.

  3. Sélectionnez le bucket créé.

  4. Accédez à l'onglet Permissions.

  5. Accordez l'autorisation Storage Object Admin à l'ID utilisateur qui exécute la commande de compilation ou au compte de service que vous avez créé. Pour en savoir plus, consultez Définir une nouvelle condition dans un bucket: console.

gcloud

Pour créer un bucket spécifique pour les journaux, utilisez les commandes suivantes.

  1. Créez un bucket à partir de Cloud Shell à l'aide de la commande suivante:

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

    Remplacez les éléments suivants :

    • REGION/MULTI_REGION avec la région choisie pour créer le bucket.
    • LOGS_BUCKET_NAME par le nom du nouveau bucket.
  2. Utilisez la commande suivante pour attribuer l'autorisation Storage Object Admin au compte de service:

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

    Remplacez les éléments suivants :

    • CLOUD_BUILD_SA avec le compte de service par défaut de Cloud Build.
    • LOGS_BUCKET_NAME par le nom du nouveau bucket.

Étapes suivantes

Une fois cette étape terminée, passez aux étapes de déploiement suivantes:

  1. Définir les charges de travail
  2. Clonez le dépôt.
  3. Déterminer le mécanisme d'intégration
  4. Configurer les composants (cette page).
  5. Configurez le déploiement.
  6. Exécutez le déploiement.