התחברות ל-Cloud SQL ל-PostgreSQL באמצעות שרת proxy ל-Cloud SQL Auth

בדף הזה מוסבר איך להתחבר ל-Cloud SQL מסביבת בדיקה מקומית באמצעות Cloud SQL Auth Proxy. שרת ה-proxy ל-Cloud SQL Auth מספק גישה מאובטחת למכונה שלכם ב-Cloud SQL בלי שתצטרכו להשתמש ברשתות מורשות או להגדיר SSL. באמצעות שרת ה-proxy ל-Cloud SQL Auth, אתם יכולים להתחבר למכונה שלכם ב-Cloud SQL בצורה מאובטחת.

ההוראות בדף הזה מיועדות לסביבת בדיקה בלבד, ואסור להשתמש בהן בסביבות ייצור. מידע נוסף על ההגדרה הנדרשת לסביבות ייצור זמין במאמרים שימוש בשרת proxy ל-Cloud SQL Auth בסביבת ייצור וחיבור באמצעות שרת proxy ל-Cloud SQL Auth.

לפני שמתחילים

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. מפעילים את ממשקי Google Cloud API הנדרשים.

    המסוף

    נכנסים לדף APIs במסוף Google Cloud .

    לדף APIs

    מפעילים את Cloud SQL Admin API.

    gcloud

    לוחצים על הלחצן הבא כדי לפתוח את Cloud Shell, שנותן גישה לשורת הפקודה של Google Cloud המשאבים ישירות מהדפדפן. אפשר להשתמש ב-Cloud Shell כדי להריץ את הפקודות של gcloud שמוצגות במדריך למתחילים הזה.

    פתיחת Cloud Shell

    מריצים את הפקודה gcloud services enable באמצעות Cloud Shell כדי להפעיל את ממשקי ה-API שנדרשים במדריך למתחילים הזה:

    gcloud services enable sqladmin.googleapis.com

    הפקודה הזו מפעילה את ממשקי ה-API הבאים:

    • Cloud SQL Admin API
  7. צריך לוודא שיש לכם בפרויקט את התפקיד או התפקידים הבאים: אדמין Cloud SQL‏ (roles/cloudsql.admin)

    בדיקת התפקידים

    1. נכנסים לדף IAM במסוף Google Cloud .

      כניסה לדף IAM
    2. בוחרים את הפרויקט.
    3. בעמודה Principal (חשבון המשתמש), מוצאים את כל השורות שבהן מופיע השם שלכם או של קבוצה שאתם נכללים בה. כדי לברר באילו קבוצות אתם נכללים, פנו לאדמין.

    4. בודקים את העמודה Role בכל השורות שבהן מצוין או מופיע השם שלכם, כדי לראות אם רשימת התפקידים כוללת את התפקידים הנדרשים.

    מתן התפקידים

    1. נכנסים לדף IAM במסוף Google Cloud .

      כניסה לדף IAM
    2. בוחרים את הפרויקט.
    3. לוחצים על Grant access.
    4. בשדה New principals, מזינים את מזהה המשתמש. ‫ בדרך כלל מזהה המשתמש הוא כתובת האימייל של חשבון Google.

    5. לוחצים על Select a role ומחפשים את התפקיד.
    6. כדי לתת עוד תפקידים, לוחצים על Add another role ומוסיפים אותם.
    7. לוחצים על Save.

יצירת מכונה של Cloud SQL

במדריך למתחילים הזה נשתמש במסוף Google Cloud . כדי להשתמש ב-CLI של gcloud, ב-curl או ב-PowerShell, אפשר לעיין במאמר בנושא יצירת מכונות.

  1. נכנסים לדף Cloud SQL Instances במסוף Google Cloud .

    כניסה לדף Cloud SQL Instances

  2. לוחצים על Create instance.
  3. בתפריט יצירת מופע, בוחרים באפשרות מופע חדש.
  4. לוחצים על Choose PostgreSQL (בחירת PostgreSQL).
  5. בשדה Instance ID (מזהה המופע), מזינים את הערך myinstance.
  6. בשדה סיסמה, מזינים סיסמה למשתמש postgres.
  7. לוחצים על Create instance.

    תועברו בחזרה לרשימת המופעים. אפשר ללחוץ על המופע החדש מיד כדי לראות את הפרטים, אבל הוא לא יהיה זמין לפעולות אחרות עד שהוא יאותחל ויתחיל לפעול.

