ניהול שירותים ומסדי נתונים של Data Connect

פרויקטים של 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
השילוב של Vertex AI ב-

ניהול מכונות של שירות Data Connect

יצירת שירותים

כדי ליצור שירות חדש, משתמשים במסוף Firebase או מריצים את האינטראקציה הראשונית של הפרויקט המקומי באמצעות ה-CLI של Firebase. תהליכי העבודה האלה יוצרים שירות Data Connect חדש.

התהליכים האלה כוללים גם הנחיות לגבי:

  • הקצאת מכונה חדשה של Cloud SQL (ברמה ללא עלות)
  • קישור של מכונה קיימת של Cloud SQL ל-Data Connect (תוכנית Blaze)

ניהול משתמשים

Data Connect מספק כלים לניהול הגישה של המשתמשים בהתאם לעיקרון של הרשאות מינימליות (מתן ההרשאות המינימליות הנדרשות לכל משתמש או חשבון שירות כדי לתמוך בפונקציונליות הנדרשת) ולבקרת גישה מבוססת-תפקידים (RBAC) (עם תפקידים מוגדרים מראש לניהול הרשאות של מסדי נתונים, שמפשטים את ניהול האבטחה).

כדי להוסיף חברי פרויקט כמשתמשים שיכולים לשנות מכונות Data Connect בפרויקט, בוחרים את תפקידי המשתמש המוגדרים מראש המתאימים במסוף Firebase.

התפקידים האלה מקצים הרשאות באמצעות ניהול זהויות והרשאות גישה (IAM). תפקיד הוא אוסף של הרשאות. כשמקצים תפקיד לחבר צוות בפרויקט, מעניקים לו את כל ההרשאות שהתפקיד מכיל. מידע נוסף זמין במאמרים הבאים:

בחירת תפקידים להפעלת תהליכי עבודה ספציפיים

תפקידי IAM מאפשרים להשתמש בתהליכי עבודה של CLI ב-Firebase כדי לנהל את הפרויקטים ב-Data Connect.

פקודה ב-CLI, תהליך עבודה אחר התפקידים הנדרשים
firebase init dataconnect
  • ללא הרשאות (כשלא מקשרים מכונה של Cloud SQL)
  • roles/cloudsql.admin (כשיוצרים מכונה של Cloud SQL)
firebase deploy -–only dataconnect
  • firebasedataconnect.connectors.*
  • firebasedataconnect.services.*
  • firebasedataconnect.schemas.*
  • roles/cloudsql.admin
firebase dataconnect:sql:diff
  • firebasedataconnect.services.*
  • firebasedataconnect.schemas.*
firebase dataconnect:sql:migrate
  • roles/cloudsql.admin במכונה היעד של Cloud SQL
firebase dataconnect:sql:grant
  • roles/cloudsql.admin במכונה היעד של Cloud SQL

מעקב אחרי ביצועי השירות 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

תהליך השילוב של מסד נתונים קיים כולל בדרך כלל את השלבים הבאים:

  1. במהלך הגדרת הפרויקט ב-Data Connect במסוף Firebase, בוחרים את המכונה ואת מסד הנתונים.
  2. באמצעות ה-CLI של Firebase, מריצים את הפקודה firebase dataconnect:sql:setup ומבטלים את האפשרות לאפשר ל-Data Connect לטפל בהעברות של SQL.

    כדי למנוע שינויים בסכימה של מסד הנתונים שלא נובעים מהכלים המותאמים אישית, הפקודה setup תקצה תפקידים מתאימים של קריאה וכתיבה, אבל לא את התפקיד owner. מידע נוסף על הפקודה setup ועל התפקידים ב-PostgreSQL זמין במדריך העזר של CLI.

  3. כותבים סכימה של Data Connect GraphQL שתואמת לסכימה של מסד הנתונים.

    אפשר לפרוס את הסכימה, השאילתות והמוטציות של GraphQL רק אם הסכימה של GraphQL תואמת להסכימה של PostgreSQL.

    כדי לפשט את ההתאמה של שתי הסכימות, אנחנו מספקים את הפקודה firebase dataconnect:sql:diff, שמספקת את משפטי ה-SQL הנדרשים להעברת מסד הנתונים. אפשר להשתמש בכך כדי לשפר באופן איטרטיבי את הסכימה של GraphQL כך שתתאים לסכימה הקיימת של מסד הנתונים.

  4. מעכשיו תוכלו לבצע איטרציות מהירות על הסכימה, השאילתות והמוטציות של GraphQL בסביבת הפיתוח המקומית. לאחר מכן, כשתהיו מרוצים, תוכלו להשתמש ב-firebase dataconnect:sql:diff כדי לקבל את הוראות ההעברה של SQL, שתהיה לכם אפשרות להחיל על PostgreSQL באמצעות הכלים והתהליכים המותאמים אישית שלכם.

  5. לחלופין, אפשר לבצע שינויים ישירות במסד הנתונים של PostgreSQL ואז לנסות להעביר אותם חזרה לסכימת GraphQL. אנחנו ממליצים על הגישה של 'קודם GraphQL', כי יכול להיות שיהיו מקרים שבהם השינויים בסכימה לא נתמכים. בנוסף, אם תפרסו שינויים שגורמים לסכימה של PostgreSQL להיות לא תואמת לשאילתות או למוטציות של המחברים שנפרסו, יכול להיות שהמחברים האלה יפסיקו לפעול או יפעלו בצורה לא תקינה.