הגדרת גישה פרטית ל-Google ב-Firestore עם תאימות ל-MongoDB

בדף הזה מוסבר איך להפעיל ולהגדיר גישה פרטית ל-Google ב-Cloud Firestore.

מידע על גישה פרטית ל-Google ב-Cloud Firestore

כברירת מחדל, כשCompute Engine למכונה וירטואלית אין כתובת IP חיצונית שהוקצתה לממשק הרשת שלה, היא יכולה לשלוח מנות רק ליעדים של כתובות IP פנימיות אחרות. כדי לאפשר למכונות הווירטואליות האלה להתחבר לשירות Cloud Firestore, צריך להפעיל את הגישה הפרטית ל-Google ברשת המשנה שבה נעשה שימוש בממשק הרשת של המכונה הווירטואלית.

שירותים ופרוטוקולים רלוונטיים

  • ההוראות במדריך הזה רלוונטיות רק ל-Cloud Firestore.

  • הדומיינים שמוגדרים כברירת מחדל והדומיינים של VIP שמשמשים את Cloud Firestore ואת טווחי כתובות ה-IP שלהם תומכים רק בפרוטוקול MongoDB ביציאה 443. אין תמיכה בכל הפרוטוקולים האחרים.

דרישות הרשת

ממשק של מכונה וירטואלית יכול להגיע לשירותים ולממשקי Google API דרך הרשת הפנימית של Google באמצעות גישה פרטית ל-Google, אם כל התנאים הבאים מתקיימים:

  • הממשק של המכונה הווירטואלית מחובר לרשת משנה שבה מופעלת גישה פרטית ל-Google.

  • לממשק של המכונה הווירטואלית לא מוקצית כתובת IP חיצונית.

  • כתובת ה-IP של המקור של המנות שנשלחות מהמכונה הווירטואלית תואמת לאחת מכתובות ה-IP הבאות.

    • כתובת ה-IPv4 הפנימית הראשית של הממשק של המכונה הווירטואלית
    • כתובת IPv4 פנימית מטווח של כתובות IP של כינוי

מכונה וירטואלית עם כתובת IPv4 חיצונית שמוקצית לממשק הרשת שלה לא צריכה גישה פרטית ל-Google כדי להתחבר לשירותים ולממשקי ה-API של Google. עם זאת, רשת ה-VPC צריכה לעמוד בדרישות לגישה לממשקי API ולשירותים של Google.

הרשאות IAM

בעלי פרויקטים, עורכים וגורמי IAM עם התפקיד אדמין רשת יכולים ליצור או לעדכן רשתות משנה ולהקצות כתובות IP.

מידע נוסף על תפקידים זמין במאמר בנושא תפקידים ב-IAM.

רישום ביומן

Cloud Logging מתעד את כל הבקשות ל-API שמוגשות ממופעי מכונות וירטואליות ברשתות משנה שבהן מופעלת גישה פרטית ל-Google. רשומות ביומן מזהות את המקור של בקשת ה-API ככתובת IP פנימית של המופע שמבצע את הקריאה.

אתם יכולים להגדיר שדוחות יומיים על השימוש ודוחות חודשיים מסכמים יישלחו לCloud Storage bucket. פרטים נוספים מופיעים במאמר בנושא הצגת דוחות שימוש.

סיכום ההגדרות

בטבלה הבאה מפורטות הדרכים השונות להגדרת גישה פרטית ל-Google ב-Cloud Firestore. הוראות מפורטות ומידע נוסף זמינים במאמר הגדרת רשת.

אפשרות דומיין טווחי כתובות IP הגדרת DNS הגדרת ניתוב הגדרת חומת אש

דומיין ברירת מחדל (firestore.goog)

הדומיינים שמוגדרים כברירת מחדל משמשים כשלא מגדירים רשומות DNS עבור restricted.firestore.goog.

136.124.0.0/23 הגישה לשירות Cloud Firestore היא דרך כתובות ה-IP הציבוריות שלו, ולכן לא נדרשת הגדרת DNS מיוחדת.

בודקים שרשת ה-VPC יכולה לנתב תעבורה לטווחים של כתובות ה-IP שבהם משתמש שירות Cloud Firestore.

  • הגדרה בסיסית: מוודאים שיש לכם מסלולים שמוגדרים כברירת מחדל עם קפיצה הבאה default-internet-gateway וטווח יעד של 0.0.0.0/0. אם המסלולים האלה חסרים, צריך ליצור אותם.
  • הגדרה בהתאמה אישית: יצירת מסלולים לטווח כתובות ה-IP‏ 136.124.0.0/23.

בודקים שכללי חומת האש מאפשרים יציאה לטווח כתובות ה-IP‏ 136.124.0.0/23.

כלל חומת האש שמאפשר יציאה כברירת מחדל מאפשר את התנועה הזו, אם אין כלל בעדיפות גבוהה יותר שחוסם אותה.

restricted.firestore.goog

אתם יכולים להשתמש ב-restricted.firestore.goog כדי לגשת לשירות Cloud Firestore באמצעות קבוצה של כתובות IP שניתן לנתב רק מתוך Google Cloud. אפשר להשתמש בו בתרחישים של VPC Service Controls.

199.36.153.2/31 מגדירים רשומות DNS לשליחת בקשות לטווח כתובות ה-IP‏ 199.36.153.2/31. בודקים שלרשת ה-VPC יש מסלולים לטווח כתובות ה-IP‏ 199.36.153.2/31. בודקים שכללי חומת האש מאפשרים יציאה לטווח כתובות ה-IP‏ 199.36.153.2/31.

הגדרת רשת

בקטע הזה מוסבר איך להגדיר את הרשת כדי לגשת אל Cloud Firestore באמצעות גישה פרטית ל-Google.

הגדרת DNS

בניגוד לממשקי Google API אחרים, Cloud Firestore API משתמש בשמות דומיין ובכתובות IP שונים לגישה פרטית ל-Google:

  • restricted.firestore.goog מאפשר גישת API ל-API של Cloud Firestore.

    • כתובות IP: ‏ 199.36.153.2 ו-199.36.153.3.

    • מכיוון ש-Cloud Firestore תואם ל-VPC Service Controls, אפשר להשתמש בדומיין הזה בתרחישים של VPC Service Controls.

כדי ליצור תחום DNS ורשומות בשביל Cloud Firestore:

  1. יוצרים תחום DNS פרטי בשביל firestore.goog.

    כדאי ליצור תחום פרטי ב-Cloud DNS למטרה הזו.

  2. באזור firestore.goog, יוצרים את הרשומות הבאות:

    1. רשומת A עבור restricted.firestore.goog שמפנה לכתובות ה-IP הבאות: 199.36.153.2 ו-199.36.153.3.

    2. רשומת CNAME עבור *.firestore.goog שמפנה אל restricted.firestore.goog.

    כדי ליצור את הרשומות האלה ב-Cloud DNS, אפשר לעיין במאמר בנושא הוספת רשומה.

הגדרת ניתוב

ברשת ה-VPC צריכים להיות מסלולים מתאימים שה-next hop שלהם הוא שער האינטרנט שמוגדר כברירת מחדל. ‫Google Cloud לא תומך בהעברת תנועה ל-Google APIs ולשירותים דרך מופעים אחרים של מכונות וירטואליות או דרך קפיצות מותאמות אישית. למרות שהשם הוא שער ברירת מחדל לאינטרנט, מנות שנשלחות ממכונות וירטואליות ברשת ה-VPC שלכם אל ממשקי API ושירותים של Google נשארות בתוך הרשת של Google.

  • אם בוחרים באפשרות של דומיין ברירת המחדל, המכונות הווירטואליות מתחברות לשירות Cloud Firestore באמצעות טווח כתובות ה-IP הציבוריות הבא: 136.124.0.0/23 . אפשר לנתב את כתובות ה-IP האלה באופן ציבורי, אבל הנתיב ממכונה וירטואלית ברשת VPC לכתובות האלה נשאר בתוך הרשת של Google.

  • ‫Google לא מפרסמת נתיבים באינטרנט לכתובות ה-IP שמשמשות את הדומיין restricted.firestore.goog. לכן, אפשר לגשת לדומיין הזה רק ממכונות וירטואליות ברשת VPC או ממערכות מקומיות שמחוברות לרשת VPC.

