גישה מ-Looker PSC ל-Cloud SQL PSC בכיוון דרום

מידע על Codelab זה
schedule46 דקות
subjectהעדכון האחרון: 1 באוקטובר 2024
account_circleנכתב על ידי Deepak Michael

ב-codelab הזה תבצעו חיבור דרומה ל-Cloud SQL שנפרס באמצעות Private Service Connect כבעלים של שירות.

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

145ea4672c3a3b14.png

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

259493afd914f68b.png

מה תלמדו

  • יצירת שירות הפקה של מכונה ב-Cloud SQL ב-Private Service Connect
  • יצירת נקודת קצה של Private Service Connect ב-Looker כצרכן שירות

מה צריך להכין

def88091b42bfe4d.png

2. מה תפַתחו

תגדירו מכונה של Cloud SQL PSC שפרוסה כספק שירות ומשויכת ל-Looker PSC כצרכן שירות.

הפעולות הבאות מאמתות את הגישה לשירות ה-Producer:

  • יצירת נקודת קצה מסוג PSC ב-Looker שמשויכת לקובץ המצורף של שירות ההפקה
  • שימוש במסוף Looker כדי ליצור חיבור של מסד נתונים ל-Cloud SQL PSC
  • בדיקת הקישוריות ל-Cloud SQL PSC באמצעות אימות של סכימה מוגדרת מראש וגישה אליה

3. טופולוגיית ה-Codelab

1e7035ea608d7d23.png

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

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

  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, משפרת מאוד את ביצועי הרשת ואת האימות. אתם יכולים לבצע את כל העבודה בקודלאב הזה בדפדפן. אין צורך להתקין שום דבר.

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

1367ec0136aa5ad6.png

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 → חיבורים

18940483f646ed15.png

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 → פרטים

2d4684d722d31e4b.png

9fa909f826dec963.png

9. שילוב של PSC של Looker עם PSC של Cloud SQL

בקטע הבא תלמדו איך משתמשים במסוף Looker כדי ליצור חיבור למסד נתונים למופע PSC של Cloud SQL.

עוברים אל אדמין → מסד נתונים → חיבורים → בוחרים באפשרות הוספת חיבור.

ממלאים את פרטי החיבור לפי צילום המסך שבהמשך, ובוחרים באפשרות התחברות.

eb3ef74d3ae71f1a.png

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

29017202470ad81f.png

10. אימות החיבור ל-Looker

בקטע הבא תלמדו איך לאמת את קישוריות Looker למכונה של Cloud SQL PSC באמצעות הפעולה 'בדיקה' ב-Looker.

עוברים אל Data Connection (חיבור נתונים) ADMIN → DATABASE → CONNECTIONS → cloud-sql-psc-demo → Test

אחרי שבוחרים באפשרות 'בדיקה', Looker מתחבר למסד הנתונים postgres-database כפי שמתואר בהמשך:

d9729caf9a61bfc2.png

הסרת המשאבים

מחיקת רכיבי מעבדה ממסוף 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 הם מדהימים!!

c911c127bffdee57.jpeg

מה השלב הבא?

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

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

מסמכי עזר