1. מבוא
ב-Codelab הזה תבצעו חיבור דרומה ל-Cloud SQL שנפרס באמצעות Private Service Connect כבעלים של השירות המנוהל.
Private Service Connect היא יכולת של רשתות Google Cloud שמאפשרת לצרכנים לגשת לשירותים מנוהלים באופן פרטי מתוך רשת ה-VPC שלהם. באופן דומה, הוא מאפשר לספקי שירותים מנוהלים לארח את השירותים האלה ברשתות VPC נפרדות משלהם ולהציע חיבור פרטי לצרכנים שלהם. לדוגמה, כשמשתמשים ב-Private Service Connect כדי לגשת ל-Looker, המשתמש הוא צרכן השירות ו-Google היא ספק השירות, כפי שמודגש באיור 1.

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

מה תלמדו
- יצירת שירות הפקה של מכונת Cloud SQL באמצעות Private Service Connect
- יצירת נקודת קצה של Private Service Connect ב-Looker כצרכן שירות
מה תצטרכו
- פרויקט ב-Google Cloud עם הרשאות בעלים
- מופע קיים של Looker PSC

2. מה תפַתחו
תקימו מכונת PSC של Cloud SQL שנפרסה כספק שירות שמשויך ל-Looker PSC כצרכן שירות.
הפעולות הבאות מאמתות את הגישה לשירות Producer:
- יצירת נקודת קצה של PSC ב-Looker שמשויכת לקובץ המצורף של שירות ההפקה
- שימוש ב-Looker Console כדי ליצור חיבור למסד נתונים ב-Cloud SQL PSC
- בדיקת הקישוריות ל-PSC של Cloud SQL באמצעות אימות וגישה לסכימה מוגדרת מראש
3. טופולוגיית Codelab

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



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

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

המכונה הווירטואלית הזו כוללת את כל הכלים שדרושים למפתחים. יש בה ספריית בית בנפח מתמיד של 5GB והיא פועלת ב-Google Cloud, מה שמשפר מאוד את הביצועים והאימות ברשת. אפשר לבצע את כל העבודה ב-codelab הזה בדפדפן. לא צריך להתקין שום דבר.
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 Console
ב-Cloud Console, עוברים אל:
Looker → Looker PSC Instance

7. יצירת מופע של Cloud SQL של ספק
בקטע הבא, תיצרו מופע PSC של Cloud SQL שמשמש למטרות בדיקה, שנפרס עם סיסמה מוגדרת מראש שמציינת את פרויקט ה-PSC של Looker ברשימת פרויקטי ה-PSC המותרים.
יצירת Cloud SQL PSC
ב-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 אפשר לקבל את Cloud SQL PSC Service Attachment:
ב-Cloud Console, עוברים אל:
SQL → מכונת SQL → חיבורים

8. יצירת חיבור לנקודת קצה של PSC ב-Looker
בקטע הבא, תשייכו את קובץ השירות של Cloud SQL Producers ל-Looker Core PSC באמצעות השימוש בדגלים –psc-service-attachment ב-Cloud Shell עבור דומיין יחיד.
ב-Cloud Shell, יוצרים את השיוך של ה-PSC על ידי עדכון הפרמטרים הבאים כך שיתאימו לסביבה שלכם:
- INSTANCE_NAME: השם של המכונה של Looker (Google Cloud Core).
- DOMAIN_1: sql.database1.com
- SERVICE_ATTACHMENT_1: URI שתועד כשמתארים את מופע Cloud SQL PSC
- אזור: האזור שבו מתארחת המכונה של Looker (Google Cloud Core)
ב-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. חשוב לעדכן את שם המופע של 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 Console
אפשר לאמת את חיבור ה-PSC דרך Cloud Console
ב-Cloud Console, עוברים אל:
Looker → מכונה של Looker → פרטים


9. שילוב של Looker PSC עם Cloud SQL PSC
בקטע הבא תשתמשו במסוף Looker כדי ליצור חיבור למסד נתונים למופע PSC של Cloud SQL.
עוברים אל ADMIN → DATABASE → CONNECTIONS → (ניהול → מסד נתונים → חיבורים →) בוחרים באפשרות ADD CONNECTION (הוספת חיבור).
ממלאים את פרטי החיבור לפי צילום המסך שלמטה ולוחצים על CONNECT (חיבור).

החיבור מוגדר עכשיו

10. אימות החיבור ל-Looker
בקטע הבא מוסבר איך לאמת את הקישוריות של Looker למופע Cloud SQL PSC באמצעות הפעולה 'test' של Looker.
עוברים אל Data Connection (חיבור נתונים) ADMIN (ניהול) → DATABASE (מסד נתונים) → CONNECTIONS (חיבורים) → cloud-sql-psc-demo → Test (בדיקה)
אחרי שבוחרים באפשרות Test, Looker מתחבר למסד הנתונים של postgres כמו שמוצג בהמשך:

הסרת המשאבים
מחיקה של רכיבי מעבדה ממסוף Cloud Shell יחיד
gcloud sql instances delete cloud-sql-psc-demo -q
11. מזל טוב
הגדרתם ואימתתם בהצלחה את הקישוריות ל-Cloud SQL PSC באמצעות Looker Console שמבוסס על Private Service Connect.
יצרתם מופעים של Cloud SQL PSC כשירות Producer ואת נקודת הקצה של Looker PSC שמאפשרת קישוריות לשירות Producer.
Cosmopup חושב ש-codelabs הם מדהימים!!

מה השלב הבא?
כדאי לעיין ב-Codelabs הבאים…
- שימוש ב-Private Service Connect לפרסום ולצריכה של שירותים
- התחברות לשירותים מקומיים דרך רשת היברידית באמצעות Private Service Connect ומאזן עומסים פנימי של TCP Proxy
- גישה לכל ה-codelab שפורסמו בנושא Private Service Connect