התחברות ל-Cloud SQL ל-PostgreSQL מ-Cloud Run
במאמר הזה נסביר איך לפרוס אפליקציה לדוגמה ב-Cloud Run שמחוברת למופע PostgreSQL באמצעות מסוף Google Cloud ואפליקציית לקוח.
בהנחה שמשלימים את כל השלבים בזמן, העלות של המשאבים שנוצרו במדריך למתחילים הזה היא בדרך כלל פחות מדולר אחד (USD).
לחצו על תראו לי איך כדי לקרוא הסבר מפורט על המשימה ישירות במסוף Google Cloud :
לפני שמתחילים
- נכנסים לחשבון 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.
- מוודאים שיש לכם את ההרשאות הנדרשות כדי להשלים את המדריך הזה.
-
מפעילים את Cloud APIs שנדרשים להרצת אפליקציית דוגמה של Cloud SQL ב-Cloud Run.
המסוף
לוחצים על Enable APIs כדי להפעיל את ממשקי ה-API שנדרשים להפעלה המהירה הזו.
ההגדרה הזו מאפשרת שימוש בממשקי ה-API הבאים:
- Compute Engine API
- Cloud SQL Admin API
- Cloud Run API
- Container Registry API
- Cloud Build API
- Service Networking API
gcloud
לוחצים על הלחצן הבא כדי לפתוח את Cloud Shell, שנותן גישה לשורת הפקודה של Google Cloud המשאבים ישירות מהדפדפן. אפשר להשתמש ב-Cloud Shell כדי להריץ את הפקודות של
gcloudשמוצגות במדריך למתחילים הזה.מריצים את הפקודה
gcloudהבאה באמצעות Cloud Shell:gcloud services enable compute.googleapis.com sqladmin.googleapis.com run.googleapis.com \ artifactregistry.googleapis.com cloudbuild.googleapis.com servicenetworking.googleapis.com
הפקודה הזו מפעילה את ממשקי ה-API הבאים:
- Compute Engine API
- Cloud SQL Admin API
- Cloud Run API
- Artifact Registry API
- Cloud Build API
- Service Networking API
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לפריסת אפליקציה לדוגמה ב-Cloud Run שמחוברת למופע PostgreSQL, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט שבו אתם רוצים להשתמש:
-
יצירה או מחיקה של מאגר Artifact Registry:
Artifact Registry Writer (
roles/artifactregistry.writer) -
יצירה או מחיקה של מופע, מסד נתונים ומשתמש:
תפקיד האדמין ב-Cloud SQL (
roles/cloudsql.admin). -
יצירה או מחיקה של חשבון שירות ב-IAM:
התפקיד 'אדמין של חשבון שירות' (
roles/iam.serviceAccountAdmin). -
יצירת חיבור:
- אדמין ברשתות שירות (
roles/servicenetworking.networksAdmin)) - אדמין של שימוש בשירות (
roles/serviceusage.serviceUsageAdmin).
- אדמין ברשתות שירות (
- צפייה באובייקטים ובמטא-נתונים שלהם: Storage Object Viewer (roles/storage.objectViewer)
- הענקת הרשאות לניהול מדיניות בפרויקטים: אדמין IAM של פרויקט (roles/resourcemanager.projectIamAdmin).
- גישת קריאה וכתיבה לכל המשאבים של Cloud Run: Cloud Run Developer (roles/run.developer).
- פריסה וניהול של משאבים שנפרסו ממקור Cloud Run: Cloud Run Source Developer (roles/run.sourceDeveloper).
- כדי לאפשר גישה ציבורית: אדמין של Cloud Run (roles/run.admin).
- כדי להריץ פעולות כחשבון שירות: משתמש בחשבון שירות (roles/iam.serviceAccountUser).
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
הגדרת Cloud SQL
יצירת מכונה של Cloud SQL
יצירת מסד נתונים
כדי ליצור מסד נתונים:
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- בוחרים באפשרות
quickstart-instance. - בתפריט הניווט SQL, בוחרים באפשרות Databases (מסדי נתונים).
- לוחצים על יצירת מסד נתונים.
- בשדה שם מסד הנתונים בתיבת הדו-שיח מסד נתונים חדש, מזינים
quickstart-db. - לוחצים על יצירה.
gcloud
מריצים את הפקודה gcloud
sql databases create כדי ליצור מסד נתונים.
gcloud sql databases create quickstart-db --instance=quickstart-instance
יצירת משתמש
כדי ליצור משתמש:
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
- בתפריט הניווט של SQL, בוחרים באפשרות משתמשים.
- לוחצים על הוספת חשבון משתמש.
- בדף הוספת חשבון משתמש למופע instance_name, מוסיפים את הפרטים הבאים:
- בשדה שם משתמש מזינים
quickstart-user. - בשדה סיסמה, מציינים סיסמה למשתמש במסד הנתונים. חשוב לשמור את הערך הזה כי תצטרכו אותו בשלב מאוחר יותר במדריך הזה למתחילים.
- בשדה שם משתמש מזינים
- לוחצים על הוספה.
gcloud
לפני שמריצים את הפקודה הבאה, מחליפים את המשתנים הבאים בערכים:
- PASSWORD מחליפים בסיסמה של המשתמש במסד הנתונים. חשוב לשמור את הערך הזה כי תצטרכו אותו בשלב מאוחר יותר במדריך הזה למתחילים.
מריצים את הפקודה gcloud sql users create כדי ליצור את המשתמש.
gcloud sql users create quickstart-user \ --instance=quickstart-instance \ --password=PASSWORD
מגבלות האורך של שמות המשתמשים ב-Cloud SQL זהות לאלה של PostgreSQL מקומי.
פריסת אפליקציית לדוגמה ב-Cloud Run
הגדרת חשבון שירות ב-Cloud Run
המסוף
-
נכנסים לדף IAM Service accounts במסוף Google Cloud .
- לוחצים על התפריט פעולות לצד חשבון השירות, ואז לוחצים על ניהול גישה.
- לוחצים על Add another role, מחפשים את התפקיד Cloud SQL Client (
roles/cloudsql.client) ובוחרים אותו בתפריט הנפתח Role. - לוחצים על Add another role, ואז מחפשים ובוחרים את Storage Object Viewer (
roles/storage.ObjectViewer) בתפריט הנפתח Role. - לוחצים על Save.
gcloud
-
מריצים את הפקודה
gcloudכדי לקבל רשימה של חשבונות השירות בפרויקט:gcloud iam service-accounts list
- מעתיקים את כתובת האימייל של חשבון השירות של Compute Engine שמוגדר כברירת מחדל.
- מריצים את הפקודה הבאה כדי להוסיף את התפקיד Cloud SQL Client לחשבון השירות שמוגדר כברירת מחדל ב-Compute Engine:
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role="roles/cloudsql.client"
- מריצים את הפקודה הבאה כדי להוסיף את התפקיד Storage Object Viewer לחשבון השירות שמוגדר כברירת המחדל של Compute Engine:
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role="roles/storage.ObjectViewer"
הגדרת אפליקציה לדוגמה ב-Cloud SQL
אחרי שיש לכם מכונה, מסד נתונים וחשבון שירות עם הרשאות לקוח ב-Cloud SQL, אתם יכולים להגדיר אפליקציה לדוגמה כדי להתחבר למכונה שלכם ב-Cloud SQL.
פריסת האפליקציה לדוגמה
השלבים לפריסת הדוגמה ב-Cloud Run תלויים בסוג כתובת ה-IP שהקציתם למכונה של Cloud SQL.
שיטת החיבור של התמונה משתנה בהתאם למשתני הסביבה שהוגדרו.
- כדי להתחבר באמצעות TCP, מגדירים את הערך של משתנה הסביבה
INSTANCE_HOST. שיטת החיבור הזו מכבדת את האישורים והיציאות שהוגדרו כמשתני סביבה. - כדי להתחבר באמצעות שקעי Unix, צריך להגדיר את הערך של משתנה הסביבה
INSTANCE_UNIX_SOCKET.לא מגדירים את הערך של משתנה הסביבה
INSTANCE_HOST.אין תמיכה מובנית ב-Java בשקעי Unix. אם האפליקציה שלכם כתובה ב-Java, אתם צריכים להשתמש ב-Cloud SQL Java Connector.
- כדי להתחבר באמצעות אחד ממחברי השפה של Cloud SQL, צריך להגדיר את הערך של משתנה הסביבה
INSTANCE_CONNECTION_NAME.אל תגדירו את הערכים של משתני הסביבה הבאים:
INSTANCE_HOSTINSTANCE_UNIX_SOCKETDB_PORTDB_ROOT_CERTDB_CERTDB_KEY
3307.
הסרת המשאבים
כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם בדף הזה, פועלים לפי השלבים הבאים:
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- בוחרים את מופע
quickstart-instanceכדי לפתוח את הדף פרטי המופע. - בסרגל הסמלים בחלק העליון של הדף, לוחצים על מחיקה.
- בתיבת הדו-שיח Delete instance (מחיקת מכונה), מקלידים
quickstart-instanceולוחצים על Delete (מחיקה) כדי למחוק את המכונה. -
נכנסים לדף Cloud Run במסוף Google Cloud .
- מסמנים את התיבה לצד שם השירות
quickstart-service. - לוחצים על מחיקה בחלק העליון של הדף Cloud Run.
שלבי ניקוי אופציונליים
אם אתם לא משתמשים בתפקיד הלקוח של Cloud SQL שהקציתם לחשבון השירות של Compute Engine, אתם יכולים להסיר אותו.
-
נכנסים לדף Service accounts במסוף Google Cloud .
- לוחצים על סמל העריכה (שנראה כמו עיפרון) של חשבון ה-IAM שנקרא חשבון שירות שמוגדר כברירת מחדל ב-Compute Engine.
- מוחקים את התפקיד Cloud SQL client.
- לוחצים על Save.
אם אתם לא משתמשים בממשקי ה-API שהופעלו במסגרת ההפעלה המהירה הזו, אתם יכולים להשבית אותם.
- ממשקי ה-API שהופעלו במדריך הזה למתחילים:
- Compute Engine API
- Cloud SQL Admin API
- Cloud Run API
- Container Registry API
- Cloud Build API
נכנסים לדף APIs במסוף Google Cloud .
בוחרים את ה-API שרוצים להשבית ולוחצים על הלחצן השבתת API.
המאמרים הבאים
בהתאם לצרכים שלכם, תוכלו לקרוא מידע נוסף על יצירת מכונות Cloud SQL.אפשר גם לקרוא על יצירת משתמשי PostgreSQL ומסדי נתונים עבור מופע Cloud SQL.
מידע נוסף על תמחור זמין במאמר תמחור של Cloud SQL ל-PostgreSQL.
למידע נוסף על:
- הגדרת מכונת Cloud SQL עם כתובת IP ציבורית.
- הגדרת מכונת Cloud SQL עם כתובת IP פרטית.
בנוסף, תוכלו לקרוא על חיבור למופע Cloud SQL מאפליקציות אחרות של Google Cloud:

