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

1. מבוא

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

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

145ea4672c3a3b14.png

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

259493afd914f68b.png

מה תלמדו

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

מה תצטרכו

def88091b42bfe4d.png

2. מה תפַתחו

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

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

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

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. בשלב הבא, תצטרכו להפעיל את החיוב במסוף Cloud כדי להשתמש במשאבי Cloud או בממשקי API של Cloud. השלמת ה-codelab הזה לא תעלה לכם הרבה, אם בכלל. כדי להשבית את המשאבים ולמנוע חיובים נוספים אחרי שתסיימו את המדריך הזה, תוכלו למחוק את המשאבים שיצרתם או למחוק את הפרויקט. משתמשים חדשים ב-Google Cloud זכאים לתוכנית תקופת ניסיון בחינם בשווי 300$.

מפעילים את Cloud Shell

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

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

55efc1aaa7a4d3ad.png

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

7ffe5cbb04455448.png

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

1367ec0136aa5ad6.png

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

18940483f646ed15.png

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

2d4684d722d31e4b.png

9fa909f826dec963.png

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

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

עוברים אל ADMIN → DATABASE → CONNECTIONS → (ניהול → מסד נתונים → חיבורים →) בוחרים באפשרות ADD CONNECTION (הוספת חיבור).

ממלאים את פרטי החיבור לפי צילום המסך שלמטה ולוחצים על CONNECT (חיבור).

eb3ef74d3ae71f1a.png

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

29017202470ad81f.png

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

בקטע הבא מוסבר איך לאמת את הקישוריות של Looker למופע Cloud SQL PSC באמצעות הפעולה 'test' של Looker.

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

אחרי שבוחרים באפשרות Test,‏ Looker מתחבר למסד הנתונים של postgres כמו שמוצג בהמשך:

d9729caf9a61bfc2.png

הסרת המשאבים

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

c911c127bffdee57.jpeg

מה השלב הבא?

כדאי לעיין ב-Codelabs הבאים…

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

מאמרי עזרה