‫Debian/Ubuntu

מתקינים את לקוח psql ממנהל החבילות:

sudo apt-get update
sudo apt-get install postgresql-client

‫CentOS/RHEL

מתקינים את לקוח psql ממנהל החבילות:

sudo yum install postgresql

openSUSE

מתקינים את לקוח psql ממנהל החבילות:

sudo zypper install postgresql

פלטפורמות אחרות

  1. מורידים את PostgreSQL Core Distribution לפלטפורמה שלכם מדף ההורדות של PostgreSQL. ‫
    Core Distribution כולל את לקוח psql.
  2. מתקינים את מסד הנתונים PostgreSQL לפי ההוראות בדף ההורדה.

התקנת לקוח של שרת proxy ל-Cloud SQL Auth

קובץ ה-Cloud SQL Auth Proxy הבינארי שאתם מורידים תלוי במערכת ההפעלה שלכם, ובסוג הליבה שלה (32 ביט או 64 ביט). ברוב המכשירים החדשים יותר נעשה שימוש בקרנל של 64 ביט. אם אתם לא בטוחים אם במחשב שלכם פועל ליבת 32 ביט או 64 ביט, אתם יכולים להשתמש בפקודה uname -a ב-Linux או ב-macOS. למידע נוסף על Windows, אפשר לעיין במסמכי התיעוד של Windows.

לפני שמתחילים, צריך לקבוע את הארכיטקטורה של המכונה.

אם מריצים את הפקודה ב-Linux או ב-Mac, אפשר למצוא את המידע הזה באמצעות הפקודה הבאה:

  uname -a
  

‏Linux‏ 64 סיביות

  1. מורידים את שרת ה-proxy ל-Cloud SQL Auth:
    curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.22.1/cloud-sql-proxy.linux.amd64
  2. הופכים את שרת ה-proxy ל-Cloud SQL Auth לקובץ הפעלה:
    chmod +x cloud-sql-proxy

‏Linux‏ 32 סיביות

  1. מורידים את שרת ה-proxy ל-Cloud SQL Auth:
    curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.22.1/cloud-sql-proxy.linux.386
  2. אם הפקודה curl לא נמצאה, מריצים את הפקודה sudo apt install curl וחוזרים על פקודת ההורדה.
  3. הופכים את שרת ה-proxy ל-Cloud SQL Auth לקובץ הפעלה:
    chmod +x cloud-sql-proxy

macOS‏ 64 סיביות

  1. מורידים את שרת ה-proxy ל-Cloud SQL Auth:
    curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.22.1/cloud-sql-proxy.darwin.amd64
  2. הופכים את שרת ה-proxy ל-Cloud SQL Auth לקובץ הפעלה:
    chmod +x cloud-sql-proxy

Mac M1

  1. מורידים את שרת ה-proxy ל-Cloud SQL Auth:
      curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.22.1/cloud-sql-proxy.darwin.arm64
      
  2. הופכים את שרת ה-proxy ל-Cloud SQL Auth לקובץ הפעלה:
      chmod +x cloud-sql-proxy
      

‏Windows‏ 64 סיביות

לוחצים לחיצה ימנית על https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.22.1/cloud-sql-proxy.x64.exe ובוחרים באפשרות שמירת קישור בשם כדי להוריד את שרת ה-proxy ל-Cloud SQL Auth. משנים את שם הקובץ ל-cloud-sql-proxy.exe.

‏Windows‏ 32 סיביות

לוחצים לחיצה ימנית על https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.22.1/cloud-sql-proxy.x86.exe ובוחרים באפשרות שמירת קישור בשם כדי להוריד את שרת ה-proxy ל-Cloud SQL Auth. משנים את שם הקובץ ל-cloud-sql-proxy.exe.

