בדף הזה מוסבר איך להגדיר את הפרויקט כדי להתכונן להעברה מנוהלת של Dataproc Metastore. Google Cloud
לפני שמתחילים
צריך להגדיר את השירותים הבאים או לקבל אליהם גישה:
- Dataproc Metastore מוגדר עם סוג מסד הנתונים Spanner.
מכונת מסד נתונים של Cloud SQL ל-MySQL שהוגדרה עם כתובת IP פרטית. לגבי מכונת Cloud SQL, מוודאים את הדברים הבאים:
מופע Cloud SQL מוגדר עם רשת VPC שמשתמשת ברשתות המשנה הנדרשות.
מופע Cloud SQL משתמש בסכימת מסד נתונים שתואמת לגרסת Hive Metastore שפועלת בשירות Dataproc Metastore (שם מתבצעת העתקת הנתונים).
מכונת Cloud SQL מכילה את המשתמשים המתאימים ליצירת קישוריות בין Datastream לבין Dataproc Metastore, ובין Dataproc Metastore לבין Cloud SQL.
תפקידים נדרשים
כדי לקבל את ההרשאות שדרושות ליצירת Dataproc Metastore ולהתחלת העברה מנוהלת, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
-
כדי להעניק גישה מלאה לכל משאבי Dataproc Metastore, כולל הגדרת הרשאות IAM:
Dataproc Metastore Admin (
roles/metastore.admin) בחשבון המשתמש או בחשבון השירות של Dataproc Metastore -
כדי להעניק שליטה מלאה במשאבי Dataproc Metastore:
Dataproc Metastore Editor (
roles/metastore.editor) בחשבון המשתמש או בחשבון השירות של Dataproc Metastore -
כדי לתת הרשאה להתחיל העברה:
אדמין העברה (
roles/metastore.migrationAdmin) בסוכן השירות של Dataproc Metastore בפרויקט השירות
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
הענקת תפקידים נוספים בהתאם להגדרות הפרויקט
יכול להיות שתצטרכו להוסיף את התפקידים הנוספים הבאים, בהתאם להגדרות הפרויקט. דוגמאות להענקת התפקידים האלה לחשבונות המתאימים מופיעות בקטע דרישות מוקדמות בהמשך הדף.
- מקצים את התפקיד 'משתמש ברשת' (
roles/compute.networkUser) לסוכן השירות של Dataproc Metastore ול[סוכן השירות של Google APIs] בפרויקט השירות. - מקצים את התפקיד 'אדמין רשת' (
roles/compute.networkAdmin) לסוכן השירות של Datastream בפרויקט המארח.
אם מכונת Cloud SQL נמצאת בפרויקט אחר מפרויקט השירות של Dataproc Metastore:
- מקצים את התפקיד
roles/cloudsql.clientואת התפקידroles/cloudsql.instanceUserלסוכן של חשבון השירות ב-Dataproc Metastore בפרויקט של מכונת Cloud SQL.
אם קטגוריית Cloud Storage של צינור ה-Change-Data-Capture נמצאת בפרויקט אחר מפרויקט השירות של Dataproc Metastore:
- חשוב לוודא שלסוכן השירות של Datastream יש את ההרשאות הנדרשות לכתיבה בקטגוריה. בדרך כלל אלה התפקידים
roles/storage.objectViewer,roles/storage.objectCreatorו-roles/storage.legacyBucketReader.
דרישות מוקדמות למיגרציה מנוהלת
Dataproc Metastore משתמש בפרוקסי ובצינור לעיבוד נתונים של שינויים כדי להקל על העברת הנתונים. חשוב להבין איך הם פועלים לפני שמתחילים בהעברה.
מונחי מפתח
- פרויקט שירות: פרויקט שירות הוא הפרויקט שבו יצרתם את שירות Dataproc Metastore. Google Cloud
- פרויקט מארח: פרויקט מארח הוא Google Cloud הפרויקט שמכיל את רשתות ה-VPC המשותפות. אפשר לקשר פרויקט שירות אחד או יותר לפרויקט המארח כדי להשתמש ברשתות המשותפות האלה. מידע נוסף זמין במאמר בנושא VPC משותף.
- מפעילים את Datastream API בפרויקט השירות.
מקצים את התפקיד
roles/metastore.migrationAdminלסוכן השירות של Dataproc Metastore בפרויקט השירות.gcloud projects add-iam-policy-binding SERVICE_PROJECT --role "roles/metastore.migrationAdmin" --member "serviceAccount:service-SERVICE_PROJECT@gcp-sa-metastore.iam.gserviceaccount.com"
מוסיפים את הכללים הבאים לחומת האש.
כדי ליצור חיבור בין Dataproc Metastore לבין מכונת Cloud SQL עם כתובת IP פרטית.
כלל חומת אש שמאפשר תעבורת נתונים מבדיקת התקינות אל מאזן עומסי רשת של שרת proxy מסוג SOCKS5. לדוגמה:
gcloud compute firewall-rules create RULE_NAME --direction=INGRESS --priority=1000 --network=CLOUD_SQL_NETWORK--allow=tcp:1080 --source-ranges=35.191.0.0/16,130.211.0.0/22
היציאה
1080היא היציאה שבה פועל שרת ה-proxy של SOCKS5.כלל חומת אש שמאפשר תעבורת נתונים ממאזן העומסים אל קבוצת ה-MIG של שרת ה-proxy מסוג SOCKS5. לדוגמה:
gcloud compute firewall-rules create
RULE_NAME --direction=INGRESS --priority=1000 --network=CLOUD_SQL_NETWORK--action=ALLOW --rules=all --source-ranges=PROXY_SUBNET_RANGE כלל חומת אש שמאפשר תעבורת נתונים מקובץ מצורף עם שירות Private Service Connect אל מאזן העומסים. לדוגמה:
gcloud compute firewall-rules create RULE_NAME --direction=INGRESS --priority=1000 --network=CLOUD_SQL_NETWORK --allow=tcp:1080 --source-ranges=NAT_SUBNET_RANGE
כלל חומת אש שמאפשר ל-Datastream להשתמש בטווח כתובות ה-IP של CIDR
/29כדי ליצור קישור דרך IP פרטי. לדוגמה:gcloud compute firewall-rules create RULE_NAME --direction=INGRESS --priority=1000 --network=CLOUD_SQL_NETWORK --action=ALLOW --rules=all --source-ranges=CIDR_RANGE
(אופציונלי) הוספת תפקידים ל-VPC משותף
אם אתם משתמשים ב-VPC משותף, אתם צריכים לבצע את השלבים הבאים.
פרטים נוספים על VPC משותף זמינים במאמר אדמינים של פרויקטים של שירות.
מקצים את התפקיד
roles/compute.networkUserלסוכן של חשבון השירות ב-Dataproc Metastore ולסוכן של חשבון השירות ב-Google API בפרויקט המארח.gcloud projects add-iam-policy-binding HOST_PROJECT --role "roles/compute.networkUser" --member "serviceAccount:service-SERVICE_ACCOUNT@gcp-sa-metastore.iam.gserviceaccount.com" gcloud projects add-iam-policy-binding HOST_PROJECT --role "roles/compute.networkUser" --member "serviceAccount:SERVICE_PROJECT@cloudservices.gserviceaccount.com"
מקצים את התפקיד
roles/compute.networkAdminלסוכן השירות של Datastream בפרויקט המארח.gcloud projects add-iam-policy-binding HOST_PROJECT --role "roles/compute.networkAdmin" --member "serviceAccount:service-SERVICE_PROJECT@gcp-sa-datastream.iam.gserviceaccount.com"
אם אין לכם אפשרות להעניק את התפקיד roles/compute.networkAdmin, אתם יכולים ליצור תפקיד בהתאמה אישית עם ההרשאות שמפורטות במאמר דרישות מוקדמות ל-VPC משותף.
ההרשאות האלה נדרשות בתחילת ההעברה כדי ליצור קישור בין רשת ה-VPC בפרויקט המארח לבין Datastream.
אפשר להסיר את התפקיד הזה ברגע שהמיגרציה מתחילה. אם תסירו את התפקיד לפני שההעברה תושלם, Dataproc Metastore לא יוכל לנקות את עבודת ה-peering. במקרה כזה, תצטרכו לנקות את העבודה בעצמכם.