Créer des connexions cross-cloud

Les connexions multicloud sont des connexions BigQuery qui importent des données depuis Amazon Web Services (AWS), Microsoft Azure et Salesforce Data 360 dans BigQuery pour les interroger. Ces connexions sont une alternative aux connexions BigQuery standards qui utilisent BigQuery Omni, où BigQuery déploie des nœuds de calcul légers dans des régions distantes pour rendre les données d'autres clouds disponibles pour les requêtes sans aucun déplacement de données.

Les charges de travail peuvent bénéficier de connexions multicloud par rapport aux connexions standards pour les raisons suivantes :

  • Cohérence des fonctionnalités. En important vos données depuis d'autres clouds vers BigQuery, vous bénéficiez d'un accès direct aux fonctionnalités d'IA de BigQuery, à Gemini Enterprise Agent Platform, aux vues matérialisées, aux fonctions définies par l'utilisateur et à d'autres fonctionnalités qui ne sont pas disponibles avec les connexions standards.
  • Rentabilité : Les charges de travail qui utilisent des connexions multicloud consomment des réservations et des engagements de slots standards, ce qui élimine la nécessité de gérer des capacités de calcul distinctes.
  • Mise en cache intelligente : Lorsque les données sont transférées d'un cloud à un autre, BigQuery met automatiquement en cache les fragments en local, ce qui évite des frais de sortie cross-cloud importants pour les requêtes ultérieures. Pour en savoir plus, consultez Mise en cache intelligente.

Si votre charge de travail implique des catalogues Apache Iceberg ou si vous avez besoin d'une compatibilité avec les requêtes sur des moteurs autres que BigQuery, envisagez plutôt d'utiliser la fonctionnalité d'accès aux données multicloud de Lakehouse sans frontières.

Avant de commencer

Attribuez aux utilisateurs des rôles Identity and Access Management et tiers incluant les autorisations nécessaires pour effectuer l'ensemble des tâches du présent document.

Rôles BigQuery requis

Pour obtenir les autorisations nécessaires pour créer une connexion multicloud, demandez à votre administrateur de vous accorder le rôle IAM Administrateur BigQuery (roles/bigquery.admin) sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

Rôles tiers requis

Pour obtenir les autorisations nécessaires à la création d'une connexion multicloud, assurez-vous de disposer des rôles tiers suivants :

  • Pour AWS : un rôle qui vous permet de créer des stratégies et des rôles IAM dans votre compte AWS.
  • Pour Azure : un rôle qui vous permet de gérer les enregistrements d'applications dans Microsoft Entra ID (Azure AD) et d'attribuer des rôles, tels que "Lecteur des données Blob du stockage", sur le compte Azure cible.

Créer des connexions cross-cloud AWS

Pour créer une connexion cross-cloud AWS :

  1. Créez une stratégie IAM AWS pour BigQuery comme vous le feriez pour les connexions BigQuery standards.
  2. Créez un rôle IAM AWS pour BigQuery comme vous le feriez pour les connexions BigQuery standards.
  3. Pour créer une ressource de connexion, utilisez la commande bq mk --connection :

    bq mk --connection \
        --connection_type='AWS' \
        --location=LOCATION \
        --project_id=PROJECT_ID \
        --properties='{"accessRole":{"iamRoleId":"arn:aws:iam::AWS_ACCOUNT_ID:role/ROLE_NAME"}}' \
        CONNECTION_ID

    Remplacez les éléments suivants :

    • LOCATION : emplacement BigQuery standard, et non un emplacement BigQuery Omni. Pour obtenir des conseils sur la sélection d'une région, consultez Recommandations concernant les régions.
    • PROJECT_ID : ID de votre projet Google Cloud .
    • AWS_ACCOUNT_ID : ID de l'utilisateur IAM AWS de l'étape précédente
    • ROLE_NAME : nom de la stratégie de rôle AWS que vous avez choisie.
    • CONNECTION_ID : ID à attribuer à cette ressource de connexion.
  4. Pour noter les informations du compte de service, utilisez la commande bq show :

    bq show --connection \
        --location=LOCATION \
        PROJECT_ID.LOCATION.CONNECTION_ID
  5. Ajoutez une stratégie d'approbation au rôle AWS à l'aide des informations du compte de service, comme vous le feriez pour les connexions BigQuery standards.

Maintenant que vous avez établi une connexion cross-cloud AWS, vous pouvez créer des tables et des ensembles de données pour interroger vos données à distance.

Exemples AWS

L'exemple suivant crée une table externe pour interroger des fichiers Parquet directement à partir d'un bucket Amazon Simple Storage Service (Amazon S3) avec une connexion multicloud :

CREATE SCHEMA `my-project.aws_raw_data`
  OPTIONS (
    location = 'us-east4');

