בדף הזה מוסבר איך פועלים VPC Service Controls ואשכולות פרטיים, ואיך מגדירים אותם ב-Cloud Workstations.
VPC Service Controls
כדי להפחית את הסיכון לזליגת נתונים, אתם יכולים להשתמש ב-VPC Service Controls כאמצעי אבטחה נוסף לתחנות העבודה. בעזרת VPC Service Controls, אתם יכולים להוסיף פרויקטים לגבולות גזרה לשירות, כדי להגן על המשאבים והשירותים מפני בקשות שמגיעות מחוץ לגבולות הגזרה.
אלה הדרישות לשימוש ב-Cloud Workstations ב-VPC Service Controls:
- כדי להגן על Cloud Workstations, צריך להגביל את Compute Engine API בגבולות גזרה לשירות בכל פעם שמגבילים את Cloud Workstations API.
מוודאים ש-Google Cloud Storage API ו-Artifact Registry API נגישים ל-VPC בגבולות הגזרה לשירות. ההרשאה הזו נדרשת כדי להעביר קובצי אימג' לתחנת העבודה. אנחנו גם ממליצים לאפשר גישה ל-VPC ל-Cloud Logging API ול-Cloud Error Reporting API בגבולות הגזרה לשירות, למרות שזה לא נדרש כדי להשתמש ב-Cloud Workstations.
- מוודאים שאשכול תחנות העבודה הוא פרטי. הגדרת אשכול פרטי מונעת חיבורים לתחנות העבודה מחוץ לגבולות גזרה לשירות של ה-VPC. שירות Cloud Workstations מונע יצירה של אשכולות ציבוריים בגבולות הגזרה לשירות של VPC.
- חשוב לוודא שכתובות ה-IP הציבוריות מושבתות בהגדרות של תחנת העבודה. אם לא תעשו את זה, המכונות הווירטואליות בפרויקט יקבלו כתובות IP ציבוריות. מומלץ מאוד להשתמש באילוץ מדיניות הארגון
constraints/compute.vmExternalIpAccessכדי להשבית את כתובות ה-IP הציבוריות בכל המכונות הווירטואליות בגבולות הגזרה לשירות VPC. למידע נוסף, ראו הגבלת כתובות IP חיצוניות למכונות וירטואליות ספציפיות.
תוכלו לקרוא מידע נוסף על גבולות גזרה לשירות במאמר פרטים והגדרה של גבולות גזרה לשירות.
ארכיטקטורה
כשמגדירים אשכול של תחנות עבודה כפרטי, למישור הבקרה של האשכול יש רק כתובת IP פנימית. כלומר, לקוחות מהאינטרנט הציבורי לא יכולים להתחבר לתחנות העבודה ששייכות לאשכול תחנות העבודה. כדי להשתמש באשכול פרטי, צריך לחבר אותו באופן ידני לרשת של הענן הווירטואלי הפרטי (VPC) באמצעות נקודת קצה (endpoint) של Private Service Connect.
בהגדרות עם אשכולות פרטיים נדרשות שתי נקודות קצה (endpoints) של PSC:
כברירת מחדל, ב-Cloud Workstations נוצרת נקודת קצה נפרדת של PSC כדי לחבר את מישור הבקרה למכונות הווירטואליות של תחנות העבודה.
אתם צריכים ליצור נקודת קצה נוספת של PSC לאשכולות פרטיים. כדי להתחבר מהמכונה המקומית לתחנת עבודה באשכול פרטי, המכונה המקומית צריכה להיות מחוברת לרשת ה-VPC. משתמשים ב-Cloud VPN או ב-Cloud Interconnect כדי לחבר את הרשת החיצונית שבה פועלת המכונה לרשת ה-VPC. את נקודת הקצה הנוספת של ה-PSC צריך ליצור באותה רשת שאליה הרשת החיצונית מתחברת באמצעות Cloud VPN או Cloud Interconnect.
התרשים הבא ממחיש דוגמה לארכיטקטורה של אשכול פרטי:
לפני שמתחילים
לפני שמתחילים, צריך לבצע את שלבי ההגדרה הנדרשים הבאים:
- נכנסים לחשבון Google Cloud . אנחנו ממליצים למשתמשים חדשים ב- Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
מפעילים את Cloud Workstations API, אם הוא עדיין לא מופעל.
התפקידים שנדרשים כדי להפעיל ממשקי API
כדי להפעיל ממשקי API, צריך את ההרשאה
serviceusage.services.enable. אם אתם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד "בעלים" (roles/owner). אחרת, אתם יכולים לקבל את ההרשאה הזו דרך התפקיד "אדמין בממשק 'שימוש בשירות'" (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים? -
כדי ליצור הגדרות של תחנות עבודה, ודאו שיש לכם את התפקיד "אדמין של Cloud Workstations" ב-IAM בפרויקט. כדי לבדוק את תפקידי ה-IAM במסוף Google Cloud , נכנסים לדף IAM:
-
סביבות העבודה של Cloud Workstations מתארחות במכונות וירטואליות שמופעלות מקובצי אימג' ציבוריים של מערכת הפעלה שמותאמת לקונטיינרים (COS), שהוגדרו מראש ב-Compute Engine. אם אוכפים את האילוץ
constraints/compute.trustedimageProjectsשל מדיניות הארגון, צריך להגדיר אילוצי גישה לתמונות כדי לאפשר למשתמשים ליצור דיסקים לאתחול מ-projects/cos-cloudאו מכל התמונות הציבוריות. -
ב-Cloud Workstations משתמשים ב-Private Service Connect כדי להתחבר לשירותים שמנוהלים על ידי Google. אם אילוץ מדיניות הארגון
constraints/compute.restrictPrivateServiceConnectProducerנאכף בארגון שלכם, אתם צריכים להוסיף את Google כיצרן מורשה (under:organizations/433637338589). -
אם בארגון שלכם נאכף האילוץ
constraints/compute.disablePrivateServiceConnectCreationForConsumersשל מדיניות הארגון, אתם צריכים לוודא שנקודות הקצה של Private Service Connect שמתחברות ל-Google APIs (GOOGLE_APIS) מותרות. אם מגדירים אשכולות פרטיים, צריך לאפשר גם נקודות קצה שמתחברות לשירותים שפורסמו (SERVICE_PRODUCERS). -
אופציונלי: מפעילים את Container File System API כדי לאפשר הפעלה מהירה יותר של תחנת העבודה.
הפעלת Container File System API
מידע נוסף זמין במאמר צמצום זמן ההפעלה של תחנת העבודה באמצעות סטרימינג של קובצי אימג'.
יצירת אשכול פרטי
כדי ליצור אשכול פרטי:
נכנסים לדף Cloud Workstations במסוף Google Cloud .
עוברים לדף Cluster management של תחנת העבודה.
לוחצים על יצירה.
מזינים את הערך בשדה Name ובוחרים את הערך בשדה Region של אשכול תחנות העבודה.
בקטע Networking, בוחרים באפשרות Networks in this project.
בוחרים רשת ורשת משנה.
בקטע Gateway type, בוחרים באפשרות Private gateway.
אופציונלי: מציינים פרויקט אחד או יותר שמארחים את נקודת הקצה של Private Service Connect שמאפשרת גישת HTTP לאשכול הפרטי. כברירת מחדל, אפשר ליצור את נקודת הקצה הזו רק בפרויקט של אשכול תחנות העבודה ובפרויקט המארח של רשת ה-VPC (אם הם שונים). במקרה הצורך, אפשר לציין את הפרויקטים האלה גם אחרי יצירת האשכול.
לוחצים על יצירה. בזמן יצירת האשכול, הסטטוס שמופיע הוא Updating.
יצירת אשכול נמשכת כמה דקות. כשיצירת האשכול מסתיימת, יכול להיות שהסטטוס של האשכול יופיע כ-Degraded. אחרי שתשלימו את השלבים בקטע יצירת נקודת קצה של PSC, הסטטוס של האשכול ישתנה ל-Ready תוך כמה דקות.
הפעלת הקישוריות של אשכול פרטי
לקוחות לא יכולים להתחבר לתחנות עבודה באשכולות פרטיים של תחנות עבודה מהאינטרנט הציבורי. הלקוחות צריכים להיות ברשת שמתחברת לאשכול תחנות העבודה באמצעות Private Service Connect (PSC). כדי להתחבר לתחנת עבודה, פועלים לפי השלבים בקטע הזה:
יוצרים נקודת קצה (endpoint) מסוג PSC שמטרגטת את קובץ ה-service attachment של תחנת העבודה.
משתמשים ב-Cloud DNS כדי ליצור רשומת DNS שממפה את שם המארח של האשכול לנקודת הקצה של ה-PSC.
יצירת נקודת קצה מסוג Private Service Connect
כדי ליצור נקודת קצה של PSC:
במסוף Google Cloud , נכנסים לדף Private Service Connect.
לוחצים על הכרטיסייה Connected endpoints ואז על addConnect endpoint.
בשדה Target, בוחרים באפשרות Published service.
בשדה Target service, מזינים את ה-URI של צירוף השירות שנוצר בשביל אשכול תחנות העבודה. כדי למצוא את ה-URI, נכנסים לאשכול של תחנת העבודה במסוף ומחפשים את השדה Service attachment URI בקטע הגדרות רשת.
בשדה Endpoint, מזינים שם לנקודת הקצה.
בוחרים רשת לנקודת הקצה ואז בוחרים רשת משנה. הרשת הזו צריכה להיות הרשת שבה אתם רוצים להשתמש כדי להתחבר לתחנות העבודה, והיא חייבת להיות אותה רשת שאליה הרשת החיצונית מתחברת באמצעות Cloud VPN או Cloud Interconnect.
בוחרים כתובת IP לנקודת הקצה.
אם צריך כתובת IP חדשה, בוחרים באפשרות Create IP address:
- מזינים שם ותיאור (אופציונלי) לכתובת ה-IP.
- בקטע כתובת IP סטטית, בוחרים באפשרות הקצאה אוטומטית. כדי להשתמש בכתובת IP בהתאמה אישית, בוחרים באפשרות אני רוצה לבחור ומזינים את כתובת ה-IP שבה רוצים להשתמש.
- בקטע Purpose, בוחרים באפשרות Non-shared.
- לוחצים על Reserve.
בוחרים מרחב שמות מהרשימה הנפתחת או יוצרים מרחב שמות חדש. השדה Region מאוכלס על סמך רשת המשנה שנבחרה.
לוחצים על הוספת נקודת קצה.
מעתיקים את כתובת ה-IP של נקודת הקצה כדי להשתמש בה בקטע הבא, יצירת תחום DNS פרטי ורשומת DNS.
יצירת תחום DNS פרטי
כדי ליצור תחום DNS פרטי לאשכול תחנות העבודה הזה, צריך לפעול לפי השלבים הבאים ולהגדיר את שם ה-DNS ל-clusterHostname, שאפשר למצוא על ידי מעבר לאשכול תחנות העבודה במסוף.
במסוף Google Cloud , עוברים לדף יצירת תחום DNS.
בשדה Zone type, בוחרים באפשרות Private.
מזינים Zone name, למשל
private-workstations-cluster-zone.מזינים סיומת של שם DNS לאזור הפרטי. כל הרשומות באזור חולקות את הסיומת הזו. מגדירים את השם הזה בתור
clusterHostname.כדי למצוא את
clusterHostname, נכנסים לדף Cloud Workstations > Cluster management במסוף Google Cloud ולוחצים על אשכול תחנות העבודה כדי לראות את שם המארח.אופציונלי: מוסיפים תיאור.
בקטע אפשרויות, בוחרים באפשרות ברירת מחדל (פרטי).
בוחרים את הרשת שבה יצרתם את נקודת הקצה של ה-PSC בקטע הקודם, כי כתובת ה-IP תקפה רק ברשת הזו.
לוחצים על יצירה.
מידע נוסף על תחומי DNS פרטיים זמין במאמרי העזרה של Cloud DNS בנושא יצירת תחום פרטי ושיטות מומלצות לתחומים פרטיים ב-Cloud DNS.
יצירת רשומת DNS
כדי להוסיף רשומה שממפה את *.<clusterHostname> לכתובת ה-IP שנשמרה כשיצרתם את נקודת הקצה של Private Service Connect:
נכנסים לדף Cloud DNS zones במסוף Google Cloud .
לוחצים על השם של האזור המנוהל שאליו רוצים להוסיף את הרשומה.
בדף Zone details, לוחצים על Add Standard.
בדף Create record set, בשדה DNS name מזינים את הערך
*.<clusterHostname>.בשדה IP Address, מזינים את כתובת ה-IP ששמרתם לנקודת הקצה של Private Service Connect בקטע הקודם.
לוחצים על יצירה.
עכשיו רשת ה-VPC אמורה להיות מחוברת לאשכול תחנות העבודה, ואתם יכולים להתחבר לתחנות העבודה באמצעות הרשת הזו.
הפעלת פענוח DNS מקומי
כדי להשתמש בעורך שמוגדר כברירת מחדל בדפדפן בתחנת העבודה, צריך להשתמש בדפדפן ממכונה שמחוברת לרשת ה-VPC. אתם יכולים להשתמש ב-Cloud VPN או ב-Cloud Interconnect כדי להתחבר לרשת ה-VPC מהרשת החיצונית שבה אתם מריצים את הדפדפן.
כדי להתחבר מרשת חיצונית, צריך להגדיר DNS ברשת החיצונית. בדומה לשלבים הקודמים, אתם יכולים ליצור תחום DNS ל-clusterHostname ולהוסיף רשומה שממפה את *.<clusterHostname> לכתובת ה-IP שנשמרה כשיצרתם את נקודת הקצה של 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).