התחברות ל-Cloud SQL ל-PostgreSQL מהסביבה הגמישה של App Engine

במאמר הזה מוסבר איך לפרוס אפליקציה לדוגמה בסביבה גמישה של App Engine שמחוברת למופע PostgreSQL באמצעות מסוף Google Cloud ואפליקציית לקוח.

בהנחה שמשלימים את כל השלבים בזמן, העלות של המשאבים שנוצרו במדריך למתחילים הזה היא בדרך כלל פחות מדולר אחד (USD).

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

  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. מפעילים את ממשקי Cloud API שנדרשים להרצת אפליקציית לדוגמה של Cloud SQL בסביבה גמישה של App Engine.

    המסוף

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

    הפעלת ממשקי API

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

    • Cloud SQL Admin API
    • Compute Engine API
    • Cloud Build API
    • Cloud Logging API

    בלחיצה על הכפתור, אתם גם מפעילים את הסביבה הגמישה של Google App Engine.

    gcloud

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

    פתיחת Cloud Shell

    מריצים את הפקודה gcloud הבאה באמצעות Cloud Shell:

    gcloud services enable appengineflex.googleapis.com sqladmin.googleapis.com \
    compute.googleapis.com cloudbuild.googleapis.com logging.googleapis.com

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

    • Cloud SQL Admin API
    • Compute Engine API
    • Cloud Build API
    • Cloud Logging API

    הפעלת הפקודה שלמעלה מפעילה גם את הסביבה הגמישה של Google App Engine.

הגדרת Cloud SQL

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

יצירת מסד נתונים

כדי ליצור מסד נתונים:

המסוף

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

    כניסה לדף Cloud SQL Instances

  2. בוחרים באפשרות quickstart-instance.
  3. בתפריט הניווט SQL, בוחרים באפשרות Databases (מסדי נתונים).
  4. לוחצים על  יצירת מסד נתונים.
    1. בשדה שם מסד הנתונים בתיבת הדו-שיח מסד נתונים חדש, מזינים quickstart-db.
    2. לוחצים על יצירה.

gcloud

מריצים את הפקודה gcloud sql databases create כדי ליצור מסד נתונים.

gcloud sql databases create quickstart-db --instance=quickstart-instance

יצירת משתמש

המסוף

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

    כניסה לדף Cloud SQL Instances

  2. בוחרים את מופע PostgreSQL‏ quickstart-instance שיצרתם.
  3. בתפריט הניווט SQL, בוחרים באפשרות Users (משתמשים).
  4. לוחצים על הוספת חשבון משתמש.
  5. בדף Add a user account to instance quickstart-instance (הוספת חשבון משתמש למכונה quickstart-instance), מוסיפים את הפרטים הבאים:
    1. בשדה שם משתמש, מזינים את הערך quickstart-user.
    2. בשדה סיסמה, מציינים סיסמה למשתמש במסד הנתונים. חשוב לשמור את הסיסמה הזו כי יהיה צורך בה בהמשך המדריך למתחילים.
  6. לוחצים על הוספה.

gcloud

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

  1. PASSWORD מחליפים בסיסמה של המשתמש במסד הנתונים. חשוב לשמור את הערך הזה כי תצטרכו אותו בשלב מאוחר יותר במדריך הזה למתחילים.

מריצים את הפקודה gcloud sql users create כדי ליצור את המשתמש.

gcloud sql users create quickstart-user \
--instance=quickstart-instance \
--password=PASSWORD

מגבלות האורך של שמות המשתמשים ב-Cloud SQL זהות לאלה של PostgreSQL מקומי.

פריסת אפליקציה לדוגמה בסביבה הגמישה של App Engine

יצירת אפליקציית App Engine

יוצרים אפליקציית App Engine בפרויקט Google Cloud . הפעולה הזו מפעילה את שירות App Engine, יוצרת אפליקציית App Engine שמוגדרת כברירת מחדל ויוצרת חשבון שירות של App Engine שמשמש לחיבור ל-Cloud SQL.

המסוף

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

    מעבר אל App Engine

  2. לוחצים על יצירת אפליקציה.
  3. בתפריט הנפתח Select a region (בחירת אזור), בוחרים באפשרות us-central.
  4. לוחצים על הבא.
  5. אחרי שמופיע הדף מתחילים, גוללים לחלק התחתון של הדף.
  6. לוחצים על הקישור אעשה זאת מאוחר יותר.

gcloud

  1. מריצים את הפקודה הבאה gcloud app create כדי ליצור אפליקציית App Engine:
  2. gcloud app create
  3. כשתוצג בקשה לבחור את האזור שבו רוצים למקם את אפליקציית App Engine, מזינים את הבחירה המספרית עבור us-central.

הגדרת חשבון השירות של App Engine

מגדירים את חשבון השירות שבו משתמש App Engine כך שיהיה לו תפקיד לקוח Cloud SQL. הקצאת התפקיד לחשבון השירות נותנת לחשבון הרשאות להתחבר ל-Cloud SQL.

המסוף

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

    כניסה לדף IAM

  2. לגבי חשבון השירות שנקרא App Engine default service account, לוחצים על סמל העיפרון.
  3. לוחצים על הוספת תפקיד נוסף.
  4. מוסיפים את התפקיד שנקרא Cloud SQL Client.
  5. לוחצים על Save.

gcloud

  1. מריצים את הפקודה gcloud כדי לקבל רשימה של חשבונות השירות בפרויקט:
    gcloud iam service-accounts list
  2. מעתיקים את כתובת האימייל של חשבון השירות של App Engine.
  3. מריצים את הפקודה הבאה כדי להוסיף את התפקיד Cloud SQL Client לחשבון השירות של App Engine:
    gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
      --member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \
      --role="roles/cloudsql.client"

הגדרה ופריסה של אפליקציה לדוגמה ל-Cloud SQL

אחרי שיצרתם מכונה ומסד נתונים ב-Cloud SQL והגדרתם את חשבון השירות של App Engine כך שיהיו לו הרשאות להתחבר ל-Cloud SQL, אתם יכולים להגדיר ולפרוס אפליקציה לדוגמה כדי להתחבר למכונה של Cloud SQL.

הסרת המשאבים

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

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

    כניסה לדף Cloud SQL Instances

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

כדי להשבית אפליקציית App Engine ולשמור את הנתונים שלה:

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

    כניסה לדף Settings

  2. בכרטיסייה הגדרות האפליקציה, לוחצים על השבתת האפליקציה.

  3. בשדה מזהה האפליקציה, מזינים את המזהה של האפליקציה שרוצים להשבית ולוחצים על השבתה.

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

אם אתם לא משתמשים בתפקיד הלקוח של Cloud SQL שהקציתם לחשבון השירות של Compute Engine, אתם יכולים להסיר אותו.

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

    כניסה לדף IAM

  2. לוחצים על סמל העריכה (שנראה כמו עיפרון) של חשבון ה-IAM שנקרא חשבון שירות שמוגדר כברירת מחדל ב-Compute Engine.
  3. מוחקים את התפקיד Cloud SQL client.
  4. לוחצים על Save.

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

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

    לדף APIs

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

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

בהתאם לצרכים שלכם, תוכלו לקרוא מידע נוסף על יצירת מכונות Cloud SQL.

אפשר גם לקרוא על יצירת משתמשי PostgreSQL ומסדי נתונים עבור מופע Cloud SQL.

מידע נוסף על תמחור זמין במאמר תמחור של Cloud SQL ל-PostgreSQL.

למידע נוסף על:

בנוסף, אפשר לקרוא על התחברות למופע Cloud SQL ממוצרים אחרים של Google Cloud: