הגדרת VPC Service Controls ואשכולות פרטיים

בדף הזה מוסבר איך פועלים VPC Service Controls ואשכולות פרטיים, ואיך מגדירים אותם ב-Cloud Workstations.

VPC Service Controls

VPC Service Controls מספק אבטחה נוספת לתחנות העבודה שלכם כדי לעזור בצמצום הסיכון לזליגת נתונים. בעזרת VPC Service Controls אפשר להוסיף פרויקטים לגבולות גזרה לשירות, כדי להגן על המשאבים והשירותים מפני בקשות שמקורן מחוץ לגבולות הגזרה.

אלה הדרישות לשימוש ב-Cloud Workstations ב-VPC service perimeter:

  • כדי להגן על Cloud Workstations, צריך להגביל את Compute Engine API בגבולות גזרה לשירות בכל פעם שמגבילים את Cloud Workstations API.
  • מוודאים ש-Google Cloud Storage API ו-Artifact Registry API נגישים ל-VPC ב-service perimeter. ההרשאה הזו נדרשת כדי להעביר תמונות לתחנת העבודה. מומלץ גם לאפשר גישה ל-Cloud Logging API ול-Cloud Error Reporting API דרך VPC בגבולות גזרה לשירות שלכם, למרות שזה לא נדרש לשימוש ב-Cloud Workstations.

  • מוודאים שקלאסטר תחנות העבודה הוא פרטי. הגדרת אשכול פרטי מונעת חיבורים לתחנות העבודה שלכם מחוץ לגבולות גזרה לשירות של ה-VPC. שירות Cloud Workstations מונע יצירה של אשכולות ציבוריים בגבולות גזרה לשירות VPC.
  • מוודאים שכתובות ה-IP הציבוריות מושבתות בהגדרות של תחנת העבודה. אם לא תעשו את זה, המכונות הווירטואליות בפרויקט יקבלו כתובות IP ציבוריות. מומלץ מאוד להשתמש באילוץ מדיניות הארגון constraints/compute.vmExternalIpAccess כדי להשבית כתובות IP ציבוריות לכל המכונות הווירטואליות בגבולות גזרה לשירות של ה-VPC. פרטים נוספים זמינים במאמר בנושא הגבלת כתובות IP חיצוניות למכונות וירטואליות ספציפיות.

מידע נוסף על גבולות גזרה לשירות זמין במאמר פרטים והגדרה של גבולות גזרה לשירות.

ארכיטקטורה

כשמגדירים אשכול תחנות עבודה כפרטי, למישור הבקרה של אשכול תחנות העבודה יש רק כתובת IP פנימית. המשמעות היא שלקוחות מהאינטרנט הציבורי לא יכולים להתחבר לתחנות העבודה ששייכות לאשכול תחנות העבודה. כדי להשתמש באשכול פרטי, צריך לחבר אותו באופן ידני לרשת של הענן הווירטואלי הפרטי (VPC) באמצעות נקודת קצה (endpoint) של Private Service Connect.

במקרים של תצורות עם אשכולות פרטיים נדרשות שתי נקודות קצה (endpoint) מסוג PSC:

  • כברירת מחדל, Cloud Workstations יוצר נקודת קצה נפרדת של PSC כדי לחבר את מישור הבקרה למכונות הווירטואליות של תחנות העבודה.

  • אתם צריכים ליצור נקודת קצה נוספת של PSC לאשכולות פרטיים. כדי להתחבר מהמכונה המקומית לתחנת עבודה באשכול פרטי, המכונה המקומית צריכה להיות מחוברת לרשת ה-VPC. משתמשים ב-Cloud VPN או ב-Cloud Interconnect כדי לחבר את הרשת החיצונית שבה מריצים את המכונה לרשת ה-VPC. צריך ליצור את נקודת הקצה הנוספת של PSC באותה רשת שהרשת החיצונית מתחברת אליה באמצעות Cloud VPN או Cloud Interconnect.

התרשים הבא מציג ארכיטקטורה לדוגמה של אשכול פרטי:

איור 1. אשכולות פרטיים

לפני שמתחילים

לפני שמתחילים, צריך לוודא שביצעתם את שלבי ההגדרה הנדרשים האלה:

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. מפעילים את Cloud Workstations API.

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

    להפעלת ה-API

  7. מוודאים שיש לכם תפקיד אדמין ב-IAM של Cloud Workstations בפרויקט, כדי שתוכלו ליצור הגדרות של תחנות עבודה. כדי לבדוק את תפקידי ה-IAM במסוף Google Cloud , עוברים לדף IAM:

    כניסה לדף IAM

  8. תחנות עבודה בענן מתארחות במכונות וירטואליות שמבוססות על תמונות ציבוריות מוגדרות מראש של מערכת הפעלה שמותאמת לקונטיינרים (COS) ב-Compute Engine. אם מופעלת אילוץ מדיניות הארגון constraints/compute.trustedimageProjects, צריך להגדיר אילוצי גישה לתמונות כדי לאפשר למשתמשים ליצור דיסקים לאתחול מ-projects/cos-cloud או מכל התמונות הציבוריות.
  9. אופציונלי: מפעילים את Container File System API כדי לאפשר הפעלה מהירה יותר של תחנת העבודה.

    הפעלת Container File System API

    מידע נוסף זמין במאמר איך מקצרים את זמן ההפעלה של תחנת עבודה באמצעות סטרימינג של תמונות.

