1. מבוא
ב-codelab הזה תבצעו חיבור דרומה ל-Cloud SQL שנפרס באמצעות Private Service Connect כבעלים של שירות.
Private Service Connect הוא יכולת של הרשתות ב-Google Cloud שמאפשרת לצרכנים לגשת לשירותים מנוהלים באופן פרטי מתוך רשת ה-VPC שלהם. באופן דומה, היא מאפשרת ליוצרים של שירותים מנוהלים לארח את השירותים האלה ברשתות VPC נפרדות משלהם ולהציע חיבור פרטי לצרכנים שלהם. לדוגמה, כשמשתמשים ב-Private Service Connect כדי לגשת ל-Looker, אתם צרכני השירות ו-Google היא בעלת השירות המנוהל, כפי שמודגש באיור 1.
גישה דרומה, שנקראת גם PSC הפוך, מאפשרת לצרכן ליצור שירות שפורסם כבעלים כדי לאפשר ל-Looker לגשת לנקודות קצה (endpoints) בארגון, ב-VPC, לשירותים מנוהלים ולאינטרנט. אפשר לפרוס חיבורים דרומיים בכל אזור, ללא קשר למיקום שבו Looker PSC פרוס, כפי שמודגש באיור 2.
מה תלמדו
- יצירת שירות הפקה של מכונה ב-Cloud SQL ב-Private Service Connect
- יצירת נקודת קצה של Private Service Connect ב-Looker כצרכן שירות
מה צריך להכין
- פרויקט ב-Google Cloud עם הרשאות בעלים
- מכונה קיימת של Looker PSC
2. מה תפַתחו
תגדירו מכונה של Cloud SQL PSC שפרוסה כספק שירות ומשויכת ל-Looker PSC כצרכן שירות.
הפעולות הבאות מאמתות את הגישה לשירות ה-Producer:
- יצירת נקודת קצה מסוג PSC ב-Looker שמשויכת לקובץ המצורף של שירות ההפקה
- שימוש במסוף Looker כדי ליצור חיבור של מסד נתונים ל-Cloud SQL PSC
- בדיקת הקישוריות ל-Cloud SQL PSC באמצעות אימות של סכימה מוגדרת מראש וגישה אליה
3. טופולוגיית ה-Codelab
4. הגדרה ודרישות
הגדרת סביבה בקצב אישי
- נכנסים למסוף 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, משפרת מאוד את ביצועי הרשת ואת האימות. אתם יכולים לבצע את כל העבודה בקודלאב הזה בדפדפן. אין צורך להתקין שום דבר.
5. לפני שמתחילים
הפעלת ממשקי 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
6. זיהוי הפרויקט של Looker PSC
כדי ליצור מכונה של Cloud SQL PSC, צריך לזהות פרויקטים מורשים של PSC. לכן, צריך לספק את פרויקט הדייר של Looker PSC בזמן יצירת המכונה של Cloud SQL, או לעדכן אותו אם משתמשים במכונה קיימת.
איך מוצאים את הפרויקט של Looker PSC באמצעות gcloud
ב-Cloud Shell, מעדכנים את [INSTANCE_NAME] בשם המכונה של Looker PSC כדי לקבל את מזהה הפרויקט של Looker PSC:
gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json | grep -i lookerServiceAttachmentUri
בפלט לדוגמה, t7ec792caf2a609d1-tp הוא הפרויקט של Looker PSC:
gcloud looker instances describe looker-psc-instance --region=us-central1 --format=json | grep -i lookerServiceAttachmentUri
"lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
איך מוצאים את הפרויקט של Looker PSC באמצעות מסוף Cloud
במסוף Cloud, עוברים אל:
Looker → מכונה של Looker PSC
7. יצירת מכונה של Cloud SQL לצורך ייצור
בקטע הבא תלמדו איך ליצור מכונה של Cloud SQL PSC לצורכי בדיקה, שתופעל עם סיסמה מוגדרת מראש שציינה את פרויקט Looker PSC ברשימת הפרויקטים המורשים ב-PSC.
יצירת PSC ב-Cloud SQL
ב-Cloud Shell, יוצרים מכונה ומפעילים את Private Service Connect, ומעדכנים את [INSTANCE_PROJECT] במזהה הפרויקט שלכם ב-PSC של Looker.
gcloud sql instances create cloud-sql-psc-demo \
--project=$project \
--region=$region \
--enable-private-service-connect \
--allowed-psc-projects=[INSTANCE_PROJECT] \
--availability-type=regional \
--no-assign-ip \
--cpu=2 --memory=4GB \
--database-version=MYSQL_8_0 \
--enable-bin-log \
--root-password=password123
דוגמה:
gcloud sql instances create cloud-sql-psc-demo \
--project=$project \
--region=$region \
--enable-private-service-connect \
--allowed-psc-projects=t7ec792caf2a609d1-tp \
--availability-type=regional \
--no-assign-ip \
--cpu=2 --memory=4GB \
--database-version=MYSQL_8_0 \
--enable-bin-log \
--root-password=password123
קבלת הקישור לשירות Cloud SQL
אחרי שיוצרים מכונה של Cloud SQL עם Private Service Connect מופעל, צריך לקבל את ה-URI של קובץ המצורף לשירות, שישמש בשלב מאוחר יותר ליצירת נקודת הקצה של Private Service Connect ב-Looker.
ב-Cloud Shell, מבצעים את הפעולות הבאות:
gcloud sql instances describe [INSTANCE_NAME] --project=$project | grep -i pscServiceAttachmentLink
פלט לדוגמה שמציג את URI של צירוף השירות:
projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155
gcloud sql instances describe cloud-sql-psc-demo --project=$project | grep -i pscServiceAttachmentLink:
pscServiceAttachmentLink: projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155
אפשר לקבל את הקובץ Cloud SQL PSC Service Attachment דרך מסוף Cloud:
במסוף Cloud, עוברים אל:
SQL → מכונת SQL → חיבורים
8. יצירת חיבור לנקודת קצה של PSC ב-Looker
בקטע הבא נסביר איך לשייך את השירות של Cloud SQL Producers Service Attachment ל-PSC של Looker Core באמצעות הדגלים -psc-service-attachment ב-Cloud Shell לדומיין יחיד.
ב-Cloud Shell, יוצרים את השיוך של psc על ידי עדכון הפרמטרים הבאים בהתאם לסביבה שלכם:
- INSTANCE_NAME: השם של המכונה של Looker (ליבה של Google Cloud).
- DOMAIN_1: sql.database1.com
- SERVICE_ATTACHMENT_1: URI שצולם בתיאור של המכונה של Cloud SQL PSC
- REGION: האזור שבו מתארחת המכונה של Looker (ליבה של Google Cloud)
ב-Cloud Shell, מבצעים את הפעולות הבאות:
gcloud looker instances update INSTANCE_NAME \
--psc-service-attachment domain=DOMAIN_1,attachment=SERVICE_ATTACHMENT_URI_1 \
--region=REGION
דוגמה:
gcloud looker instances update looker-psc-instance \
--psc-service-attachment domain=sql.database1.com,attachment=projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155 \
--region=us-central1
ב-Cloud Shell, מוודאים שהסטטוס connectionStatus של serviceAttachments הוא 'ACCEPTED'. חשוב לעדכן את INSTANCE_NAME של Looker PSC:
gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json
דוגמה:
gcloud looker instances describe looker-psc-instance --region=$region --format=json
דוגמה:
user@cloudshell$ gcloud looker instances describe looker-psc-instance --region=$region --format=json
{
"adminSettings": {},
"createTime": "2024-08-23T00:00:45.339063195Z",
"customDomain": {
"domain": "looker.cosmopup.com",
"state": "AVAILABLE"
},
"encryptionConfig": {},
"lookerVersion": "24.14.18",
"name": "projects/project/locations/us-central1/instances/looker-psc-instance",
"platformEdition": "LOOKER_CORE_ENTERPRISE_ANNUAL",
"pscConfig": {
"allowedVpcs": [
"projects/project/global/networks/looker-psc-demo",
"projects/project/global/networks/looker-shared-vpc"
],
"lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
"serviceAttachments": [
{
"connectionStatus": "ACCEPTED",
"localFqdn": "sql.database1.com",
"targetServiceAttachmentUri": "projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155"
}
]
},
"pscEnabled": true,
"state": "ACTIVE",
"updateTime": "2024-09-04T14:40:05.613026012Z"
}
אימות נקודת הקצה של PSC במסוף Cloud
אפשר לאמת את החיבור ל-PSC דרך מסוף Cloud
במסוף Cloud, עוברים אל:
Looker → מכונה של Looker → פרטים
9. שילוב של PSC של Looker עם PSC של Cloud SQL
בקטע הבא תלמדו איך משתמשים במסוף Looker כדי ליצור חיבור למסד נתונים למופע PSC של Cloud SQL.
עוברים אל אדמין → מסד נתונים → חיבורים → בוחרים באפשרות הוספת חיבור.
ממלאים את פרטי החיבור לפי צילום המסך שבהמשך, ובוחרים באפשרות התחברות.
החיבור מוגדר עכשיו
10. אימות החיבור ל-Looker
בקטע הבא תלמדו איך לאמת את קישוריות Looker למכונה של Cloud SQL PSC באמצעות הפעולה 'בדיקה' ב-Looker.
עוברים אל Data Connection (חיבור נתונים) ADMIN → DATABASE → CONNECTIONS → cloud-sql-psc-demo → Test
אחרי שבוחרים באפשרות 'בדיקה', Looker מתחבר למסד הנתונים postgres-database כפי שמתואר בהמשך:
הסרת המשאבים
מחיקת רכיבי מעבדה ממסוף Cloud Shell אחד
gcloud sql instances delete cloud-sql-psc-demo -q
11. מזל טוב
סיימת להגדיר ולאמת את הקישוריות ל-Cloud SQL PSC באמצעות מסוף Looker שמופעל על ידי Private Service Connect.
יצרתם מכונות PSC של Cloud SQL בתור שירות הבעלים ונקודת הקצה (endpoint) של PSC ב-Looker, שאפשרו קישוריות לשירות הבעלים.
Cosmopup חושב שהקורסים של Codelab הם מדהימים!!
מה השלב הבא?
כדאי לעיין בחלק מהקורסים האלה ב-Codelab…
- שימוש ב-Private Service Connect לפרסום ולצריכה של שירותים
- התחברות לשירותים מקומיים דרך Hybrid Networking באמצעות Private Service Connect ומאזן עומסים פנימי של שרת TCP Proxy
- גישה לכל ה-codelabs שפורסמו בנושא Private Service Connect