אם רשת ה-VPC שלכם מכילה מסלול ברירת מחדל שהקפיצה הבאה שלו היא שער האינטרנט שמוגדר כברירת מחדל, אתם יכולים להשתמש במסלול הזה כדי לגשת לשירות Cloud Firestore, בלי ליצור מסלולים בהתאמה אישית. פרטים נוספים זמינים במאמר בנושא ניתוב עם מסלול ברירת מחדל.

אם החלפתם נתיב ברירת מחדל (יעד 0.0.0.0/0 או ::0/0) בנתיב מותאם אישית שהצעד הבא שלו לא הוא שער האינטרנט שמוגדר כברירת מחדל, אתם יכולים לעמוד בדרישות הניתוב של שירות Cloud Firestore באמצעות ניתוב מותאם אישית.

ניתוב עם נתיב ברירת מחדל

כל רשת VPC מכילה נתיב ברירת מחדל של IPv4 ‏ (0.0.0.0/0) כשהיא נוצרת.

מסלול ברירת המחדל מספק נתיב לכתובות ה-IP של היעדים הבאים:

  • דומיין ברירת המחדל (firestore.goog): 136.124.0.0/23
  • restricted.firestore.goog: 199.36.153.2/31

במאמר הגדרת גישה פרטית ל-Google מוסבר איך לבדוק את ההגדרה של נתיב ברירת מחדל ברשת נתונה במסוף Google Cloud וב-Google Cloud CLI.

ניתוב באמצעות נתיבים מותאמים אישית

במקום להשתמש בנתיב ברירת מחדל, אפשר להשתמש בנתיבים סטטיים מותאמים אישית, שלכל אחד מהם יש יעד ספציפי יותר, וכל אחד מהם משתמש בנקודת הקפיצה הבאה של שער האינטרנט שמוגדר כברירת מחדל. כתובות ה-IP של היעד עבור המסלולים תלויות בדומיין שתבחרו:

  • דומיין ברירת המחדל (firestore.goog): 136.124.0.0/23
  • restricted.firestore.goog: 199.36.153.2/31

הוראות לבדיקת ההגדרה של מסלולים מותאמים אישית ברשת נתונה במסוף Google Cloud וב-Google Cloud CLI מפורטות במאמר הגדרת גישה פרטית ל-Google.

הגדרת חומת אש

הגדרת חומת האש של רשת ה-VPC צריכה לאפשר גישה ממכונות וירטואליות לכתובות ה-IP שבהן נעשה שימוש בשירות Cloud Firestore. הכלל המשתמע allow egress עומד בדרישה הזו.

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

  • דומיין ברירת המחדל (firestore.goog: 136.124.0.0/23
  • restricted.firestore.goog: 199.36.153.2/31

הוראות ליצירת כללים לחומת האש מופיעות במאמר יצירת כללים לחומת האש. כשמגדירים יעד לכל כלל הרשאת יציאה, אפשר להגביל את המכונות הווירטואליות שהכללים של חומת האש חלים עליהן.

הגדרה של גישה פרטית ל-Google

אפשר להפעיל גישה פרטית ל-Google אחרי שעומדים בדרישות הרשת ברשת ה-VPC. כדי לקבל הוראות לשימוש ב-Google Cloud Console וב-Google Cloud CLI, פועלים לפי השלבים שמפורטים במאמר הפעלת גישה פרטית ל-Google.

המאמרים הבאים