יצירת אשכול פרטי

כדי ליצור אשכול פרטי:

  1. במסוף Google Cloud , נכנסים לדף Cloud Workstations.

    כניסה ל-Cloud Workstations

  2. עוברים לדף ניהול אשכולות של תחנת העבודה.

  3. לוחצים על יצירה.

  4. מזינים את השם ובוחרים אזור עבור אשכול תחנות העבודה.

  5. בקטע Networking (רשת), בוחרים באפשרות Networks in this project (רשתות בפרויקט הזה).

  6. בוחרים רשת ורשת משנה.

  7. בקטע Gateway type (סוג השער), בוחרים באפשרות Private gateway (שער פרטי).

  8. אופציונלי: מציינים פרויקט נוסף אחד או יותר שמארחים את נקודת הקצה של Private Service Connect שמאפשרת גישת HTTP לאשכול הפרטי. כברירת מחדל, אפשר ליצור את נקודת הקצה הזו רק בפרויקט של אשכול תחנות העבודה ובפרויקט המארח של רשת ה-VPC (אם הם שונים). במקרה הצורך, אפשר לציין את הפרויקטים האלה גם אחרי שיוצרים את האשכול.

  9. לוחצים על יצירה. במהלך יצירת האשכול, הסטטוס יהיה מתעדכן.

    יצירת אשכול נמשכת כמה דקות. אחרי שתהליך יצירת האשכול יסתיים, יכול להיות שהסטטוס של האשכול יופיע כDegraded (ירוד). אחרי שמבצעים את השלבים שבקטע יצירת נקודת קצה של PSC, הסטטוס של האשכול ישתנה ל-Ready תוך כמה דקות.

הפעלת קישוריות לאשכול פרטי

לקוחות לא יכולים להתחבר לתחנות עבודה באשכולות פרטיים של תחנות עבודה מהאינטרנט הציבורי. הלקוחות צריכים להיות ברשת שמחוברת לאשכול תחנות העבודה באמצעות Private Service Connect ‏(PSC). כדי להתחבר לתחנת עבודה, פועלים לפי השלבים שבסעיף הזה:

  1. יוצרים נקודת קצה מסוג PSC שמכוונת לצירוף שירות של תחנת העבודה.

  2. יצירת אזור DNS פרטי.

  3. משתמשים ב-Cloud DNS כדי ליצור רשומת DNS שממפה את שם המארח של האשכול לנקודת הקצה של ה-PSC.

יצירת נקודת קצה של Private Service Connect

כדי ליצור נקודת קצה של PSC:

  1. במסוף Google Cloud , עוברים אל Private Service Connect.

    מעבר אל Private Service Connect

  2. לוחצים על הכרטיסייה Connected endpoints (נקודות קצה מקושרות) ואז על addConnect endpoint (הוספה של נקודת קצה).

  3. בקטע יעד, בוחרים באפשרות שירות שפורסם.

  4. בשדה Target service (שירות יעד), מזינים את מזהה המשאבים האחיד (URI) של קובץ השירות שנוצר עבור אשכול תחנות העבודה. כדי למצוא את ה-URI, עוברים אל אשכול תחנות העבודה במסוף ומחפשים את השדה Service attachment URI בקטע הגדרות רשת.

  5. בשדה Endpoint, מזינים שם לנקודת הקצה.

  6. בוחרים רשת לנקודת הקצה ואז בוחרים רשת משנה. הרשת הזו צריכה להיות הרשת שבה רוצים להשתמש כדי להתחבר לתחנות העבודה, והיא חייבת להיות אותה רשת שהרשת החיצונית מתחברת אליה באמצעות Cloud VPN או Cloud Interconnect.

  7. בוחרים כתובת IP לנקודת הקצה.

    אם אתם צריכים כתובת IP חדשה, בוחרים באפשרות יצירת כתובת IP:

    1. מזינים שם לכתובת ה-IP, ואפשר גם להוסיף תיאור.
    2. כדי להקצות כתובת IP סטטית, בוחרים באפשרות הקצאה אוטומטית. בשביל כתובת IP מותאמת אישית, בוחרים באפשרות אני רוצה לבחור ומזינים את כתובת ה-IP שרוצים להשתמש בה.
    3. בקטע מטרה, בוחרים באפשרות לא משותף.
    4. לוחצים על Reserve.
  8. בוחרים מרחב שמות מהרשימה הנפתחת או יוצרים מרחב שמות חדש. הערך של אזור מאוכלס על סמך רשת המשנה שנבחרה.

  9. לוחצים על הוספת נקודת קצה.

  10. מעתיקים את כתובת ה-IP של נקודת הקצה כדי להשתמש בה בקטע הבא כדי ליצור אזור DNS פרטי ורשומת DNS.