CREATE EXTERNAL TABLE `my-project.aws_raw_data.sales_parquet`
WITH CONNECTION `us-east4.my-aws-connection`
  OPTIONS (
    format = 'PARQUET',
    uris = ['s3://my-data-bucket/sales/year=2025/*']);

L'exemple suivant fédère une base de données entière dans BigQuery à l'aide d'AWS Glue avec une connexion multicloud :

CREATE EXTERNAL SCHEMA `my-project.aws_glue_data`
WITH CONNECTION `us-east4.my-aws-connection`
  OPTIONS (
    location = 'us-east4',
    external_source = 'aws-glue://arn:aws:glue:us-east-4:123456789:database/test_database');

Pour en savoir plus sur la fédération AWS Glue, consultez Créer et gérer des ensembles de données fédérés AWS Glue.

Créer des connexions Azure cross-cloud

Pour créer une connexion Azure cross-cloud :

  1. Créez une application dans votre locataire Azure comme vous le feriez pour les connexions BigQuery standards, et notez les ID d'application (client) et de répertoire (locataire).
  2. Attribuez un rôle à l'application Azure comme vous le feriez pour les connexions BigQuery standards.
  3. Pour créer une ressource de connexion, utilisez la commande bq mk --connection :

    bq mk --connection \
        --connection_type='Azure' \
        --tenant_id=TENANT_ID \
        --location=LOCATION \
        --federated_azure=true \
        --federated_app_client_id=APP_ID \
        --project_id=PROJECT_ID \
        CONNECTION_ID

    Remplacez les éléments suivants :

    • TENANT_ID : ID de locataire du répertoire Azure contenant le compte Azure.
    • LOCATION : emplacement BigQuery standard, et non un emplacement BigQuery Omni. Pour obtenir des conseils sur la sélection d'une région, consultez Recommandations concernant les régions.
    • APP_ID : ID (client) de l'application Azure.
    • PROJECT_ID : ID de votre projet Google Cloud .
    • CONNECTION_ID : ID à attribuer à cette ressource de connexion.
  4. Pour noter les informations du compte de service, utilisez la commande bq show :

    bq show --connection \
        --location=LOCATION \
        PROJECT_ID.LOCATION.CONNECTION_ID
  5. Ajoutez des identifiants fédérés à l'aide des informations du compte de service, comme vous le feriez pour les connexions BigQuery standards.

Maintenant que vous avez établi une connexion multicloud Azure, vous pouvez créer des tables et des ensembles de données pour interroger vos données à distance.

Exemples Azure

L'exemple suivant crée une table externe pour interroger les fichiers Parquet directement à partir d'un conteneur Azure Blob Storage avec une connexion multicloud :

CREATE SCHEMA `my-project.azure_raw_data`
  OPTIONS (
    location = 'us-east4');

CREATE EXTERNAL TABLE `my-project.azure_raw_data.sales_parquet`
WITH CONNECTION `us-east4.my-azure-connection`
  OPTIONS (
    format = 'PARQUET',
    uris = ['azure://mystorageaccount.blob.core.windows.net/mycontainer/sales/year=2025/*']);

L'exemple suivant crée une table externe pour interroger les exportations CSV brutes d'un conteneur Blob Storage avec une connexion multicloud :

CREATE EXTERNAL TABLE `my-project.azure_raw_data.daily_logs_csv`
WITH CONNECTION `us-east4.my-azure-connection`
  OPTIONS (
    format = 'CSV',
    skip_leading_rows = 1,
    uris = ['azure://mystorageaccount.blob.core.windows.net/mycontainer/logs/*.csv']);

Créer des connexions cross-cloud Data 360

Pour créer une connexion multicloud Data 360, suivez les étapes pour associer un ensemble de données Data 360 à BigQuery, mais au lieu de créer l'ensemble de données associé dans un emplacement BigQuery Omni, créez-le dans un emplacement BigQuery standard. Pour obtenir des conseils sur la sélection d'une région, consultez Recommandations concernant les régions.

Une fois que vous avez mis à jour vos requêtes pour utiliser les nouveaux ensembles de données, vous pouvez supprimer les anciens ensembles de données associés et les vues matérialisées BigQuery Omni.

Recommandations de régions

Lorsque vous sélectionnez une région BigQuery standard pour votre connexion multicloud, choisissez la région qui est physiquement la plus proche de vos données pour optimiser l'efficacité en termes de coût et de performances.

Le tableau suivant liste les régions AWS et les régions BigQuery correspondantes les plus adaptées :

