הגדרת קישוריות פרטית להעברות ל-Snowflake
במדריך הזה מוסבר איך להגדיר קישוריות פרטית כדי ליצור העברות נתונים פרטיות מ-Snowflake ל-BigQuery. העברות נתונים פרטיות מאפשרות להעביר נתונים ממקור אחד למקור אחר בתוך רשת פרטית, ומאפשרות להפחית את סיכוני האבטחה כשמעבירים נתונים באינטרנט הציבורי.
בקטעים הבאים מפורטים השלבים הנדרשים להגדרת קישוריות פרטית לפני שיוצרים העברה ב-Snowflake.
העברות פרטיות נתמכות במופעי Snowflake שמתארחים ב-Amazon Web Services (AWS), ב-Microsoft Azure וב- Cloud de Confiance by S3NS.

יצירת קישור פרטי ל-Snowflake
יוצרים קישור פרטי שמקשר את חשבון Snowflake לספק שירותי הענן. למידע נוסף, בוחרים באחת מהאפשרויות הבאות:
AWS
מגדירים את AWS PrivateLink כדי לקשר את חשבון Snowflake לחשבון AWS. חשבון AWS שלכם צריך להכיל את קטגוריית הביניים של Amazon S3 שנדרשת להעברה ב-Snowflake.
Azure
מגדירים את Azure Private Link כדי לחבר את Azure Virtual Network (VNet) אל Snowflake VNet ב-Azure. חשבון Azure שלכם צריך לכלול את מאגר Blob staging שנדרש להעברה ב-Snowflake.
Cloud de Confiance
הגדרה של Cloud de Confiance by S3NS Private Service Connect כדי לחבר את רשת הענן הווירטואלי הפרטי (VPC) שלכם Cloud de Confiance by S3NS. ב-Cloud de Confiance by S3NS שלכם צריכה להיות קטגוריית אחסון זמני ב-Cloud Storage שנדרשת להעברה ל-Snowflake.
הגדרה של Cross-Cloud Interconnect או HA VPN
להגדיר Cross-Cloud Interconnect או HA VPN מ-AWS או מ-Azure. לא צריך לבצע את השלב הזה בחשבונות Snowflake שמארחים ב-Cloud de Confiance.
AWS
רשת VPN בזמינות גבוהה מאפשרת להעביר נתונים דרך מנהרת VPN מוצפנת. כדי להשתמש ב-HA VPN להעברה פרטית של Snowflake, אפשר לעיין במאמר בנושא יצירת חיבורי HA VPN בין Cloud de Confiance לבין AWS.
חיבור Cross-Cloud Interconnect יוצר קישור פרטי ייעודי בין ספקי ענן, והוא מתאים להעברות נתונים גדולות עם דרישות של זמן אחזור נמוך. כדי להשתמש ב-Cross-Cloud Interconnect להעברה פרטית של Snowflake, אפשר לעיין במאמר חיבור ל-AWS.
Azure
רשת VPN בזמינות גבוהה מאפשרת להעביר נתונים דרך מנהרת VPN מוצפנת. כדי להשתמש ב-HA VPN להעברה פרטית של Snowflake, אפשר לעיין במאמר בנושא יצירת חיבורי HA VPN בין Cloud de Confiance לבין Azure.
חיבור Cross-Cloud Interconnect יוצר קישור פרטי ייעודי בין ספקי ענן, והוא מתאים להעברות נתונים גדולות עם דרישות של זמן אחזור נמוך. כדי להשתמש ב-Cross-Cloud Interconnect להעברה פרטית של Snowflake, אפשר לעיין במאמר חיבור ל-Azure.
יצירת מכונה וירטואלית של שרת Proxy
כדי להשלים חיבור פרטי, נדרשת מכונה וירטואלית של שרת proxy כדי להשלים את החיבור בין מקורות הנתונים בלי שהנתונים יגיעו לאינטרנט הציבורי. השלב הזה נדרש למופעי Snowflake שמתארחים ב-AWS, Azure או Cloud de Confiance.
כדי ליצור ולהגדיר מכונה וירטואלית (VM) של שרת proxy להעברה פרטית של Snowflake:
- יוצרים מכונה וירטואלית אחת או יותר של Compute Engine ברשת ה-VPC של הצרכן.
- מורידים תוכנת TCP Proxy, כמו HAProxy או Nginx, ומגדירים את הפרטים הבאים:
- מציינים יציאה. לדוגמה,
443. - העברה של כל תנועת ה-TCP הנכנסת אל שם המארח הפרטי והיציאה במופע של Snowflake.
- מציינים יציאה. לדוגמה,
- מגדירים את המכונות הווירטואליות כך שיבצעו התאמה של שם המארח הפרטי של Snowflake באמצעות ה-DNS שהוגדר ברשת ה-VPC של הצרכן.
- כדי להגדיר מאזן עומסים פנימי להעברת סיגנל ללא שינוי:
יצירת קובץ מצורף של שירות
שימוש ב-Private Service Connect כדי ליצור קובץ מצורף לרשת ולפרסם את השירות. השלב הזה נדרש למופעי Snowflake שמתארחים ב-AWS, Azure או Cloud de Confiance.
ה-Service Attachment צריך להיות באותו אזור כמו מערך הנתונים ב-BigQuery.
אם השירות שלכם משתמש באישור מפורש (connection-preference מוגדר כ-ACCEPT_MANUAL), לחשבון השירות שמשמש להעברת נתונים פרטיים ב-Snowflake צריכות להיות הרשאות ה-IAM הבאות:
compute.serviceAttachments.getcompute.serviceAttachments.updatecompute.regionOperations.get
אחרי שיוצרים את קובץ השירות, רושמים את ה-URI של קובץ השירות. תצטרכו את ה-URI הזה כשתיצרו את הגדרות ההעברה של Snowflake.
ליצור נקודות קצה
יוצרים נקודת קצה בחשבון AWS או Azure. לא צריך לבצע את השלב הזה בחשבונות Snowflake שמארחים ב-Cloud de Confiance.
AWS
ב-AWS, יוצרים נקודת קצה (endpoint) של VPC שמתחברת ל-Amazon S3. מידע נוסף זמין במאמר גישה לשירות AWS באמצעות נקודת קצה של ממשק VPC.
Azure
מגדירים נקודת קצה פרטית בחשבון האחסון ב-Azure. מידע נוסף זמין במאמר בנושא שימוש בנקודות קצה פרטיות עבור Azure Storage.
Storage Transfer Service דורש את נקודת הקצה *.blob.core.microsoft.net. אין תמיכה בנקודת הקצה *.dfs.core.microsoft.net.
אחרי שיוצרים את נקודת הקצה, רושמים את כתובת ה-IP שלה. תצטרכו לציין את כתובת ה-IP כשתיצרו את מאזן העומסים בקטע הבא.
יצירת מאזן עומסי רשת
הגדרת מאזן עומסי רשת (NLB) אזורי פנימי בשרת proxy עם קישוריות היברידית. אתם יכולים ליצור את מאזן העומסים כדי לנתב תנועה לנקודות הקצה של Amazon S3 VPC או לנקודות הקצה הפרטיות של Azure Storage שיצרתם בקטע הקודם. מידע נוסף זמין במאמר בנושא הגדרה של מאזן עומסי רשת אזורי פנימי לשרת proxy עם קישוריות היברידית.
רישום של NLB
אחרי שיוצרים את מאזן העומסים (NLB) של הרשת, רושמים אותו ב-Service Directory ב-Storage Transfer Service. מידע נוסף זמין במאמר בנושא רישום של NLB ב-Service Directory.
מעיינים בקישור לספריית השירותים. תצטרכו את הקישור העצמי לשירות כשתיצרו את הגדרות ההעברה של Snowflake.
הכנת קטגוריית אחסון זמנית
כדי להשלים העברת נתונים מ-Snowflake, צריך ליצור bucket זמני ואז להגדיר אותו כך שתהיה ל-Snowflake גישת כתיבה אליו.
בוחרים באחת מהאפשרויות הבאות:
AWS
בחשבונות Snowflake שמארחים ב-AWS, צריך ליצור מאגר Amazon S3 כדי להכין את נתוני Snowflake לפני הטעינה שלהם ל-BigQuery.
יוצרים ומגדירים אובייקט של שילוב אחסון ב-Snowflake כדי לאפשר ל-Snowflake לכתוב נתונים בקטגוריה של Amazon S3 כשלב חיצוני.
כדי לאפשר גישת קריאה לקטגוריית Amazon S3, צריך גם לבצע את הפעולות הבאות:
יוצרים משתמש ייעודי ב-Amazon IAM ומעניקים לו את מדיניות
AmazonS3ReadOnlyAccess.יוצרים זוג מפתחות גישה לאמזון עבור משתמש IAM.
Azure
בחשבונות Snowflake שמארחים ב-Azure, צריך ליצור מאגר Azure Blob Storage כדי להכין את נתוני Snowflake לפני שהם נטענים ל-BigQuery.
- יוצרים חשבון אחסון ב-Azure ומאגר אחסון בתוכו.
- יוצרים ומגדירים אובייקט של שילוב אחסון ב-Snowflake כדי לאפשר ל-Snowflake לכתוב נתונים במאגר של Azure Storage כשלב חיצוני. אפשר לדלג על השלבים ליצירת שלב חיצוני, כי זה לא נדרש.
כדי לאפשר גישת קריאה למאגר Azure, צריך ליצור עבורו טוקן SAS.
Cloud de Confiance
בחשבונות Snowflake שמארחים ב- Cloud de Confiance, צריך ליצור קטגוריה של Cloud Storage כדי להכין את נתוני Snowflake לפני שהם נטענים ל-BigQuery.
- יצירת קטגוריה של Cloud Storage
- יוצרים ומגדירים אובייקט של שילוב אחסון ב-Snowflake כדי לאפשר ל-Snowflake לכתוב נתונים בקטגוריית Cloud Storage כשלב חיצוני.
כדי לאפשר גישה לקטגוריית הביניים, צריך להקצות לסוכן השירות של DTS את התפקיד
roles/storage.objectViewerבאמצעות הפקודה הבאה:gcloud storage buckets add-iam-policy-binding gs://STAGING_BUCKET_NAME \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.s3ns-system.iam.gserviceaccount.com \ --role=roles/storage.objectViewer
יצירת הגדרות העברה פרטיות ב-Snowflake
יוצרים את ההעברה ב-Snowflake. כשמגדירים את ההגדרות של ההעברה, מבצעים את הפעולות הבאות:
המסוף
- בשדה Use Private Network (שימוש ברשת פרטית), בוחרים באפשרות True (נכון).
- בשדה PSC Service Attachment (צירוף שירות PSC), מזינים את מזהה המשאבים האחיד (URI) של צירוף השירות. מידע על איתור ה-URI של קובץ השירות מצורף זמין במאמר הצגת פרטים של שירות שפורסם.
מזהה ה-URI של קובץ השירות הוא בפורמט
projects/PROJECT_ID/regions/REGION/serviceAttachments/SERVICE_ATTACHMENT. - בשדה Private Network Service (שירות רשת פרטי), מזינים את הקישור העצמי של שירות NLB.
הפורמט הוא
projects/PROJECT_ID/locations/LOCATION/namespaces/NAMESPACE/services/SERVICE_NAME. - ה-URI של קטגוריית הביניים שרוצים להשתמש בה להעברה:
- בחשבון Snowflake שמארח ב-AWS, צריך לציין URI של קטגוריית Amazon S3 ופרטי גישה.
- במקרה של Snowflake שמארח ב-Azure, נדרשים חשבון ומאגר ב-Azure Blob Storage.
- בחשבון Snowflake שמארחCloud de Confiance, צריך לציין Cloud Storage bucket URI.
בקטע Cloud Provider (ספק שירותי ענן), בוחרים באפשרות
AWS,AZUREאוGCPבהתאם לספק שירותי הענן שמארח את חשבון Snowflake.AWS
- בשדה Amazon S3 URI (כתובת URI של Amazon S3), מזינים את כתובת ה-URI של קטגוריית Amazon S3 שבה רוצים להשתמש כקטגוריית ביניים.
- בשדות מזהה מפתח הגישה ומפתח גישה סודי, מזינים את זוג מפתחות הגישה.
Azure
- בשדות שם חשבון האחסון ב-Azure והמאגר בחשבון האחסון ב-Azure, מזינים את שם חשבון האחסון ושם המאגר ב-Azure Blob Storage שבהם רוצים להשתמש כמאגר זמני.
- בקטע SAS Token, מזינים את טוקן ה-SAS שנוצר עבור המאגר.
Cloud de Confiance
- בשדה GCS URI, מזינים את ה-URI של Cloud Storage שבו רוצים להשתמש כקטגוריית ביניים.
BQ
- לפרמטר
use_private_network, מגדירים את הערךTRUE. - בפרמטר
service_attachment, מציינים את מזהה המשאבים האחיד (URI) של קובץ השירות. מידע על איתור ה-URI של קובץ השירות מצורף זמין במאמר הצגת פרטים של שירות שפורסם. מזהה ה-URI של קובץ השירות הוא בפורמטprojects/PROJECT_ID/regions/REGION/serviceAttachments/SERVICE_ATTACHMENT. - בפרמטר
private_network_service, מציינים את הקישור העצמי של שירות NLB. הפורמט הואprojects/PROJECT_ID/locations/LOCATION/namespaces/NAMESPACE/services/SERVICE_NAME. -
cloud_provider: מזיניםAWSאוAZUREאוGCPבהתאם לספק שירותי הענן שמארח את חשבון Snowflake. -
staging_s3_uri: מזינים את ה-URI של קטגוריית S3 שבה רוצים להשתמש כקטגוריית ביניים. נדרש רק אםcloud_providerהואAWS. -
aws_access_key_id: מזינים את זוג מפתחות הגישה. נדרש רק אםcloud_providerהואAWS. -
aws_secret_access_key: מזינים את זוג מפתחות הגישה. נדרש רק אםcloud_providerהואAWS. -
azure_storage_account: מזינים את השם של חשבון האחסון שרוצים להשתמש בו כקטגוריית אחסון זמנית. נדרש רק אםcloud_providerהואAZURE. -
staging_azure_container: מזינים את המאגר ב-Azure Blob Storage שבו רוצים להשתמש כקטגוריית אחסון זמני. נדרש רק אםcloud_providerהואAZURE. -
azure_sas_token: מזינים את טוקן ה-SAS. נדרש רק אםcloud_providerהואAZURE. -
staging_gcs_uri: מזינים את ה-URI של Cloud Storage שבו רוצים להשתמש כקטגוריית אחסון זמני. נדרש רק אםcloud_providerהואGCP.