יצירת חיבורים בין עננים

חיבורים בין עננים הם חיבורים ל-BigQuery שמאפשרים להביא נתונים מ-Amazon Web Services‏ (AWS), מ-Microsoft Azure ומ-Salesforce Data 360 ל-BigQuery כדי להריץ עליהם שאילתות. החיבורים האלה הם חלופה לחיבורים רגילים ל-BigQuery שמשתמשים ב-BigQuery Omni, שבו BigQuery פורס עובדי מחשוב קלי משקל באזורים מרוחקים כדי להפוך נתונים בעננים אחרים לזמינים לשאילתות בלי להעביר נתונים.

יש יתרונות לחיבורים בין עננים לעומת חיבורים רגילים בעומסי עבודה, מהסיבות הבאות:

  • עקביות התכונות. כשמעבירים נתונים מעננים אחרים ל-BigQuery, מקבלים גישה ישירה ליכולות ה-AI של BigQuery, ל-Gemini Enterprise Agent Platform, לתצוגות חומריות, לפונקציות שהוגדרו על ידי המשתמש ולתכונות אחרות שלא זמינות דרך חיבורים רגילים.
  • עלות-תועלת. עומסי עבודה שמשתמשים בחיבורים בין עננים צורכים הזמנות ושימוש קבוע במשבצות סטנדרטיות, כך שאין צורך לנהל יכולות נפרדות של מחשוב.
  • שמירת נתונים במטמון בצורה חכמה. בזמן העברת הנתונים בין העננים, BigQuery שומר במטמון באופן אוטומטי את המקטעים באופן מקומי, וכך נמנעות עמלות יציאה משמעותיות בין עננים בשאילתות הבאות. מידע נוסף זמין במאמר בנושא שמירה חכמה במטמון.

אם עומס העבודה שלכם כולל קטלוגים של Apache Iceberg או שאתם צריכים תמיכה בשאילתות במנועים אחרים מלבד BigQuery, כדאי להשתמש במקום זאת ביכולת הגישה לנתונים בענן של Borderless Lakehouse.

לפני שמתחילים

מקצים תפקידים בניהול הזהויות והרשאות הגישה (IAM) ותפקידים של צד שלישי שנותנים למשתמשים את ההרשאות הנדרשות לביצוע כל משימה שמופיעה במאמר הזה.

התפקידים הנדרשים ב-BigQuery

כדי לקבל את ההרשאות שנדרשות ליצירת חיבור בין עננים, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM‏ BigQuery Admin (אדמין BigQuery) ‏(roles/bigquery.admin) בפרויקט. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.

תפקידים נדרשים של צד שלישי

כדי לקבל את ההרשאות שדרושות ליצירת חיבור בין עננים, צריך לוודא שיש לכם את התפקידים הבאים של צד שלישי:

  • ב-AWS: תפקיד שמאפשר ליצור מדיניות ותפקידים של IAM בחשבון AWS.
  • ב-Azure: תפקיד שמאפשר לכם לנהל רישום של אפליקציות ב-Microsoft Entra ID ‏ (Azure AD) ולהקצות תפקידים, כמו Storage Blob Data Reader, בחשבון היעד ב-Azure.

יצירת חיבורים בין עננים ב-AWS

כדי ליצור חיבור בין עננים ב-AWS:

  1. יוצרים מדיניות AWS IAM ל-BigQuery כמו שיוצרים חיבורים רגילים ל-BigQuery.
  2. יוצרים תפקיד AWS IAM ל-BigQuery כמו שיוצרים חיבורים רגילים ל-BigQuery.
  3. כדי ליצור משאב חיבור, משתמשים בפקודה 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

    מחליפים את מה שכתוב בשדות הבאים:

    • LOCATION: מיקום רגיל ב-BigQuery, ולא מיקום ב-BigQuery Omni. לקבלת הדרכה לבחירת אזור, ראו המלצות לבחירת אזור.
    • PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
    • AWS_ACCOUNT_ID: המזהה של משתמש AWS IAM מהשלב הקודם.
    • ROLE_NAME: השם של מדיניות התפקידים ב-AWS שבחרתם.
    • CONNECTION_ID: מזהה שיוקצה למשאב החיבור הזה.
  4. כדי לרשום את פרטי חשבון השירות, משתמשים בפקודה bq show:

    bq show --connection \
        --location=LOCATION \
        PROJECT_ID.LOCATION.CONNECTION_ID
  5. מוסיפים מדיניות אמון לתפקיד ב-AWS באמצעות פרטי חשבון השירות, כמו בחיבורים רגילים ל-BigQuery.