יצירת תחום DNS פרטי

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

  1. במסוף Google Cloud , נכנסים לדף יצירת תחום DNS.

    מעבר אל יצירת תחום DNS

  2. בקטע Zone type (סוג האזור), בוחרים באפשרות Private (פרטי).

  3. מזינים שם אזור, למשל private-workstations-cluster-zone.

  4. מזינים סיומת של שם DNS לאזור הפרטי. כל הרשומות באזור חולקות את הסיומת הזו. מגדירים את השם הזה ל-clusterHostname.

    כדי למצוא את clusterHostname, עוברים לדף Cluster management  > Cloud Workstations במסוף Google Cloud ולוחצים על אשכול תחנות העבודה כדי לראות את שם המארח.

  5. אופציונלי: מוסיפים תיאור.

  6. בקטע אפשרויות, בוחרים באפשרות ברירת מחדל (פרטי).

  7. בוחרים את הרשת שבה יצרתם את נקודת הקצה של PSC בקטע הקודם, כי כתובת ה-IP תקפה רק ברשת הזו.

  8. לוחצים על יצירה.

מידע נוסף על אזורי DNS פרטיים זמין במסמכי Cloud DNS בנושא יצירת אזור פרטי ושיטות מומלצות לאזורים פרטיים ב-Cloud DNS.

יצירת רשומת DNS

כדי להוסיף רשומה שממפה את *.<clusterHostname> לכתובת ה-IP שהוזמנה כשיוצרים את נקודת הקצה של Private Service Connect, פועלים לפי השלבים הבאים:

  1. נכנסים לדף Cloud DNS zones במסוף Google Cloud .

    מעבר לאזורים ב-Cloud DNS

  2. לוחצים על השם של האזור המנוהל שרוצים להוסיף אליו את הרשומה.

  3. בדף פרטי האזור, לוחצים על הוספת אזור זמן רגיל.

  4. בדף יצירת סט הרשומות, בשדה שם DNS, מזינים *.<clusterHostname>.

  5. בשדה IP Address (כתובת IP), מזינים את כתובת ה-IP שהזמנתם לנקודת הקצה של Private Service Connect בקטע הקודם.

  6. לוחצים על יצירה.

  7. רשת ה-VPC שלכם אמורה להיות מחוברת עכשיו לאשכול תחנות העבודה, ותוכלו להתחבר לתחנות העבודה באמצעות הרשת הזו.

הפעלת פענוח DNS בפריסה מקומית

כדי להשתמש בעורך שמוגדר כברירת מחדל בדפדפן בתחנת העבודה, צריך להשתמש בדפדפן ממחשב שמחובר לרשת ה-VPC. אתם יכולים להשתמש ב-Cloud VPN או ב-Cloud Interconnect כדי להתחבר מהרשת החיצונית שבה אתם מפעילים את הדפדפן לרשת ה-VPC.

כדי להתחבר מרשת חיצונית, צריך להגדיר DNS ברשת החיצונית. בדומה לשלבים הקודמים, אפשר ליצור תחום DNS עבור clusterHostname ולהוסיף רשומת A שממפה את *.<clusterHostname> לכתובת ה-IP שהוזמנה כשיוצרים את נקודת הקצה (endpoint) של Private Service Connect. לחלופין, אפשר להגדיר אזורי העברה של DNS או מדיניות של שרת DNS כדי לאפשר חיפושים של שמות DNS בין הסביבות המקומיות ובין סביבות Google Cloud .

יכול להיות שתצטרכו להוסיף את *cloudworkstations.dev לרשימת ההיתרים של התשתית המקומית שלכם.

הגדרת VPC Service Controls לסטרימינג של תמונות

אם מפעילים את הזרמת התמונות כדי לקצר את זמני ההפעלה של תחנות העבודה, ואשכול תחנות העבודה נמצא בתוך מתחם היקפי של VPC Service Controls, צריך להגדיר את ההגדרות הבאות במדיניות המתחם ההיקפי:

  • כוללים את Container File System API‏ (containerfilesystem.googleapis.com) בשירותים המוגבלים של גבולות גזרה לשירות.
  • מוסיפים כלל יציאה בפרימטר השירות שמאפשר לחשבון השירות שצוין בהגדרת תחנת העבודה לגשת לממשק Container File System API בפרויקט שמארח את תמונות הקונטיינר.
  • אם אתם משתמשים בסביבת IDE שהוגדרה מראש, אתם צריכים גם להגדיר את כלל תעבורת הנתונים היוצאת (egress) כדי לאפשר גישה לפרויקט cloud-workstations-images (מספר הפרויקט 662288601415).

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