Créer des connexions cross-cloud
Les connexions cross-cloud sont des connexions BigQuery qui importent des données d'Amazon Web Services (AWS), de Microsoft Azure et de Salesforce Data 360 dans BigQuery pour les interroger. Ces connexions constituent 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 cross-cloud par rapport aux connexions standards pour les raisons suivantes :
- Cohérence des caractéristiques En important vos données d'autres clouds dans 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 via des connexions standards.
- Rentabilité Les charges de travail qui utilisent des connexions cross-cloud consomment des réservations et des engagements d'emplacements standards, ce qui élimine la nécessité de gérer des capacités de calcul distinctes.
- Mise en cache intelligente Lorsque vous activez la mise en cache cross-cloud sur votre connexion, BigQuery met en cache les blocs de fichiers récupérés localement dans la région Google Cloud de la connexion. Les requêtes ultérieures ciblant les mêmes blocs de fichiers sont lues directement à partir du cache local au lieu de récupérer à nouveau les fichiers à partir du cloud distant, ce qui permet de réduire les coûts de sortie cross-cloud et d'accélérer les performances des requêtes. Par défaut, la mise en cache cross-cloud est désactivée. 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 cross-cloud de Lakehouse sans frontières.
Avant de commencer
Attribuez aux utilisateurs des rôles IAM (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 cross-cloud, 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 cross-cloud, 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, procédez comme suit :
- Créez une stratégie IAM AWS pour BigQuery comme vous le feriez pour des connexions BigQuery standards.
- Créez un rôle IAM AWS pour BigQuery comme vous le feriez pour des connexions BigQuery standards.
Créez la ressource de connexion et récupérez l'identité de son compte de service à l'aide de la console Google Cloud ou de l'outil de ligne de commande bq :
Console
Accédez à la page BigQuery.
Dans le volet Explorateur, développez le nom de votre projet, puis cliquez sur Connexions.
Sur la page Connexions, cliquez sur Créer une connexion.
Dans le volet Source de données externes, saisissez les informations suivantes :
- Dans le champ Type de connexion, sélectionnez BigLake sur AWS (via BigQuery Omni).
- Dans le champ Connection ID (ID de connexion), saisissez un identifiant pour la ressource de connexion.
- Pour Région, sélectionnez un emplacement BigQuery standard (par exemple,
us-east4), et non un emplacement BigQuery Omni. Pour savoir comment sélectionner une région, consultez Recommandations de régions. - Dans le champ ID du rôle AWS, saisissez l'ARN complet du rôle IAM :
arn:aws:iam::AWS_ACCOUNT_ID:role/ROLE_NAME. - Facultatif : sous Mise en cache cross-cloud, sélectionnez Activer la mise en cache cross-cloud pour mettre en cache les fichiers distants dans la régionGoogle Cloud de la connexion et accélérer les performances des requêtes. Vous pouvez également modifier ce paramètre ultérieurement sur la page Informations sur la connexion de la connexion en cliquant sur Modifier les détails. Pour en savoir plus sur le fonctionnement de la mise en cache, la conservation et la tarification, consultez Mise en cache intelligente.
Cliquez sur Créer une connexion, puis sur Accéder à la connexion.
Dans le volet Informations de connexion, copiez la valeur de l'identité Google BigQuery.
bq
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"},"crossCloudCacheOptions":{"enabled":CROSS_CLOUD_CACHE_ENABLED}}' \ CONNECTION_ID
Remplacez les éléments suivants :
LOCATION: emplacement BigQuery standard, et non un emplacement BigQuery Omni. Pour savoir comment sélectionner une région, consultez Recommandations de régions.PROJECT_ID: ID de votre projetGoogle 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 choisi.CROSS_CLOUD_CACHE_ENABLED(facultatif) : indique si la mise en cache cross-cloud doit être activée sur la connexion (trueoufalse). La valeur par défaut estfalse. Lorsque la valeur est définie surtrue, BigQuery met en cache les fichiers distants dans la régionGoogle Cloud de la connexion. Pour en savoir plus, consultez Mise en cache intelligente.CONNECTION_ID: ID à attribuer à cette ressource de connexion.
Pour en savoir plus sur les propriétés de connexion AWS, consultez AwsProperties.
Pour noter les informations sur le 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.
Une fois votre connexion cross-cloud AWS établie, vous pouvez créer des tables et des ensembles de données pour interroger vos données distantes.
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 cross-cloud :
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 cross-cloud :
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 cross-cloud Azure
Pour créer une connexion cross-cloud Azure, procédez comme suit :
- Créez une application dans votre locataire Azure comme vous le feriez pour des connexions BigQuery standards, et notez les ID d'application (client) et d'annuaire (locataire).
- Attribuez un rôle à l'application Azure comme vous le feriez pour des connexions BigQuery standards.
Créez la ressource de connexion et récupérez l'identité de son compte de service à l'aide de la console Google Cloud ou de l'outil de ligne de commande bq :
Console
Accédez à la page BigQuery.
Dans le volet Explorateur, développez le nom de votre projet, puis cliquez sur Connexions.
Sur la page Connexions, cliquez sur Créer une connexion.
Dans le volet Source de données externes, saisissez les informations suivantes :
- Dans le champ Type de connexion, sélectionnez BigLake sur Azure (via BigQuery Omni).
- Dans le champ Connection ID (ID de connexion), saisissez un identifiant pour la ressource de connexion.
- Pour Région, sélectionnez un emplacement BigQuery standard (par exemple,
us-east4), et non un emplacement BigQuery Omni. Pour savoir comment sélectionner une région, consultez Recommandations de régions. - Dans le champ ID de locataire Azure, saisissez l'ID d'annuaire (locataire) Azure.
- Sélectionnez Utiliser l'identité fédérée, puis, dans le champ ID (client) de l'application fédérée Azure, saisissez l'ID (client) de l'application Azure.
- Facultatif : sous Mise en cache cross-cloud, sélectionnez Activer la mise en cache cross-cloud pour mettre en cache les fichiers distants dans la régionGoogle Cloud de la connexion et accélérer les performances des requêtes. Vous pouvez également modifier ce paramètre ultérieurement sur la page Informations sur la connexion de la connexion en cliquant sur Modifier les détails. Pour en savoir plus sur le fonctionnement de la mise en cache, la conservation et la tarification, consultez Mise en cache intelligente.
Cliquez sur Créer une connexion, puis sur Accéder à la connexion.
Dans le volet Informations de connexion, copiez la valeur de l'identité Google BigQuery.
bq
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 \ --properties='{"crossCloudCacheOptions":{"enabled":CROSS_CLOUD_CACHE_ENABLED}}' \ 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 savoir comment sélectionner une région, consultez Recommandations de régions.APP_ID: ID (client) de l'application Azure.PROJECT_ID: ID de votre projetGoogle Cloud .CROSS_CLOUD_CACHE_ENABLED(facultatif) : indique si la mise en cache cross-cloud doit être activée sur la connexion (trueoufalse). La valeur par défaut estfalse. Lorsque la valeur est définie surtrue, BigQuery met en cache les fichiers distants dans la régionGoogle Cloud de la connexion. Pour en savoir plus, consultez Mise en cache intelligente.CONNECTION_ID: ID à attribuer à cette ressource de connexion.
Pour en savoir plus sur les propriétés de connexion Azure, consultez AzureProperties.
Pour noter les informations sur le compte de service, utilisez la commande
bq show:bq show --connection \ --location=LOCATION \ PROJECT_ID.LOCATION.CONNECTION_ID
Ajoutez un identifiant fédéré à l'aide des informations du compte de service, comme vous le feriez pour les connexions BigQuery standards.
Une fois votre connexion cross-cloud Azure établie, vous pouvez créer des tables et des ensembles de données pour interroger vos données distantes.
Exemples Azure
L'exemple suivant crée une table externe pour interroger des fichiers Parquet directement à partir d'un conteneur Azure Blob Storage avec une connexion cross-cloud :
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 cross-cloud :
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 cross-cloud Data 360, suivez la procédure permettant d'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 savoir comment sélectionner une région, consultez Recommandations de régions.
Après avoir 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 cross-cloud, choisissez la région la plus proche physiquement de vos données pour optimiser les coûts et les 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
|
| Ouest du Japon | asia-northeast2 |
asia-northeast1asia-northeast3asia-east1
|
| Centre de la Corée | asia-northeast3 |
asia-northeast2asia-northeast1asia-east1
|
| Est de l'Australie | australia-southeast1 |
australia-southeast2asia-southeast2asia-southeast1
|
| Sud-Est de l'Australie | 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
|