אחרי שיוצרים את החיבור בין העננים ב-AWS, אפשר ליצור טבלאות וערכות נתונים כדי לשלוח שאילתות לנתונים המרוחקים.

דוגמאות ל-AWS

בדוגמה הבאה נוצר טבלה חיצונית כדי לשלוח שאילתות לקובצי Parquet ישירות מקטגוריה של Amazon Simple Storage Service (Amazon S3) עם חיבור בין עננים:

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/*']);

בדוגמה הבאה, מסד נתונים שלם מאוחד ב-BigQuery באמצעות AWS Glue עם חיבור בין עננים:

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');

מידע נוסף על פדרציה ב-AWS Glue זמין במאמר בנושא יצירה וניהול של מערכי נתונים מאוחדים ב-AWS Glue.

יצירת חיבורים בין עננים ב-Azure

כדי ליצור חיבור בין עננים ב-Azure:

  1. יוצרים אפליקציה בדייר Azure כמו שיוצרים חיבורים רגילים ל-BigQuery, ורושמים את מזהה האפליקציה (הלקוח) ואת מזהה הספרייה (הדייר).
  2. מקצים תפקיד לאפליקציית Azure כמו שמקצים לחיבורים רגילים ל-BigQuery.
  3. כדי ליצור משאב חיבור, משתמשים בפקודה 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

    מחליפים את מה שכתוב בשדות הבאים:

    • TENANT_ID: מזהה הדייר של ספריית Azure שמכילה את חשבון Azure.
    • LOCATION: מיקום רגיל ב-BigQuery, ולא מיקום ב-BigQuery Omni. לקבלת הדרכה לבחירת אזור, ראו המלצות לבחירת אזור.
    • APP_ID: מזהה האפליקציה (הלקוח) ב-Azure.
    • PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
    • CONNECTION_ID: מזהה שיוקצה למשאב החיבור הזה.
  4. כדי לרשום את פרטי חשבון השירות, משתמשים בפקודה bq show:

    bq show --connection \
        --location=LOCATION \
        PROJECT_ID.LOCATION.CONNECTION_ID
  5. מוסיפים פרטי כניסה מאוחדים באמצעות פרטי חשבון השירות, כמו בחיבורים רגילים ל-BigQuery.

אחרי שיוצרים חיבור בין עננים ב-Azure, אפשר ליצור טבלאות ומערכי נתונים כדי להריץ שאילתות על הנתונים המרוחקים.

דוגמאות ל-Azure

בדוגמה הבאה נוצרת טבלה חיצונית כדי לשלוח שאילתות לקובצי Parquet ישירות ממכולת Azure Blob Storage עם חיבור בין עננים:

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/*']);

בדוגמה הבאה נוצרת טבלה חיצונית כדי לשלוח שאילתות לייצוא של קובצי CSV גולמיים ממכולה של Blob Storage עם חיבור בין עננים:

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']);

יצירת חיבורים בין עננים ב-Data 360

כדי ליצור חיבור בין עננים ב-Data 360, פועלים לפי השלבים לקישור מערך נתונים ב-Data 360 ל-BigQuery, אבל במקום ליצור את מערך הנתונים המקושר במיקום BigQuery Omni, יוצרים אותו במיקום BigQuery רגיל. לקבלת הנחיות לבחירת אזור, ראו המלצות לבחירת אזור.

אחרי שתעדכנו את השאילתות כך שישתמשו במערכי הנתונים החדשים, תוכלו למחוק את מערכי הנתונים המקושרים הקודמים ואת התצוגות המגובות בחומר של BigQuery Omni.

המלצות לגבי אזור

כשבוחרים אזור BigQuery רגיל לחיבור בין עננים, כדאי לבחור את האזור שהכי קרוב פיזית לנתונים כדי לקבל את העלות והביצועים האופטימליים.

בטבלה הבאה מפורטים אזורי AWS והאזורים התואמים הכי טוב ב-BigQuery:

אזור AWS האזור הכי קרוב ב-BigQuery אזורים אחרים ב-BigQuery שקרובים לאזור הזה
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

בטבלה הבאה מפורטים אזורים ב-Azure והאזורים המתאימים ביותר ב-BigQuery:

אזור Azure האזור הכי קרוב ב-BigQuery אזורים אחרים ב-BigQuery שקרובים לאזור הזה
מזרח ארה"ב us-east4 us-east1
us-east5
us-central1
מזרח ארה"ב 2 us-east4 us-east1
us-east5
us-south1
מערב ארה"ב us-west1 us-west2
us-west3
us-west4
מערב ארה"ב 2 us-west1 us-west4
us-west3
us-west2
מערב ארה"ב 3 us-west4 us-west2
us-west3
us-west1
מרכז ארה"ב us-central1 us-east5
us-east4
us-east1
צפון מרכז ארה"ב us-east5 us-central1
us-east4
us-east1
דרום מרכז ארה"ב us-south1 us-east5
us-central1
us-east1
מרכז מערב ארה"ב us-west3 us-central1
us-west4
us-west2
קנדה המרכזית northamerica-northeast2 northamerica-northeast1
us-east5
us-east4
מזרח קנדה northamerica-northeast1 northamerica-northeast2
us-east4
us-east5
מערב אירופה europe-west4 europe-west1
europe-west3
europe-west9
צפון אירופה europe-west1 europe-west2
europe-west9
europe-west4
מרכז צרפת europe-west9 europe-west1
europe-west2
europe-west3
דרום צרפת europe-west9 europe-southwest1
europe-west8
europe-west1
גרמניה מרכז מערב europe-west3 europe-west4
europe-west1
europe-west6
גרמניה צפון europe-west3 europe-west4
europe-central2
europe-west2
שווייץ צפון europe-west6 europe-west8
europe-west12
europe-west3
שווייץ מערב europe-west6 europe-west9
europe-west8
europe-west3
בריטניה דרום europe-west2 europe-west1
europe-west9
europe-west4
UK West europe-west2 europe-west1
europe-west9
europe-west4
נורווגיה מזרח europe-north1 europe-west4
europe-central2
europe-west1
נורווגיה מערב europe-north1 europe-west4
europe-central2
europe-west1
שוודיה מרכז europe-north1 europe-west4
europe-central2
europe-west1
מזרח אסיה asia-east2 asia-east1
asia-southeast1
asia-northeast1
דרום-מזרח אסיה asia-southeast1 asia-southeast2
asia-east1
asia-south1
יפן מזרח asia-northeast1 asia-northeast2
asia-northeast3
asia-east1
Japan West asia-northeast2 asia-northeast1
asia-northeast3
asia-east1
Korea Central asia-northeast3 asia-northeast2
asia-northeast1
asia-east1
מזרח אוסטרליה australia-southeast1 australia-southeast2
asia-southeast2
asia-southeast1
אוסטרליה דרום-מזרח australia-southeast2 australia-southeast1
asia-southeast1
asia-east1
מרכז אוסטרליה australia-southeast1 australia-southeast2
asia-southeast2
asia-southeast1
מערב הודו asia-south1 asia-south2
me-central1
asia-southeast1
מרכז הודו asia-south1 asia-south2
me-central1
asia-southeast1
דרום הודו asia-south1 asia-south2
asia-southeast1
me-central1

המאמרים הבאים