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 :
- Créez une stratégie IAM AWS pour BigQuery comme vous le feriez pour les connexions BigQuery standards.
- Créez un rôle IAM AWS pour BigQuery comme vous le feriez pour les connexions BigQuery standards.
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édenteROLE_NAME: nom de la stratégie de rôle AWS que vous avez choisie.CONNECTION_ID: ID à attribuer à cette ressource de connexion.
Pour noter les informations du compte de service, utilisez la commande
bq show:bq show --connection \ --location=LOCATION \ PROJECT_ID.LOCATION.CONNECTION_ID
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 :
- 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).
- Attribuez un rôle à l'application Azure comme vous le feriez pour les connexions BigQuery standards.
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.
Pour noter les informations du compte de service, utilisez la commande
bq show:bq show --connection \ --location=LOCATION \ PROJECT_ID.LOCATION.CONNECTION_ID
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-east1us-east5us-central1
|
us-east-2 |
us-east5 |
us-east4us-east1us-central1
|
us-west-1 |
us-west2 |
us-west4us-west1us-west3
|
us-west-2 |
us-west1 |
us-west3us-west4us-west2
|
ca-central-1 |
northamerica-northeast1 |
northamerica-northeast2us-east4us-east5
|
sa-east-1 |
southamerica-east1 |
southamerica-west1us-east1us-south1
|
eu-west-1 |
europe-west1 |
europe-west2europe-west9europe-west4
|
eu-west-2 |
europe-west2 |
europe-west1europe-west9europe-west4
|
eu-west-3 |
europe-west9 |
europe-west1europe-west2europe-west3
|
eu-central-1 |
europe-west3 |
europe-west4europe-west1europe-west6
|
eu-central-2 |
europe-west6 |
europe-west8europe-west12europe-west3
|
eu-north-1 |
europe-north1 |
europe-west4europe-central2europe-west1
|
eu-south-1 |
europe-west8 |
europe-west12europe-west6europe-west3
|
eu-south-2 |
europe-southwest1 |
europe-west9europe-west1europe-west8
|
me-central-1 |
me-central1 |
me-central2me-west1asia-south1
|
me-south-1 |
me-central2 |
me-central1me-west1asia-south1
|
af-south-1 |
europe-southwest1 |
me-central2me-west1europe-west1
|
ap-east-1 |
asia-east2 |
asia-east1asia-southeast1asia-northeast1
|
ap-northeast-1 |
asia-northeast1 |
asia-northeast2asia-northeast3asia-east1
|
ap-northeast-2 |
asia-northeast3 |
asia-northeast2asia-northeast1asia-east1
|
ap-northeast-3 |
asia-northeast2 |
asia-northeast1asia-northeast3asia-east1
|
ap-south-1 |
asia-south1 |
asia-south2me-central1asia-southeast1
|
ap-south-2 |
asia-south2 |
asia-south1asia-southeast1me-central1
|
ap-southeast-1 |
asia-southeast1 |
asia-southeast2asia-east1asia-south1
|
ap-southeast-2 |
australia-southeast1 |
australia-southeast2asia-southeast2asia-southeast1
|
ap-southeast-3 |
asia-southeast2 |
asia-southeast1australia-southeast1asia-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-east1us-east5us-central1
|
| Est des États-Unis 2 | us-east4 |
us-east1us-east5us-south1
|
| Ouest des États-Unis | us-west1 |
us-west2us-west3us-west4
|
| Ouest des États-Unis 2 | us-west1 |
us-west4us-west3us-west2
|
| Ouest des États-Unis 3 | us-west4 |
us-west2us-west3us-west1
|
| Centre des États-Unis | us-central1 |
us-east5us-east4us-east1
|
| Centre-nord des États-Unis | us-east5 |
us-central1us-east4us-east1
|
| Centre-sud des États-Unis | us-south1 |
us-east5us-central1us-east1
|
| Centre-ouest des États-Unis | us-west3 |
us-central1us-west4us-west2
|
| Centre du Canada | northamerica-northeast2 |
northamerica-northeast1us-east5us-east4
|
| Est du Canada | northamerica-northeast1 |
northamerica-northeast2us-east4us-east5
|
| Europe de l'Ouest | europe-west4 |
europe-west1europe-west3europe-west9
|
| Europe du Nord | europe-west1 |
europe-west2europe-west9europe-west4
|
| Centre de la France | europe-west9 |
europe-west1europe-west2europe-west3
|
| Sud de la France | europe-west9 |
europe-southwest1europe-west8europe-west1
|
| Centre-ouest de l'Allemagne | europe-west3 |
europe-west4europe-west1europe-west6
|
| Nord de l'Allemagne | europe-west3 |
europe-west4europe-central2europe-west2
|
| Nord de la Suisse | europe-west6 |
europe-west8europe-west12europe-west3
|
| Ouest de la Suisse | europe-west6 |
europe-west9europe-west8europe-west3
|
| Sud du Royaume-Uni | europe-west2 |
europe-west1europe-west9europe-west4
|
| Ouest du Royaume-Uni | europe-west2 |
europe-west1europe-west9europe-west4
|
| Est de la Norvège | europe-north1 |
europe-west4europe-central2europe-west1
|
| Ouest de la Norvège | europe-north1 |
europe-west4europe-central2europe-west1
|
| Centre de la Suède | europe-north1 |
europe-west4europe-central2europe-west1
|
| Asie de l'Est | asia-east2 |
asia-east1asia-southeast1asia-northeast1
|
| Asie du Sud-Est | asia-southeast1 |
asia-southeast2asia-east1asia-south1
|
| Est du Japon | asia-northeast1 |
asia-northeast2asia-northeast3asia-east1
|
| Japon Ouest | asia-northeast2 |
asia-northeast1asia-northeast3asia-east1
|
| Corée du Centre | asia-northeast3 |
asia-northeast2asia-northeast1asia-east1
|
| Australie orientale | australia-southeast1 |
australia-southeast2asia-southeast2asia-southeast1
|
| Australie-Sud-Est | australia-southeast2 |
australia-southeast1asia-southeast1asia-east1
|
| Australia centrale | australia-southeast1 |
australia-southeast2asia-southeast2asia-southeast1
|
| Inde de l'Ouest | asia-south1 |
asia-south2me-central1asia-southeast1
|
| Inde centrale | asia-south1 |
asia-south2me-central1asia-southeast1
|
| Inde du Sud | asia-south1 |
asia-south2asia-southeast1me-central1
|
Étapes suivantes
- En savoir plus sur BigQuery Analytics