התחברות ל-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.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
מפעילים את ממשקי Google Cloud API הנדרשים.
המסוף
נכנסים לדף APIs במסוף Google Cloud .
מפעילים את Cloud SQL Admin API.gcloud
לוחצים על הלחצן הבא כדי לפתוח את Cloud Shell, שנותן גישה לשורת הפקודה של Google Cloud המשאבים ישירות מהדפדפן. אפשר להשתמש ב-Cloud Shell כדי להריץ את הפקודות של
gcloudשמוצגות במדריך למתחילים הזה.מריצים את הפקודה
gcloud services enableבאמצעות Cloud Shell כדי להפעיל את ממשקי ה-API שנדרשים במדריך למתחילים הזה:gcloud services enable sqladmin.googleapis.com
הפקודה הזו מפעילה את ממשקי ה-API הבאים:
- Cloud SQL Admin API
-
צריך לוודא שיש לכם בפרויקט את התפקיד או התפקידים הבאים: אדמין Cloud SQL (
roles/cloudsql.admin)בדיקת התפקידים
-
נכנסים לדף IAM במסוף Google Cloud .
כניסה לדף IAM - בוחרים את הפרויקט.
-
בעמודה Principal (חשבון המשתמש), מוצאים את כל השורות שבהן מופיע השם שלכם או של קבוצה שאתם נכללים בה. כדי לברר באילו קבוצות אתם נכללים, פנו לאדמין.
- בודקים את העמודה Role בכל השורות שבהן מצוין או מופיע השם שלכם, כדי לראות אם רשימת התפקידים כוללת את התפקידים הנדרשים.
מתן התפקידים
-
נכנסים לדף IAM במסוף Google Cloud .
כניסה לדף IAM - בוחרים את הפרויקט.
- לוחצים על Grant access.
-
בשדה New principals, מזינים את מזהה המשתמש. בדרך כלל מזהה המשתמש הוא כתובת האימייל של חשבון Google.
- לוחצים על Select a role ומחפשים את התפקיד.
- כדי לתת עוד תפקידים, לוחצים על Add another role ומוסיפים אותם.
- לוחצים על Save.
-
יצירת מכונה של Cloud SQL
במדריך למתחילים הזה נשתמש במסוף Google Cloud . כדי להשתמש ב-CLI של gcloud, ב-curl או ב-PowerShell, אפשר לעיין במאמר בנושא יצירת מכונות.
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- לוחצים על Create instance.
- בתפריט יצירת מופע, בוחרים באפשרות מופע חדש.
- לוחצים על Choose PostgreSQL (בחירת PostgreSQL).
- בשדה Instance ID (מזהה המופע), מזינים את הערך
myinstance. - בשדה סיסמה, מזינים סיסמה למשתמש
postgres. לוחצים על 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
פלטפורמות אחרות
- מורידים את PostgreSQL Core Distribution לפלטפורמה שלכם מדף ההורדות של PostgreSQL.
Core Distribution כולל את לקוח psql. - מתקינים את מסד הנתונים 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 סיביות
- מורידים את שרת ה-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
- הופכים את שרת ה-proxy ל-Cloud SQL Auth לקובץ הפעלה:
chmod +x cloud-sql-proxy
Linux 32 סיביות
- מורידים את שרת ה-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
- אם הפקודה
curlלא נמצאה, מריצים את הפקודהsudo apt install curlוחוזרים על פקודת ההורדה. - הופכים את שרת ה-proxy ל-Cloud SQL Auth לקובץ הפעלה:
chmod +x cloud-sql-proxy
macOS 64 סיביות
- מורידים את שרת ה-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
- הופכים את שרת ה-proxy ל-Cloud SQL Auth לקובץ הפעלה:
chmod +x cloud-sql-proxy
Mac M1
- מורידים את שרת ה-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
- הופכים את שרת ה-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 מהמקור.איך מקבלים את שם החיבור של המופע
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- לוחצים על שם המכונה כדי לפתוח את הדף סקירה כללית שלה.
- בקטע 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 על המשאבים שבהם השתמשתם בדף הזה, פועלים לפי השלבים הבאים:
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- בוחרים את מופע
myinstanceכדי לפתוח את הדף פרטי המופע. - בסרגל הסמלים בחלק העליון של הדף, לוחצים על מחיקה.
- בחלון Delete instance (מחיקת מכונה), מקלידים את שם המכונה ולוחצים על Delete (מחיקה).
שלבי ניקוי אופציונליים
אם אתם לא משתמשים בממשקי ה-API שהופעלו במסגרת ההפעלה המהירה הזו, אתם יכולים להשבית אותם.
- ממשקי ה-API שהופעלו במדריך הזה למתחילים:
- Cloud SQL Admin API
נכנסים לדף APIs במסוף Google Cloud .
בוחרים את Cloud SQL Admin API ולוחצים על הלחצן השבתת ה-API.