קובץ אימג' של Docker לשרת proxy ל-Cloud SQL Auth

לשרת ה-proxy ל-Cloud SQL Auth יש תמונות קונטיינר שונות, כמו distroless, alpine ו-buster. קובץ האימג' של קונטיינר ברירת המחדל של שרת proxy ל-Cloud SQL Auth משתמש ב-distroless, שלא מכיל מעטפת. אם אתם צריכים מעטפת או כלים קשורים, אתם יכולים להוריד תמונה שמבוססת על alpine או על buster. מידע נוסף זמין במאמר תמונות קונטיינר של Cloud SQL Auth Proxy.

אפשר למשוך את התמונה העדכנית ביותר למחשב המקומי באמצעות Docker באמצעות הפקודה הבאה:

docker pull gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.22.1

מערכת הפעלה אחרת

במערכות הפעלה אחרות שלא נכללות כאן, אפשר לקמפל את Cloud SQL Auth Proxy מהמקור.

איך מקבלים את שם החיבור של המופע

  1. נכנסים לדף Cloud SQL Instances במסוף Google Cloud .

    כניסה לדף Cloud SQL Instances

  2. לוחצים על שם המכונה כדי לפתוח את הדף סקירה כללית שלה.
  3. בקטע Connect to this instance (התחברות למופע הזה), מעתיקים את Connection name (שם החיבור). השם של החיבור הוא בפורמט projectID:region:instanceID.

הפעלת שרת proxy ל-Cloud SQL Auth

מפעילים את שרת ה-proxy ל-Cloud SQL Auth בטרמינל משלו כדי לעקוב אחרי הפלט שלו. מחליפים את INSTANCE_CONNECTION_NAME בשם החיבור של המכונה שהעתקתם בשלב הקודם.

בסביבות Linux, משתמשים בפקודה הזו כדי להפעיל את שרת ה-proxy ל-Cloud SQL Auth:

./cloud-sql-proxy INSTANCE_CONNECTION_NAME

ב-PowerShell ב-Windows, משתמשים בפקודה הזו כדי להפעיל את שרת ה-proxy ל-Cloud SQL Auth:

.\cloud-sql-proxy.exe INSTANCE_CONNECTION_NAME

מופיעה הודעה דומה לזו:

Listening on 127.0.0.1:5432 for INSTANCE_CONNECTION_NAME
Ready for new connections

מריצים את הפקודה הבאה אחרי שמחליפים את DB_NAME בשם של מסד הנתונים ב-Cloud SQL:

psql "host=127.0.0.1 port=5432 sslmode=disable dbname=DB_NAME user=postgres"

בהנחיה 'הזנת סיסמה:', מזינים את הסיסמה של חשבון PostgreSQL.

מוודאים שההנחיה של PostgreSQL מופיעה. התחברת למסד הנתונים שלך באמצעות לקוח psql.

חוזרים לחלון הטרמינל שבו הפעלתם את שרת ה-proxy ל-Cloud SQL Auth. אמורה להופיע הודעה דומה לזו:

New connection for myInstance

הסרת המשאבים

כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם בדף הזה, פועלים לפי השלבים הבאים:

  1. נכנסים לדף Cloud SQL Instances במסוף Google Cloud .

    כניסה לדף Cloud SQL Instances

  2. בוחרים את מופע myinstance כדי לפתוח את הדף פרטי המופע.
  3. בסרגל הסמלים בחלק העליון של הדף, לוחצים על מחיקה.
  4. בחלון Delete instance (מחיקת מכונה), מקלידים את שם המכונה ולוחצים על Delete (מחיקה).

שלבי ניקוי אופציונליים

אם אתם לא משתמשים בממשקי ה-API שהופעלו במסגרת ההפעלה המהירה הזו, אתם יכולים להשבית אותם.

  • ממשקי ה-API שהופעלו במדריך הזה למתחילים:
    • Cloud SQL Admin API
  1. נכנסים לדף APIs במסוף Google Cloud .

    לדף APIs

  2. בוחרים את Cloud SQL Admin API ולוחצים על הלחצן השבתת ה-API.

המאמרים הבאים