Région AWS Région BigQuery la plus proche Autres régions BigQuery proches
us-east-1 us-east4 us-east1
us-east5
us-central1
us-east-2 us-east5 us-east4
us-east1
us-central1
us-west-1 us-west2 us-west4
us-west1
us-west3
us-west-2 us-west1 us-west3
us-west4
us-west2
ca-central-1 northamerica-northeast1 northamerica-northeast2
us-east4
us-east5
sa-east-1 southamerica-east1 southamerica-west1
us-east1
us-south1
eu-west-1 europe-west1 europe-west2
europe-west9
europe-west4
eu-west-2 europe-west2 europe-west1
europe-west9
europe-west4
eu-west-3 europe-west9 europe-west1
europe-west2
europe-west3
eu-central-1 europe-west3 europe-west4
europe-west1
europe-west6
eu-central-2 europe-west6 europe-west8
europe-west12
europe-west3
eu-north-1 europe-north1 europe-west4
europe-central2
europe-west1
eu-south-1 europe-west8 europe-west12
europe-west6
europe-west3
eu-south-2 europe-southwest1 europe-west9
europe-west1
europe-west8
me-central-1 me-central1 me-central2
me-west1
asia-south1
me-south-1 me-central2 me-central1
me-west1
asia-south1
af-south-1 europe-southwest1 me-central2
me-west1
europe-west1
ap-east-1 asia-east2 asia-east1
asia-southeast1
asia-northeast1
ap-northeast-1 asia-northeast1 asia-northeast2
asia-northeast3
asia-east1
ap-northeast-2 asia-northeast3 asia-northeast2
asia-northeast1
asia-east1
ap-northeast-3 asia-northeast2 asia-northeast1
asia-northeast3
asia-east1
ap-south-1 asia-south1 asia-south2
me-central1
asia-southeast1
ap-south-2 asia-south2 asia-south1
asia-southeast1
me-central1
ap-southeast-1 asia-southeast1 asia-southeast2
asia-east1
asia-south1
ap-southeast-2 australia-southeast1 australia-southeast2
asia-southeast2
asia-southeast1
ap-southeast-3 asia-southeast2 asia-southeast1
australia-southeast1
asia-east1

Le tableau suivant liste les régions Azure et les régions BigQuery correspondantes les plus adaptées :

Région Azure Région BigQuery la plus proche Autres régions BigQuery proches
Est des États-Unis us-east4 us-east1
us-east5
us-central1
Est des États-Unis 2 us-east4 us-east1
us-east5
us-south1
Ouest des États-Unis us-west1 us-west2
us-west3
us-west4
Ouest des États-Unis 2 us-west1 us-west4
us-west3
us-west2
Ouest des États-Unis 3 us-west4 us-west2
us-west3
us-west1
Centre des États-Unis us-central1 us-east5
us-east4
us-east1
Centre-nord des États-Unis us-east5 us-central1
us-east4
us-east1
Centre-sud des États-Unis us-south1 us-east5
us-central1
us-east1
Centre-ouest des États-Unis us-west3 us-central1
us-west4
us-west2
Centre du Canada northamerica-northeast2 northamerica-northeast1
us-east5
us-east4
Est du Canada northamerica-northeast1 northamerica-northeast2
us-east4
us-east5
Europe de l'Ouest europe-west4 europe-west1
europe-west3
europe-west9
Europe du Nord europe-west1 europe-west2
europe-west9
europe-west4
Centre de la France europe-west9 europe-west1
europe-west2
europe-west3
Sud de la France europe-west9 europe-southwest1
europe-west8
europe-west1
Centre-ouest de l'Allemagne europe-west3 europe-west4
europe-west1
europe-west6
Nord de l'Allemagne europe-west3 europe-west4
europe-central2
europe-west2
Nord de la Suisse europe-west6 europe-west8
europe-west12
europe-west3
Ouest de la Suisse europe-west6 europe-west9
europe-west8
europe-west3
Sud du Royaume-Uni europe-west2 europe-west1
europe-west9
europe-west4
Ouest du Royaume-Uni europe-west2 europe-west1
europe-west9
europe-west4
Est de la Norvège europe-north1 europe-west4
europe-central2
europe-west1
Ouest de la Norvège europe-north1 europe-west4
europe-central2
europe-west1
Centre de la Suède europe-north1 europe-west4
europe-central2
europe-west1
Asie de l'Est asia-east2 asia-east1
asia-southeast1
asia-northeast1
Asie du Sud-Est asia-southeast1 asia-southeast2
asia-east1
asia-south1
Est du Japon asia-northeast1 asia-northeast2
asia-northeast3
asia-east1
Japon Ouest asia-northeast2 asia-northeast1
asia-northeast3
asia-east1
Corée du Centre asia-northeast3 asia-northeast2
asia-northeast1
asia-east1
Australie orientale australia-southeast1 australia-southeast2
asia-southeast2
asia-southeast1
Australie-Sud-Est australia-southeast2 australia-southeast1
asia-southeast1
asia-east1
Australia centrale australia-southeast1 australia-southeast2
asia-southeast2
asia-southeast1
Inde de l'Ouest asia-south1 asia-south2
me-central1
asia-southeast1
Inde centrale asia-south1 asia-south2
me-central1
asia-southeast1
Inde du Sud asia-south1 asia-south2
asia-southeast1
me-central1

Étapes suivantes