Looker PSC Northbound Regional Internal L7 ALB

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.

145ea4672c3a3b14.png

גישה דרומה, שנקראת גם PSC הפוך, מאפשרת לצרכן ליצור שירות שפורסם כבעלים כדי לאפשר ל-Looker לגשת לנקודות קצה (endpoints) בארגון, ב-VPC, לשירותים מנוהלים ולאינטרנט. אפשר לפרוס חיבורים דרומיים בכל אזור, ללא קשר למיקום שבו Looker PSC פרוס, כפי שמודגש באיור 2.

איור 2.

3edfcc67e195d082.png

מה תלמדו

  • דרישות הרשת
  • עדכון רשימת ההיתרים של Looker לגישה מצפון לדרום
  • יצירת קצה עורפי של Private Service Connect ב-VPC של הצרכן
  • אישורים של Google לעומת אישורים בחתימה עצמית

מה צריך להכין

def88091b42bfe4d.png

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

2f6bb87ef0e139b2.png

5. הגדרה ודרישות

הגדרת סביבה בקצב אישי

  1. נכנסים למסוף Google Cloud ויוצרים פרויקט חדש או משתמשים מחדש בפרויקט קיים. אם עדיין אין לכם חשבון Gmail או חשבון Google Workspace, עליכם ליצור חשבון.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • שם הפרויקט הוא השם המוצג של המשתתפים בפרויקט. זוהי מחרוזת תווים שלא משמשת את Google APIs. תמיד אפשר לעדכן אותו.
  • מזהה הפרויקט הוא ייחודי לכל הפרויקטים ב-Google Cloud ואי אפשר לשנות אותו אחרי שמגדירים אותו. מסוף Cloud יוצר מחרוזת ייחודית באופן אוטומטי. בדרך כלל לא משנה מה המחרוזת הזו. ברוב ה-codelabs תצטרכו להפנות למזהה הפרויקט (בדרך כלל מזהים אותו בתור PROJECT_ID). אם המזהה שנוצר לא מוצא חן בעיניכם, תוכלו ליצור מזהה אקראי אחר. לחלופין, אפשר לנסות כתובת משלכם ולבדוק אם היא זמינה. לא ניתן לשנות את השם אחרי השלב הזה, והוא יישאר למשך כל פרק הזמן של הפרויקט.
  • לידיעתכם, יש ערך שלישי, מספר פרויקט, שמשתמשים בו בחלק מממשקי ה-API. מידע נוסף על כל שלושת הערכים האלה זמין במסמכי התיעוד.
  1. בשלב הבא, כדי להשתמש במשאבים או ב-API של Cloud, תצטרכו להפעיל את החיוב במסוף Cloud. השלמת הקודלאב הזה לא תעלה הרבה, אם בכלל. כדי להשבית את המשאבים ולמנוע חיובים אחרי סיום המדריך, אפשר למחוק את המשאבים שיצרתם או למחוק את הפרויקט. משתמשים חדשים ב-Google Cloud זכאים להשתתף בתוכנית תקופת ניסיון בחינם בסך 300$.

הפעלת Cloud Shell

אפשר להפעיל את Google Cloud מרחוק מהמחשב הנייד, אבל בסדנת הקוד הזו נשתמש ב-Google Cloud Shell, סביבת שורת פקודה שפועלת ב-Cloud.

במסוף Google Cloud, לוחצים על סמל Cloud Shell בסרגל הכלים שבפינה הימנית העליונה:

55efc1aaa7a4d3ad.png

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

7ffe5cbb04455448.png

המכונה הווירטואלית הזו כוללת את כל הכלים הדרושים למפתחים. יש בה ספריית בית בנפח מתמיד של 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 הוא הדומיין המותאם אישית

5424ce99136d5b3a.png

דוגמה ל-OAuth

בהמשך מופיעה דוגמה לפרטי כניסה ל-OAuth למקורות מורשים ולקריאה חוזרת (callback) לתת-הדומיין looker.cosmopup.com.

c7e5b8c7d2cc6a01.png

9. אישורים

