התחברות ל-Cloud SQL ל-SQL Server מ-Cloud Run

איך פורסים אפליקציה לדוגמה ב-Cloud Run שמחוברת למכונה של SQL Server באמצעות מסוף 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. מוודאים שיש את ההרשאות הנדרשות כדי להשלים את המדריך למתחילים.
  7. מפעילים את Cloud APIs שנדרשים כדי להריץ אפליקציה לדוגמה של Cloud SQL ב-Cloud Run.

    המסוף

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

    הפעלת ממשקי 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 שמוצגות במדריך למתחילים הזה.

    פתיחת Cloud Shell

    מריצים את הפקודה הבאה של 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 שמחוברת למכונה של SQL Server, בקשו מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט שבו אתם רוצים להשתמש:

  • יצירה או מחיקה של מאגר ב-Artifact Registry: כותב ב-Artifact Registry (roles/artifactregistry.writer)
  • יצירה או מחיקה של מכונה, מסד נתונים ומשתמש: תפקיד אדמין ב-Cloud SQL‏ (roles/cloudsql.admin).
  • יצירה או מחיקה של חשבון שירות ב-IAM: תפקיד אדמין של חשבון שירות (roles/iam.serviceAccountAdmin).
  • יוצרים חיבור:
  • צפייה באובייקטים ובמטא-נתונים שלהם: Storage Object Viewer ‏ (roles/storage.objectViewer)
  • לתת הרשאות לניהול כללי מדיניות בפרויקטים: אדמין IAM של פרויקט (roles/resourcemanager.projectIamAdmin).
  • גישת קריאה וכתיבה לכל המשאבים של Cloud Run: מפתח Cloud Run ‏ (roles/run.developer).
  • פריסה וניהול של משאבים שנפרסו ממקור ב-Cloud Run: מפתח מקור ב-Cloud Run ‏ (roles/run.sourceDeveloper).
  • כדי לאפשר גישה ציבורית: אדמין ב-Cloud Run ‏ (roles/run.admin).
  • כדי להריץ פעולות בתור חשבון השירות: משתמש בחשבון שירות (roles/iam.serviceAccountUser).

להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.

הגדרת Cloud SQL

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

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

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

המסוף

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

    כניסה לדף Cloud SQL Instances

  2. בוחרים באפשרות quickstart-instance.
  3. בתפריט הניווט של SQL, לוחצים על Databases.
  4. לוחצים על  Create database.
    1. בשדה Database name בתיבת הדו-שיח New database, מזינים את הערך quickstart-db.
    2. לוחצים על יצירה.

gcloud

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

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

פריסת אפליקציה לדוגמה ב-Cloud Run

הגדרת חשבון שירות ב-Cloud Run

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

המסוף

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

    כניסה לדף IAM Service accounts

  2. לוחצים על תפריט הפעולות ליד חשבון השירות ואז על ניהול הגישה.
  3. לוחצים על Add another role, ואז מחפשים ובוחרים את התפקיד Cloud SQL Client (roles/cloudsql.client) בתפריט הנפתח Role.
  4. לוחצים על Add another role, ואז מחפשים ובוחרים את התפקיד Storage Object Viewer (roles/storage.objectViewer) בתפריט הנפתח Role.
  5. לוחצים על Save.

gcloud

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

    אין תמיכה מובנית בשקעי Unix ב-Java. אם האפליקציה כתובה ב-Java, צריך להשתמש ב-Cloud SQL Java Connector.

  • כדי להתחבר באמצעות אחד ממחברי השפה של Cloud SQL, מגדירים את הערך של משתנה הסביבה INSTANCE_CONNECTION_NAME .

    אל תגדירו את הערכים של משתני הסביבה הבאים:

    • INSTANCE_HOST
    • INSTANCE_UNIX_SOCKET
    • DB_PORT
    • DB_ROOT_CERT
    • DB_CERT
    • DB_KEY
    לא משתמשים בערכים האלה כי מחבר השפה של Cloud SQL כבר מספק חיבור מאובטח באמצעות שרת Cloud SQL Auth Proxy, שיוצר חיבורים ל-Cloud SQL ביציאה 3307.

הסרת המשאבים

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

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

    כניסה לדף Cloud SQL Instances

  2. בוחרים את המכונה quickstart-instance כדי לפתוח את הדף Instance details.
  3. בסרגל הסמלים שבחלק העליון של הדף, לוחצים על מחיקה.
  4. בתיבת הדו-שיח Delete instance, מקלידים quickstart-instance ולוחצים על Delete כדי למחוק את המכונה.
  5. נכנסים לדף Cloud Run במסוף Google Cloud .

    כניסה ל-Cloud Run

  6. מסמנים את התיבה לצד שם השירות quickstart-service.
  7. לוחצים על Delete בחלק העליון של הדף Cloud Run.

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

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

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

    כניסה לדף IAM

  2. לוחצים על סמל העריכה (שנראה כמו עיפרון) של חשבון ה-IAM שנקרא Compute Engine default service account.
  3. מוחקים את התפקיד לקוח Cloud SQL.
  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 שרוצים להשבית ולוחצים על הכפתור Disable API.

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

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

אתם יכולים גם לקרוא איך יוצרים משתמשי SQL Server ומסדי נתונים למכונה של Cloud SQL.

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

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

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