Membuat koneksi lintas cloud
Koneksi lintas cloud adalah koneksi BigQuery yang membawa data dari Amazon Web Services (AWS), Microsoft Azure, dan Salesforce Data 360 ke BigQuery untuk membuat kueri. Koneksi ini adalah alternatif untuk koneksi BigQuery standar yang menggunakan BigQuery Omni, tempat BigQuery men-deploy worker komputasi ringan ke region jarak jauh untuk menyediakan data di cloud lain agar dapat dikueri tanpa pemindahan data.
Workload dapat memperoleh manfaat dari koneksi lintas cloud dibandingkan koneksi standar karena alasan berikut:
- Konsistensi fitur. Dengan membawa data Anda dari cloud lain ke BigQuery, Anda mendapatkan akses langsung ke kemampuan AI BigQuery, Gemini Enterprise Agent Platform, tampilan terwujud, fungsi yang ditentukan pengguna, dan fitur lainnya yang tidak tersedia melalui koneksi standar.
- Efisiensi biaya. Workload yang menggunakan koneksi lintas cloud menggunakan komitmen dan pemesanan slot standar, sehingga tidak perlu mengelola kapasitas komputasi terpisah.
- Caching cerdas. Saat data ditransfer di seluruh cloud, BigQuery otomatis meng-cache fragmen secara lokal, sehingga menghindari biaya egress lintas cloud yang signifikan pada kueri berikutnya. Untuk mengetahui informasi selengkapnya, lihat Caching cerdas.
Jika workload Anda melibatkan katalog Apache Iceberg atau Anda memerlukan dukungan kueri di seluruh mesin selain BigQuery, pertimbangkan untuk menggunakan kemampuan akses data lintas cloud dari Lakehouse tanpa batas.
Sebelum memulai
Berikan peran Identity and Access Management dan peran pihak ketiga yang memberi pengguna izin yang diperlukan untuk melakukan setiap tugas dalam dokumen ini.
Peran BigQuery yang diperlukan
Untuk mendapatkan izin yang
diperlukan guna membuat koneksi lintas cloud,
minta administrator untuk memberi Anda
peran IAM BigQuery Admin (roles/bigquery.admin) pada project.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Peran pihak ketiga yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk membuat koneksi lintas cloud, pastikan Anda memiliki peran pihak ketiga berikut:
- Untuk AWS: peran yang memungkinkan Anda membuat kebijakan dan peran IAM di akun AWS Anda.
- Untuk Azure: peran yang memungkinkan Anda mengelola App Registration di Microsoft Entra ID (Azure AD) dan menetapkan peran, seperti Storage Blob Data Reader, di akun Azure target.
Membuat koneksi lintas cloud AWS
Untuk membuat koneksi lintas cloud AWS, lakukan hal berikut:
- Buat kebijakan AWS IAM untuk BigQuery seperti yang Anda lakukan untuk koneksi BigQuery standar.
- Buat peran AWS IAM untuk BigQuery seperti yang Anda lakukan untuk koneksi BigQuery standar.
Untuk membuat resource koneksi, gunakan perintah
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
Ganti kode berikut:
LOCATION: lokasi BigQuery standar, bukan lokasi BigQuery Omni. Untuk panduan dalam memilih region, lihat Rekomendasi region.PROJECT_ID: ID project Google Cloud Anda.AWS_ACCOUNT_ID: ID pengguna AWS IAM dari langkah sebelumnya.ROLE_NAME: nama kebijakan peran AWS yang Anda pilih.CONNECTION_ID: ID yang akan diberikan ke resource koneksi ini.
Untuk mengetahui informasi selengkapnya tentang properti koneksi AWS, lihat AwsProperties.
Untuk mencatat informasi akun layanan, gunakan perintah
bq show:bq show --connection \ --location=LOCATION \ PROJECT_ID.LOCATION.CONNECTION_ID
Tambahkan kebijakan kepercayaan ke peran AWS menggunakan informasi akun layanan, seperti yang Anda lakukan untuk koneksi BigQuery standar.
Dengan koneksi lintas cloud AWS yang telah dibuat, Anda kini dapat membuat tabel dan set data untuk mengkueri data jarak jauh.
Contoh AWS
Contoh berikut membuat tabel eksternal untuk mengkueri file Parquet langsung dari bucket Amazon Simple Storage Service (Amazon S3) dengan koneksi lintas 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/*']);
Contoh berikut menggabungkan seluruh database ke BigQuery menggunakan AWS Glue dengan koneksi lintas 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');
Untuk mengetahui informasi selengkapnya tentang penggabungan AWS Glue, lihat Membuat dan mengelola set data gabungan AWS Glue.
Membuat koneksi lintas cloud Azure
Untuk membuat koneksi lintas cloud Azure, lakukan hal berikut:
- Buat aplikasi di tenant Azure seperti yang Anda lakukan untuk koneksi BigQuery standar, dan catat ID Aplikasi (klien) dan Direktori (tenant).
- Tetapkan peran ke aplikasi Azure seperti yang Anda lakukan untuk koneksi BigQuery standar.
Untuk membuat resource koneksi, gunakan perintah
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
Ganti kode berikut:
TENANT_ID: ID tenant direktori Azure yang berisi akun Azure.LOCATION: lokasi BigQuery standar, bukan lokasi BigQuery Omni. Untuk panduan dalam memilih region, lihat Rekomendasi region.APP_ID: ID Aplikasi (klien) Azure.PROJECT_ID: ID project Google Cloud Anda.CONNECTION_ID: ID yang akan diberikan ke resource koneksi ini.
Untuk mengetahui informasi selengkapnya tentang properti koneksi Azure, lihat AzureProperties.
Untuk mencatat informasi akun layanan, gunakan perintah
bq show:bq show --connection \ --location=LOCATION \ PROJECT_ID.LOCATION.CONNECTION_ID
Tambahkan kredensial gabungan menggunakan informasi akun layanan, seperti yang Anda lakukan untuk koneksi BigQuery standar.
Dengan koneksi lintas cloud Azure yang telah dibuat, Anda kini dapat membuat tabel dan set data untuk mengkueri data jarak jauh.
Contoh Azure
Contoh berikut membuat tabel eksternal untuk mengkueri file Parquet langsung dari container Azure Blob Storage dengan koneksi lintas 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/*']);
Contoh berikut membuat tabel eksternal untuk mengkueri ekspor CSV mentah dari container Blob Storage dengan koneksi lintas 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']);
Membuat koneksi lintas cloud Data 360
Untuk membuat koneksi lintas cloud Data 360, ikuti langkah-langkah untuk menautkan set data Data 360 ke BigQuery, tetapi alih-alih membuat set data tertaut di lokasi BigQuery Omni, buat set data tersebut di lokasi BigQuery standar. Untuk panduan tentang cara memilih region, lihat Rekomendasi region.
Setelah memperbarui kueri untuk menggunakan set data baru, Anda dapat menghapus set data tertaut lama dan tampilan terwujud BigQuery Omni.
Rekomendasi region
Saat Anda memilih region BigQuery standar untuk koneksi lintas cloud, pilih region yang secara fisik paling dekat dengan data Anda untuk efisiensi biaya dan performa yang optimal.
Tabel berikut mencantumkan region AWS dan region BigQuery yang paling sesuai:
| AWS region | Region BigQuery terdekat | Region BigQuery terdekat lainnya |
|---|---|---|
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
|
Tabel berikut mencantumkan region Azure dan region BigQuery yang paling sesuai:
| Region Azure | Region BigQuery terdekat | Region BigQuery terdekat lainnya |
|---|---|---|
| AS Timur | us-east4 |
us-east1us-east5us-central1
|
| US Timur 2 | us-east4 |
us-east1us-east5us-south1
|
| AS Barat | us-west1 |
us-west2us-west3us-west4
|
| US Barat 2 | us-west1 |
us-west4us-west3us-west2
|
| US Barat 3 | us-west4 |
us-west2us-west3us-west1
|
| Amerika Serikat Bagian Tengah | us-central1 |
us-east5us-east4us-east1
|
| AS Tengah Utara | us-east5 |
us-central1us-east4us-east1
|
| AS Tengah Selatan | us-south1 |
us-east5us-central1us-east1
|
| AS Tengah Barat | us-west3 |
us-central1us-west4us-west2
|
| Kanada Tengah | northamerica-northeast2 |
northamerica-northeast1us-east5us-east4
|
| Kanada Timur | northamerica-northeast1 |
northamerica-northeast2us-east4us-east5
|
| Eropa Barat | europe-west4 |
europe-west1europe-west3europe-west9
|
| Eropa Utara | europe-west1 |
europe-west2europe-west9europe-west4
|
| Prancis Bagian Tengah | europe-west9 |
europe-west1europe-west2europe-west3
|
| Prancis Selatan | europe-west9 |
europe-southwest1europe-west8europe-west1
|
| Jerman Tengah Bagian Barat | europe-west3 |
europe-west4europe-west1europe-west6
|
| Jerman Utara | europe-west3 |
europe-west4europe-central2europe-west2
|
| Swiss Utara | europe-west6 |
europe-west8europe-west12europe-west3
|
| Swiss Barat | europe-west6 |
europe-west9europe-west8europe-west3
|
| Inggris Selatan | europe-west2 |
europe-west1europe-west9europe-west4
|
| Inggris Barat | europe-west2 |
europe-west1europe-west9europe-west4
|
| Norwegia Timur | europe-north1 |
europe-west4europe-central2europe-west1
|
| Norwegia Barat | europe-north1 |
europe-west4europe-central2europe-west1
|
| Swedia Tengah | europe-north1 |
europe-west4europe-central2europe-west1
|
| Asia Timur | asia-east2 |
asia-east1asia-southeast1asia-northeast1
|
| Asia Tenggara | asia-southeast1 |
asia-southeast2asia-east1asia-south1
|
| Jepang Timur | asia-northeast1 |
asia-northeast2asia-northeast3asia-east1
|
| Japan West | asia-northeast2 |
asia-northeast1asia-northeast3asia-east1
|
| Korea Tengah | asia-northeast3 |
asia-northeast2asia-northeast1asia-east1
|
| Australia Timur | australia-southeast1 |
australia-southeast2asia-southeast2asia-southeast1
|
| Australia Tenggara | australia-southeast2 |
australia-southeast1asia-southeast1asia-east1
|
| Australia Bagian Tengah | australia-southeast1 |
australia-southeast2asia-southeast2asia-southeast1
|
| India Barat | asia-south1 |
asia-south2me-central1asia-southeast1
|
| India Tengah | asia-south1 |
asia-south2me-central1asia-southeast1
|
| India Selatan | asia-south1 |
asia-south2asia-southeast1me-central1
|
Langkah berikutnya
- Pelajari analisis BigQuery.