אפשר ליצור אישורים של Compute Engine או של Certificate Manager. אפשר להשתמש באחת מהשיטות הבאות כדי ליצור אישורים באמצעות Certificate Manager:

10. הוספה לרשימת ההיתרים של VPC ב-Looker

הצגת רשימת ה-VPCs המורשים

בקטע הבא תלמדו איך להשתמש בממשק המשתמש של מסוף Cloud כדי להציג את רשימת ה-VPCs המורשים של Looker.

במסוף Cloud, עוברים אל:

Looker → מכונה של Looker → פרטים

בדוגמה הבאה, אין רשומות ברשימה Allowed VPCs:

ad33177a2d721ea7.png

עדכון רשימת ה-VPCs המורשים

כדי לעדכן את מכונה של Looker כך שתתמוך בגישה מצפון לדרום, מוסיפים את looker-psc-demo כ-VPC מורשה.

במסוף Cloud, עוברים אל:

Looker → Looker Instance → Edit

cbbc069688890b82.png

Connections (חיבורים) → Allowed VPCs (רשתות VPC מותרות)

חשוב לבחור את הפרויקט שבו פרוס looker-psc-demo, ואז את ה-VPC looker-psc-demo ואז ללחוץ על 'המשך'.

dc931643e1b220a.png

3e26d16d83cceae9.png

אימות של רשימת ה-VPCs המורשים

הצגת רשימת ה-VPC המורשים המעודכנת

במסוף Cloud, עוברים אל:

Looker → מכונה של Looker → פרטים

e34664c867929c66.png

11. יצירת קצה עורפי מסוג PSC

Looker PSC כבעלים של שירות מנוהל יוצר URI של צירוף שירות, שמשמש את צרכני השירות לפריסה של נקודות קצה וקצוות עורפיים כדי לקבל גישה ל-Looker מצפון לדרום. בשלב הבא, תזהו את ה-URI של צירוף השירות של Looker ב-PSC, ולאחר מכן תיצורו קצה עורפי של קבוצת נקודות קצה ברשת (NEG) ב-Private Service Connect ב-VPC של הצרכן.

זיהוי הקובץ המצורף לשירות PSC של Looker

במסוף Cloud, עוברים אל Service Attachment URI ומעתיקים אותו:

Looker → מכונה של Looker → פרטים

a253f94e946a1eef.png

יצירת קבוצת נקודות הקצה ברשת של 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 (יצירת מאזן עומסים)

e3474ca153d7c55a.png

בוחרים באפשרויות הבאות:

c80afa6a28b6d922.png

יצירת תצורת הקצה העורפי

בוחרים את האפשרויות הבאות ומתאימים אישית את הסביבה בהתאם לפריסה:

  • האזור שבו פורסת את תשתית הרשת
  • רשת: looker-psc-demo
  • רשת משנה לשרתי proxy בלבד מאוכלסת באופן אוטומטי על סמך האזור והרשת שלכם

115627dc54d7a582.png

b3eaa88dd02a95c1.png

cf519145f0259061.png

530527bc9273e002.png

כללי ניתוב

אין צורך בהגדרות מיוחדות

53a80d74b3c7dd56.png

הגדרת הקצה הקדמי

29faa25397025fb4.png

538da2b4930d243b.png

bbc13e921681dd65.png

מוודאים שמאזן העומסים מופעל ומקבלים את כתובת ה-IP.

במסוף Cloud → Network Services (שירותי רשת) → Load Balancing (איזון עומסים) → looker-ilb-alb

abc7d02b4c951c73.png

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 היברידי לארגון, צריך לבצע את השלבים הבאים:

גישה לממשק המשתמש של Looker

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

בהמשך מופיעה דוגמה (אישור לא מהימן) לגישה לדומיין המותאם אישית של Looker, looker.cosmopup.com, שמעניק גישה צפונה לממשק המשתמש של Looker:

ae43d0d0d7136044.png

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 הם מדהימים!!

c911c127bffdee57.jpeg

מה השלב הבא?

כדאי לעיין בחלק מהקורסים האלה ב-Codelab…

קריאה נוספת וסרטונים

מסמכי עזר