פרויקטים של 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 או מפעילים את האתחול של הפרויקט המקומי באמצעות Firebase CLI. תהליכי העבודה האלה יוצרים שירות חדש של 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 for PostgreSQL יכולים להשפיע על החוויה שלכם.
- לשירות Cloud SQL ל-PostgreSQL, אפשר לעיין בהנחיות הכלליות במסמכי המידע בנושא מכסות ומגבלות.
בשירות Data Connect יש מכסה לבקשות GraphQL, שמשפיעה על הקצב שבו אפשר לבצע קריאות ולהריץ שאילתות:
- מכסה כוללת של 6,000 בקשות לדקה לכל פרויקט ממחברי אפליקציות לקוח.
- מכסה כוללת של 6,000 בקשות לדקה לכל פרויקט מ-Firebase Admin SDK ומ-REST API.
- מכסה של 1,200 בקשות לדקה לכל משתמש. במקרה הזה, 'לכל משתמש' פירושו שההגבלה חלה על בקשות שיוצאות מכתובת IP אחת, בין אם מאפליקציית לקוח, מ-Firebase Admin SDK או מ-REST API.
אם תגיעו למגבלות האלה, תוכלו לפנות אל התמיכה של Firebase כדי לשנות את המכסה הרלוונטית.
מעקב אחרי הביצועים, השימוש והחיוב של שירותים
אתם יכולים לעקוב אחרי בקשות, שגיאות ושיעורי פעולות, גם באופן גלובלי וגם לפי פעולה במסוף Firebase.
ניהול מכונות של Cloud SQL
מגבלות של תקופת ניסיון בחינם
התכונות הבאות של Cloud SQL ל-PostgreSQL לא נתמכות בתקופת הניסיון בחינם למשך 3 חודשים:
- גרסאות PostgreSQL אחרות מלבד 15.x
- שימוש במכונות קיימות של Cloud SQL ל-PostgreSQL
- רמת מכונה שונה מ-db-f1-micro
- שינוי המשאבים של המופע, כמו אחסון, זיכרון ומעבד (CPU)
- Read replicas
- כתובת IP פרטית של מכונה
- זמינות גבוהה (ריבוי אזורים); יש תמיכה רק במופעים של אזור יחיד
- מהדורת Enterprise Plus
- גיבויים אוטומטיים
- הגדלת נפח האחסון באופן אוטומטי.
ניהול מכונות של Cloud SQL
באופן כללי, אפשר לנהל את מכונות Cloud SQL באמצעות מסוף Google Cloud כדי לבצע את תהליכי העבודה הבאים.
- השבתה והפעלה מחדש של מכונות Cloud SQL
- יצירה ומחיקה של מסדי נתונים ב-Cloud SQL (בתוך מכונות)
- הפעלת מופעים של מסד נתונים ב-PostgreSQL עם פלאגים ושימוש במגוון הרחב של התוספים
- מעקב אחרי הביצועים באמצעות תכונות הניטור של Cloud SQL במסוף Google Cloud
- ניהול הגישה והאבטחה ב-Cloud SQL באמצעות תכונות כמו IAM, ניהול סודות, הצפנת נתונים ושרת 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 או באמצעות gcloud CLI. - הקצאת התפקיד הנדרש ב-PostgreSQL באמצעות Firebase CLI
הקצאת תפקיד IAM ב-Cloud SQL
למידע על הקצאת תפקיד IAM roles/cloudsql.client
באמצעות Cloud SQL ל-PostgreSQL, אפשר לעיין במאמר תפקידים והרשאות.
הקצאת תפקידים ב-PostgreSQL
באמצעות CLI של Firebase, אפשר להעניק תפקידים מוגדרים מראש של PostgreSQL למשתמשים או לחשבונות שירות שמשויכים לפרויקט באמצעות הפקודה firebase dataconnect:sql:grant
.
לדוגמה, כדי להעניק את תפקיד הכתיבה, מריצים את הפקודה הבאה ב-CLI:
firebase dataconnect:sql:grant --role writer
פרטים נוספים זמינים במדריך העזר ל-CLI.
שילוב של מסדי נתונים קיימים של Cloud SQL ל-PostgreSQL
תהליך ההקצאה והניהול של מסד הנתונים שמוגדר כברירת מחדל מניח שהפרויקט שלכם משתמש במסדי נתונים חדשים (greenfield), וכשמפעילים את firebase deploy
, המערכת מציגה את השינויים בסכימת מסד הנתונים שצריך לבצע ומבצעת את ההעברות אחרי שמאשרים.Data Connect
אם יש לכם מסד נתונים קיים (brownfield), יכול להיות שיש לכם תהליך עבודה משלכם לניהול סכימות, ואתם לא יכולים להשתמש בכלים של Data Connect להעברות. עם זאת, אתם רוצים להשתמש במסד הנתונים שלכם בפרויקט Data Connect כדי ליהנות מהיתרונות של יצירת SDK לנייד ולאינטרנט, הרשאה מבוססת-שאילתות, ניהול חיבורים של לקוחות ועוד.
בקטע הזה מוסבר על המקרה השני: שילוב של מסדי נתונים קיימים עם Data Connect.
שילוב של מסד נתונים קיים בפרויקט Data Connect
תהליך העבודה לשילוב מסד נתונים קיים כולל בדרך כלל את השלבים הבאים:
- במהלך Data Connectהגדרת הפרויקט במסוף Firebase, בוחרים את המכונה ואת מסד הנתונים.
באמצעות Firebase CLI, מריצים את הפקודה
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-first, כי יכולים להיות מקרים שבהם שינויים בסכימה לא נתמכים. בנוסף, אם תפרסו שינויים שגורמים לסכימת PostgreSQL להיות לא תואמת לשאילתות או למוטציות של מחברים שנפרסו, יכול להיות שהמחברים האלה יפסיקו לפעול או יתנהגו בצורה לא תקינה.