1. מבוא
ב-codelab הזה תלמדו ליצור מאזן עומסים פנימי לאפליקציות ברמה L7 באזור מסוים וקצה עורפי של Private Service Connect כדי לקבל גישה מצפון ל-Looker. כדי לקבל גישה מ-Looker ל-VPC של הצרכן, צריך להוסיף את ה-VPC של הצרכן לרשימת ההיתרים של מכונה של Looker PSC.
Private Service Connect הוא יכולת של הרשתות ב-Google Cloud שמאפשרת לצרכנים לגשת לשירותים מנוהלים באופן פרטי מתוך רשת ה-VPC שלהם. באופן דומה, היא מאפשרת ליוצרים של שירותים מנוהלים לארח את השירותים האלה ברשתות VPC נפרדות משלהם ולהציע חיבור פרטי לצרכנים שלהם. לדוגמה, כשמשתמשים ב-Private Service Connect כדי לגשת ל-Looker, אתם צרכני השירות ו-Google היא בעלת השירות המנוהל, כפי שמודגש באיור 1.
איור 1.
גישה דרומה, שנקראת גם PSC הפוך, מאפשרת לצרכן ליצור שירות שפורסם כבעלים כדי לאפשר ל-Looker לגשת לנקודות קצה (endpoints) בארגון, ב-VPC, לשירותים מנוהלים ולאינטרנט. אפשר לפרוס חיבורים דרומיים בכל אזור, ללא קשר למיקום שבו Looker PSC פרוס, כפי שמודגש באיור 2.
איור 2.
מה תלמדו
- דרישות הרשת
- עדכון רשימת ההיתרים של Looker לגישה מצפון לדרום
- יצירת קצה עורפי של Private Service Connect ב-VPC של הצרכן
- אישורים של Google לעומת אישורים בחתימה עצמית
מה צריך להכין
- פרויקט ב-Google Cloud עם הרשאות בעלים
- דומיין רשום
- מכונה קיימת של Looker PSC
2. מה תפַתחו
תיצרו רשת צרכן ברשימה המורשית, looker-psc-demo, כדי לפרוס מאזן עומסים פנימי של אפליקציות L7 אזורי ו-NEG לקצה עורפי של PSC. לפרטים נוספים, אפשר לעיין בדף הסיכום של מאזן העומסים והאישורים.
3. דרישות הרשת
בהמשך מפורטות הדרישות לרשת:
רכיבים | תיאור |
VPC (looker-psc-demo) | VPC במצב מותאם אישית |
PSC NEG Subnet | משמש להקצאת כתובת IP לקבוצת נקודות הקצה ברשת |
תת-רשת ל-Proxy בלבד | לכל אחד משרתי ה-proxy של מאזן העומסים מוקצית כתובת IP פנימית. לחבילות שנשלחות משרת proxy למכונה וירטואלית בקצה העורפי או לנקודת קצה יש כתובת IP של מקור מרשת המשנה של שרת ה-proxy בלבד. |
שירות לקצה העורפי | שירות לקצה העורפי משמש כגשר בין מאזן העומסים לבין המשאבים בקצה העורפי. במדריך, שירות הקצה העורפי משויך ל-NEG של PSC. |
4. טופולוגיית ה-Codelab
5. הגדרה ודרישות
הגדרת סביבה בקצב אישי
- נכנסים למסוף Google Cloud ויוצרים פרויקט חדש או משתמשים מחדש בפרויקט קיים. אם עדיין אין לכם חשבון Gmail או חשבון Google Workspace, עליכם ליצור חשבון.
- שם הפרויקט הוא השם המוצג של המשתתפים בפרויקט. זוהי מחרוזת תווים שלא משמשת את Google APIs. תמיד אפשר לעדכן אותו.
- מזהה הפרויקט הוא ייחודי לכל הפרויקטים ב-Google Cloud ואי אפשר לשנות אותו אחרי שמגדירים אותו. מסוף Cloud יוצר מחרוזת ייחודית באופן אוטומטי. בדרך כלל לא משנה מה המחרוזת הזו. ברוב ה-codelabs תצטרכו להפנות למזהה הפרויקט (בדרך כלל מזהים אותו בתור
PROJECT_ID
). אם המזהה שנוצר לא מוצא חן בעיניכם, תוכלו ליצור מזהה אקראי אחר. לחלופין, אפשר לנסות כתובת משלכם ולבדוק אם היא זמינה. לא ניתן לשנות את השם אחרי השלב הזה, והוא יישאר למשך כל פרק הזמן של הפרויקט. - לידיעתכם, יש ערך שלישי, מספר פרויקט, שמשתמשים בו בחלק מממשקי ה-API. מידע נוסף על כל שלושת הערכים האלה זמין במסמכי התיעוד.
- בשלב הבא, כדי להשתמש במשאבים או ב-API של Cloud, תצטרכו להפעיל את החיוב במסוף Cloud. השלמת הקודלאב הזה לא תעלה הרבה, אם בכלל. כדי להשבית את המשאבים ולמנוע חיובים אחרי סיום המדריך, אפשר למחוק את המשאבים שיצרתם או למחוק את הפרויקט. משתמשים חדשים ב-Google Cloud זכאים להשתתף בתוכנית תקופת ניסיון בחינם בסך 300$.
הפעלת Cloud Shell
אפשר להפעיל את Google Cloud מרחוק מהמחשב הנייד, אבל בסדנת הקוד הזו נשתמש ב-Google Cloud Shell, סביבת שורת פקודה שפועלת ב-Cloud.
במסוף Google Cloud, לוחצים על סמל Cloud Shell בסרגל הכלים שבפינה הימנית העליונה:
ההקצאה והחיבור לסביבת העבודה אמורים להימשך רק כמה רגעים. בסיום, אמור להופיע משהו כזה:
המכונה הווירטואלית הזו כוללת את כל הכלים הדרושים למפתחים. יש בה ספריית בית בנפח מתמיד של 5GB והיא פועלת ב-Google Cloud, משפרת מאוד את ביצועי הרשת ואת האימות. אתם יכולים לבצע את כל העבודה בקודלאב הזה בדפדפן. אין צורך להתקין שום דבר.
6. לפני שמתחילים
הפעלת ממשקי API
ב-Cloud Shell, מוודאים שמזהה הפרויקט מוגדר:
gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
echo $project
echo $region
מפעילים את כל השירותים הנדרשים:
gcloud services enable compute.googleapis.com
7. רשת של צרכן
בקטע הבא תיצורו את הרשת של הצרכן שתתעדכן ברשימת ההיתרים של VPC ב-Looker PSC.
רשת VPC
ב-Cloud Shell, מבצעים את הפעולות הבאות:
gcloud compute networks create looker-psc-demo --subnet-mode custom
יצירת תת-רשתות
ב-Cloud Shell, יוצרים את תת-הרשת של קבוצת נקודות הקצה ברשת של הצרכן:
gcloud compute networks subnets create consumer-psc-neg-subnet --network looker-psc-demo --range 172.16.30.0/28 --region $region --enable-private-ip-google-access
ב-Cloud Shell, יוצרים את תת-הרשת הפנימית של מאזן העומסים של האפליקציות:
gcloud compute networks subnets create consumer-ilb-subnet --network looker-psc-demo --range 172.16.40.0/28 --region $region --enable-private-ip-google-access
ב-Cloud Shell, יוצרים את תת-הרשת של שרת ה-proxy האזורי של הבעלים:
gcloud compute networks subnets create $region-proxy-only-subnet \
--purpose=REGIONAL_MANAGED_PROXY \
--role=ACTIVE \
--region=$region \
--network=looker-psc-demo \
--range=10.10.10.0/24
8. יצירת דומיין מותאם אישית
כדי ליצור דומיין מותאם אישית, צריך לבצע את השלבים הבאים:
בדוגמה הבאה, looker.cosmopup.com הוא הדומיין המותאם אישית
דוגמה ל-OAuth
בהמשך מופיעה דוגמה לפרטי כניסה ל-OAuth למקורות מורשים ולקריאה חוזרת (callback) לתת-הדומיין looker.cosmopup.com.
9. אישורים
אפשר ליצור אישורים של Compute Engine או של Certificate Manager. אפשר להשתמש באחת מהשיטות הבאות כדי ליצור אישורים באמצעות Certificate Manager:
- אישורים אזוריים בניהול עצמי. מידע נוסף על יצירת אישורים בניהול עצמי אזוריים ועל שימוש בהם זמין במאמר פריסה של אישור בניהול עצמי אזורי. אין תמיכה במפות אישורי SSL.
- אישורים אזוריים בניהול Google. אין תמיכה במפות אישורי SSL. מערכת Certificate Manager תומכת בסוגי האישורים האזוריים הבאים בניהול Google:
- אישורים אזוריים שמנוהלים על ידי Google עם הרשאת DNS לכל פרויקט. מידע נוסף זמין במאמר פריסה של אישור אזורי בניהול Google.
- אישורים אזוריים (פרטיים) בניהול Google באמצעות שירות של רשות אישורים. מידע נוסף זמין במאמר פריסה של אישור אזורי בניהול Google באמצעות שירות CA.
10. הוספה לרשימת ההיתרים של VPC ב-Looker
הצגת רשימת ה-VPCs המורשים
בקטע הבא תלמדו איך להשתמש בממשק המשתמש של מסוף Cloud כדי להציג את רשימת ה-VPCs המורשים של Looker.
במסוף Cloud, עוברים אל:
Looker → מכונה של Looker → פרטים
בדוגמה הבאה, אין רשומות ברשימה Allowed VPCs:
עדכון רשימת ה-VPCs המורשים
כדי לעדכן את מכונה של Looker כך שתתמוך בגישה מצפון לדרום, מוסיפים את looker-psc-demo כ-VPC מורשה.
במסוף Cloud, עוברים אל:
Looker → Looker Instance → Edit
Connections (חיבורים) → Allowed VPCs (רשתות VPC מותרות)
חשוב לבחור את הפרויקט שבו פרוס looker-psc-demo, ואז את ה-VPC looker-psc-demo ואז ללחוץ על 'המשך'.
אימות של רשימת ה-VPCs המורשים
הצגת רשימת ה-VPC המורשים המעודכנת
במסוף Cloud, עוברים אל:
Looker → מכונה של Looker → פרטים
11. יצירת קצה עורפי מסוג PSC
Looker PSC כבעלים של שירות מנוהל יוצר URI של צירוף שירות, שמשמש את צרכני השירות לפריסה של נקודות קצה וקצוות עורפיים כדי לקבל גישה ל-Looker מצפון לדרום. בשלב הבא, תזהו את ה-URI של צירוף השירות של Looker ב-PSC, ולאחר מכן תיצורו קצה עורפי של קבוצת נקודות קצה ברשת (NEG) ב-Private Service Connect ב-VPC של הצרכן.
זיהוי הקובץ המצורף לשירות PSC של Looker
במסוף Cloud, עוברים אל Service Attachment URI ומעתיקים אותו:
Looker → מכונה של Looker → פרטים
יצירת קבוצת נקודות הקצה ברשת של PSC
ב-Cloud Shell, מבצעים את הפעולות הבאות ומוודאים לעדכן את psc-target-service:
gcloud compute network-endpoint-groups create looker-northbound-neg \
--network-endpoint-type=private-service-connect \
--psc-target-service=[UPDATE WITH YOU LOOKER SERVICE ATTACHMENT URI] \
--region=$region \
--network=looker-psc-demo \
--subnet=consumer-psc-neg-subnet
דוגמה:
gcloud compute network-endpoint-groups create looker-northbound-neg \
--network-endpoint-type=private-service-connect \
--psc-target-service=projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183 \
--region=$region \
--network=looker-psc-demo \
--subnet=consumer-psc-neg-subnet
אימות יצירת קבוצה בקצה הרשת של PSC
ב-Cloud Shell, מבצעים את הפעולות הבאות ומוודאים שהערך של pscConnectionStatus אושר:
gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus:
דוגמה:
user@cloudshell$ gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus:
pscConnectionStatus: ACCEPTED
יצירת מאזן עומסים פנימי לאפליקציות באזור
בשלבים הבאים נעזרים במסוף Cloud כדי ליצור את מאזן העומסים הפנימי האזורי של האפליקציות, תוך שיוך האישורים שנוצרו להגדרות הקצה הקדמי.
במסוף Cloud, עוברים אל:
Network Services (שירותי רשת) → Load Balancing (איזון עומסים) → Create Load Balancer (יצירת מאזן עומסים)
בוחרים באפשרויות הבאות:
יצירת תצורת הקצה העורפי
בוחרים את האפשרויות הבאות ומתאימים אישית את הסביבה בהתאם לפריסה:
- האזור שבו פורסת את תשתית הרשת
- רשת: looker-psc-demo
- רשת משנה לשרתי proxy בלבד מאוכלסת באופן אוטומטי על סמך האזור והרשת שלכם
כללי ניתוב
אין צורך בהגדרות מיוחדות
הגדרת הקצה הקדמי
מוודאים שמאזן העומסים מופעל ומקבלים את כתובת ה-IP.
במסוף Cloud → Network Services (שירותי רשת) → Load Balancing (איזון עומסים) → looker-ilb-alb
12. רזולוציית DNS
רזולוציית ה-DNS לדומיין המותאם אישית יכולה להיות סמכותית בארגון או ב-Cloud DNS. במדריך נתאר איך להגדיר את Cloud DNS כשרת הרלוונטי לדומיין המותאם אישית של Looker. כדי להפעיל את רזולוציית ה-DNS של GCP בארגון, צריך להפעיל את מדיניות השרתים הנכנסים. כשיוצרים מדיניות שרת נכנסת, Cloud DNS יוצר נקודות כניסה של מדיניות שרת נכנסת ברשת ה-VPC שאליה חלה מדיניות השרת. נקודות הכניסה של מדיניות השרת הנכנסת הן כתובות IPv4 פנימיות שמקורן בטווח כתובות ה-IPv4 הראשי של כל תת-רשת ברשת ה-VPC הרלוונטית, מלבד תת-רשתות של שרת proxy בלבד.
בקטע הבא, נוצרת תחום DNS פרטי לדומיין המותאם אישית של Looker, looker.cosmopup.com ורשומת A שמכילה את כתובת ה-IP של מאזן העומסים.
13. יצירת תחום DNS פרטי
יוצרים את Cloud DNS Private Zone ב-Cloud Shell.
gcloud dns --project=$projectid managed-zones create looker-cosmopup-dns --description="" --dns-name="looker.cosmopup.com." --visibility="private" --networks="https://compute.googleapis.com/compute/v1/projects/$projectid/global/networks/looker-psc-demo"
ב-Cloud Shell, יוצרים את רשומת ה-A שמכילה את כתובת ה-IP של מאזן העומסים, שהתקבלה בשלב הקודם.
gcloud dns --project=$projectid record-sets create looker.cosmopup.com. --zone="looker-cosmopup-dns" --type="A" --ttl="300" --rrdatas="<insert-your-ip>"
דוגמה:
gcloud dns --project=$projectid record-sets create looker.cosmopup.com. --zone="looker-cosmopup-dns" --type="A" --ttl="300" --rrdatas="172.16.20.7"
בשלב הבא, צריך להגדיר רשת היברידית (למשל Interconnect, HA-VPN) בין VPC של looker-psc-demo לבין הרשת המקומית כדי לאפשר קישוריות.
כדי ליצור קישוריות של NEG היברידי לארגון, צריך לבצע את השלבים הבאים:
- בחירת מוצר של Network Connectivity | Google Cloud
- בארכיטקטורה של רכז וקשתות עם קישור בין רשתות VPC שכנות, ה-NEG המעורב פורס באותו VPC שבו נמצא Cloud Router (רכז)
- מוודאים שחומות האש המקומיות מעודכנות כך שיתאימו לטווח של תת-הרשת של שרת ה-proxy בלבד, כי תת-הרשת הזו משמשת ככתובת ה-IP של המקור לתקשורת עם עומסי העבודה המקומיים.
- מעדכנים את ה-DNS המקומי בכתובת ה-IP להעברה נכנסת בתור פותר ה-DNS של looker.cosomopup.com
גישה לממשק המשתמש של Looker
עכשיו, כשמאזן העומסים פועל, אפשר לגשת לדומיין המותאם אישית של Looker דרך דפדפן אינטרנט. חשוב לציין שעשויה להופיע אזהרה בהתאם לסוג האישור שבו אתם משתמשים, למשל אישור לא מהימן לעומת אישור מהימן.
בהמשך מופיעה דוגמה (אישור לא מהימן) לגישה לדומיין המותאם אישית של Looker, looker.cosmopup.com, שמעניק גישה צפונה לממשק המשתמש של Looker:
14. הסרת המשאבים
במסוף Cloud Shell אחד, מוחקים את רכיבי המעבדה:
gcloud compute forwarding-rules delete regional-internal-alb-fr --region=$region -q
gcloud compute target-https-proxies delete regional-internal-alb-target-proxy --region=$region -q
gcloud compute url-maps delete regional-internal-alb --region=$region -q
gcloud compute backend-services delete looker-psc-neg-backend-svc --region=$region -q
gcloud compute addresses delete regional-alb-static-ip --region=$region -q
gcloud compute network-endpoint-groups delete looker-northbound-neg --region=$region -q
gcloud compute networks delete looker-psc-demo -q
15. מזל טוב
מזל טוב, הגדרתם ואימתתם את הקישוריות מצפון לדרום ל-Looker באמצעות דומיין של לקוח ומאזן עומסים פנימי לאפליקציות אזוריות.
יצרתם את התשתית של הצרכן, למדתם איך ליצור PSC NEG, דומיין בהתאמה אישית והכרתם את האפשרויות השונות של האישורים. יש כל כך הרבה דברים מעניינים שאפשר לעשות עם Looker.
Cosmopup חושב שהקורסים של Codelab הם מדהימים!!
מה השלב הבא?
כדאי לעיין בחלק מהקורסים האלה ב-Codelab…
- שימוש ב-Private Service Connect לפרסום ולצריכה של שירותים
- התחברות לשירותים מקומיים דרך Hybrid Networking באמצעות Private Service Connect ומאזן עומסים פנימי של TCP Proxy
- גישה לכל ה-codelabs שפורסמו בנושא Private Service Connect
קריאה נוספת וסרטונים
מסמכי עזר
- שימוש באישורי SSL בניהול עצמי | איזון עומסים | Google Cloud
- פריסה של אישור אזורי שמנוהל על ידי Google
- יצירת קצה עורפי של Private Service Connect | VPC | Google Cloud
- יצירת קצה עורפי של Private Service Connect | VPC | Google Cloud
- יצירת מכונה של Private Service Connect ב-Looker (ליבה של Google Cloud)
- איך מפרסמים שירות באמצעות Private Service Connect