פרויקטים של Data Connect מורכבים משני רכיבי תשתית עיקריים:
- מכונה אחת או יותר של שירות Data Connect
- מכונה אחת או יותר של Cloud SQL ל-PostgreSQL
במדריך הזה מוסבר איך להגדיר ולנהל את מכונות השירות של Data Connect, ואיך לנהל את מכונות Cloud SQL המשויכות.
הגדרת אזורים עבור Firebase Data Connect
בפרויקטים שמשתמשים ב-Data Connect צריך להגדיר מיקום.
כשיוצרים מכונה חדשה של שירות Data Connect, מתבקשים לבחור את המיקום של השירות.
מיקומים זמינים
אפשר ליצור שירותי Data Connect באזורים הבאים.
- asia-east1
- asia-east2
- asia-northeast1
- asia-northeast2
- asia-northeast3
- asia-south1
- asia-southeast1
- asia-southeast2
- australia-southeast1
- australia-southeast2
- europe-central2
- europe-north1
- europe-southwest1
- europe-west1
- europe-west2
- europe-west3
- europe-west4
- europe-west6
- europe-west8
- europe-west9
- me-west1
- northamerica-northeast1
- northamerica-northeast2
- southamerica-east1
- southamerica-west1
- us-central1
- us-east1
- us-east4
- us-south1
- us-west1
- us-west2
- us-west3
- us-west4
ניהול מכונות של שירות Data Connect
יצירת שירותים
כדי ליצור שירות חדש, משתמשים במסוף Firebase או מריצים את האינטראקציה הראשונית של הפרויקט המקומי באמצעות ה-CLI של Firebase. תהליכי העבודה האלה יוצרים שירות Data Connect חדש.
התהליכים האלה כוללים גם הנחיות לגבי:
- הקצאת מכונה חדשה של Cloud SQL (ברמה ללא עלות)
- קישור של מכונה קיימת של Cloud SQL ל-Data Connect (תוכנית Blaze)
ניהול משתמשים
Data Connect מספק כלים לניהול הגישה של המשתמשים בהתאם לעיקרון של הרשאות מינימליות (מתן ההרשאות המינימליות הנדרשות לכל משתמש או חשבון שירות כדי לתמוך בפונקציונליות הנדרשת) ולבקרת גישה מבוססת-תפקידים (RBAC) (עם תפקידים מוגדרים מראש לניהול הרשאות של מסדי נתונים, שמפשטים את ניהול האבטחה).
כדי להוסיף חברי פרויקט כמשתמשים שיכולים לשנות מכונות Data Connect בפרויקט, בוחרים את תפקידי המשתמש המוגדרים מראש המתאימים במסוף Firebase.
התפקידים האלה מקצים הרשאות באמצעות ניהול זהויות והרשאות גישה (IAM). תפקיד הוא אוסף של הרשאות. כשמקצים תפקיד לחבר צוות בפרויקט, מעניקים לו את כל ההרשאות שהתפקיד מכיל. מידע נוסף זמין במאמרים הבאים:
- סקירה כללית על תפקידי IAM ב-Firebase
- הרשימה המפורטת של תפקידים ב-Data Connect
בחירת תפקידים להפעלת תהליכי עבודה ספציפיים
תפקידי IAM מאפשרים להשתמש בתהליכי עבודה של CLI ב-Firebase כדי לנהל את הפרויקטים ב-Data Connect.
פקודה ב-CLI, תהליך עבודה אחר | התפקידים הנדרשים |
---|---|
firebase init dataconnect
|
|
firebase deploy -–only dataconnect
|
|
firebase dataconnect:sql:diff
|
|
firebase dataconnect:sql:migrate
|
|
firebase dataconnect:sql:grant
|
|
מעקב אחרי ביצועי השירות Data Connect
הסבר על ביצועי השירות
הביצועים של שירות Data Connect ושל שירות Cloud SQL ל-PostgreSQL יכולים להשפיע על החוויה שלכם.
- לגבי השירות Cloud SQL ל-PostgreSQL, אפשר לעיין בהנחיות הכלליות במאמר מסמכי העזרה בנושא מכסות ומגבלות.
לשירות Data Connect יש מכסה לבקשות GraphQL, שמשפיעה על הקצב שבו אפשר לבצע קריאות ולהריץ שאילתות:
- מכסה כוללת לכל פרויקט של 6,000 בקשות לדקה ממחברים של אפליקציות לקוח.
- מכסה כוללת לכל פרויקט של 6,000 בקשות לדקה מ-Firebase Admin SDK ומ-API ל-REST.
- מכסה לכל משתמש של 1,200 בקשות לדקה. הכוונה כאן היא שהמגבלה חלה על בקשות שמתבצעות מכתובת IP אחת, בין אם הן מגיעות מאפליקציית לקוח, מ-Firebase Admin SDK או מ-API ל-REST.
אם נתקלת במגבלות המכסות האלה, עליך לפנות אל התמיכה של Firebase כדי לשנות את המכסה הרלוונטית.
מעקב אחר ביצועי השירות, השימוש והחיוב
במסוף Firebase אפשר לעקוב אחרי בקשות, שגיאות ושיעורי פעולות, גם ברמת המערכת וגם לכל פעולה.
ניהול מכונות של Cloud SQL
מגבלות של תקופת ניסיון בחינם
התכונות הבאות של Cloud SQL ל-PostgreSQL לא נתמכות בתקופת הניסיון בחינם של 3 חודשים:
- גרסאות PostgreSQL שאינן 15.x
- שימוש במכונות קיימות של Cloud SQL ל-PostgreSQL
- רמת מכונה שונה מ-db-f1-micro
- שינוי המשאבים של המכונה, כמו אחסון, זיכרון, מעבד (CPU)
- קריאת רפליקות
- כתובת ה-IP של המכונה הפרטית
- זמינות גבוהה (במספר תחומים); יש תמיכה רק במכונות בתחום יחיד
- מהדורת Enterprise Plus
- גיבויים אוטומטיים
- הגדלה אוטומטית של נפח האחסון.
ניהול מכונות של Cloud SQL
באופן כללי, אפשר לנהל את המכונות של Cloud SQL באמצעות מסוף Google Cloud כדי לבצע את תהליכי העבודה הבאים.
- השבתה והפעלה מחדש של מכונות Cloud SQL
- יצירה ומחיקה של מסדי נתונים ב-Cloud SQL (בתוך מכונות)
- הפעלת מכונות של מסדי נתונים של PostgreSQL באמצעות דגלים ושימוש במגוון תוספים
- מעקב אחר הביצועים באמצעות תכונות של יכולת התצפית ב-Cloud SQL במסוף Google Cloud
- ניהול הגישה והאבטחה של Cloud SQL באמצעות תכונות כמו IAM, Secret Manager, הצפנת נתונים ושרת proxy לאימות
- הוספה, מחיקה וניהול של משתמשים ב-Cloud SQL.
תוכלו לקרוא על תהליכי העבודה האלה ועל תהליכים אחרים במסמכי העזרה של Cloud SQL ל-PostgreSQL.
הקצאת תפקידים של משתמשי PostgreSQL
Data Connect מספק כלים לניהול הגישה של המשתמשים בהתאם לעיקרון של הרשאות מינימליות (מתן ההרשאות המינימליות הנדרשות לכל משתמש או חשבון שירות כדי לתמוך בפונקציונליות הנדרשת) ולבקרת גישה מבוססת-תפקידים (RBAC) (עם תפקידים מוגדרים מראש לניהול הרשאות של מסדי נתונים, שמפשטים את ניהול האבטחה).
במקרים מסוימים, יכול להיות שתרצו להתחבר ישירות למסד הנתונים של Cloud SQL בניהול Data Connect דרך לקוח SQL לבחירתכם, באמצעות Cloud Run, Cloud Functions או GKE, למשל.
כדי להפעיל חיבורים כאלה, צריך להעניק הרשאות SQL באופן הבא:
- הקצאת התפקיד
roles/cloudsql.client
ב-IAM למשתמש או לחשבון השירות שצריך להתחבר למכונה, דרך מסוף Google Cloud או באמצעות ה-CLI gcloud CLI - הקצאת התפקיד הנדרש ב-PostgreSQL באמצעות CLI של Firebase
הקצאת תפקיד IAM ב-Cloud SQL
למידע על עבודה עם Cloud SQL ל-PostgreSQL כדי להקצות את תפקיד ה-IAM roles/cloudsql.client
, ראו תפקידים והרשאות.
הקצאת תפקידים ב-PostgreSQL
באמצעות ה-CLI של Firebase, אפשר להקצות תפקידים מוגדרים מראש ב-PostgreSQL למשתמשים או לחשבונות שירות שמשויכים לפרויקט באמצעות הפקודה firebase dataconnect:sql:grant
.
לדוגמה, כדי להקצות את תפקיד הכתיבה, מריצים את הפקודה הבאה ב-CLI:
firebase dataconnect:sql:grant --role writer
פרטים נוספים זמינים במדריך העזר של CLI.
שילוב של מסדי נתונים קיימים של Cloud SQL ל-PostgreSQL
תהליך ניהול והקצאה של מסדי נתונים שמוגדר כברירת מחדל מניח שהפרויקט שלכם משתמש במסדי נתונים חדשים (בשטח פתוח), וכשתפעילו את firebase deploy
, המערכת תציג ב-Data Connect את השינויים שצריך לבצע בסכימת מסד הנתונים ותבצע את ההעברות אחרי שתאשרו אותן.
במסדי נתונים קיימים (brownfield), יכול להיות שיש לכם תהליך עבודה משלכם לניהול סכימות ואתם לא יכולים להשתמש בכלים של Data Connect להעברות, אבל אתם רוצים להשתמש במסד הנתונים בפרויקט Data Connect כדי לנצל את היתרונות של יצירת ה-SDK שלו לנייד ולאינטרנט, הרשאה מבוססת-שאילתות, ניהול חיבורי לקוחות ועוד.
בקטע הזה נספק הדרכה לגבי המקרה השני: שילוב של מסדי נתונים קיימים עם Data Connect.
שילוב של מסד נתונים קיים בפרויקט Data Connect
תהליך השילוב של מסד נתונים קיים כולל בדרך כלל את השלבים הבאים:
- במהלך הגדרת הפרויקט ב-Data Connect במסוף Firebase, בוחרים את המכונה ואת מסד הנתונים.
באמצעות ה-CLI של Firebase, מריצים את הפקודה
firebase dataconnect:sql:setup
ומבטלים את האפשרות לאפשר ל-Data Connect לטפל בהעברות של SQL.כדי למנוע שינויים בסכימה של מסד הנתונים שלא נובעים מהכלים המותאמים אישית, הפקודה
setup
תקצה תפקידים מתאימים של קריאה וכתיבה, אבל לא את התפקידowner
. מידע נוסף על הפקודהsetup
ועל התפקידים ב-PostgreSQL זמין במדריך העזר של CLI.כותבים סכימה של Data Connect GraphQL שתואמת לסכימה של מסד הנתונים.
אפשר לפרוס את הסכימה, השאילתות והמוטציות של GraphQL רק אם הסכימה של GraphQL תואמת להסכימה של PostgreSQL.
כדי לפשט את ההתאמה של שתי הסכימות, אנחנו מספקים את הפקודה
firebase dataconnect:sql:diff
, שמספקת את משפטי ה-SQL הנדרשים להעברת מסד הנתונים. אפשר להשתמש בכך כדי לשפר באופן איטרטיבי את הסכימה של GraphQL כך שתתאים לסכימה הקיימת של מסד הנתונים.מעכשיו תוכלו לבצע איטרציות מהירות על הסכימה, השאילתות והמוטציות של GraphQL בסביבת הפיתוח המקומית. לאחר מכן, כשתהיו מרוצים, תוכלו להשתמש ב-
firebase dataconnect:sql:diff
כדי לקבל את הוראות ההעברה של SQL, שתהיה לכם אפשרות להחיל על PostgreSQL באמצעות הכלים והתהליכים המותאמים אישית שלכם.לחלופין, אפשר לבצע שינויים ישירות במסד הנתונים של PostgreSQL ואז לנסות להעביר אותם חזרה לסכימת GraphQL. אנחנו ממליצים על הגישה של 'קודם GraphQL', כי יכול להיות שיהיו מקרים שבהם השינויים בסכימה לא נתמכים. בנוסף, אם תפרסו שינויים שגורמים לסכימה של PostgreSQL להיות לא תואמת לשאילתות או למוטציות של המחברים שנפרסו, יכול להיות שהמחברים האלה יפסיקו לפעול או יפעלו בצורה לא תקינה.