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

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

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

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

  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. מפעילים את ממשקי ה-API הנדרשים של Google Cloud.

    המסוף

    נכנסים לדף 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. בתפריט Create instance, בוחרים באפשרות New instance.
  4. לוחצים על Choose PostgreSQL.
  5. בשדה Instance ID, מזינים את הערך myinstance.
  6. בשדה Password, מזינים סיסמה למשתמש 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. ‫
    הפצת הליבה כוללת את לקוח psql.
  2. מתקינים את מסד הנתונים של PostgreSQL לפי ההוראות שבדף ההורדה.

התקנת הלקוח של Cloud SQL Auth Proxy

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

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

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

  uname -a
  

‏Linux‏ 64 סיביות

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

‏Linux‏ 32 סיביות

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

macOS‏ 64 סיביות

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

Mac M1

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

‏Windows‏ 64 סיביות

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

‏Windows‏ 32 סיביות

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

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

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

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

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

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

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

איך מקבלים את שם החיבור של המכונה

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

    כניסה לדף Cloud SQL Instances

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

הפעלת Cloud SQL Auth Proxy

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

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

./cloud-sql-proxy INSTANCE_CONNECTION_NAME

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

.\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"

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

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

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

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 ולוחצים על הלחצן Disable API.

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