חיבור ל-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 Writer (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 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

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

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

המסוף

  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

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

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

מגדירים את חשבון השירות שמוגדר כברירת מחדל ב-Compute Engine שמשמש את Cloud Run כך שיהיו לו התפקידים Cloud SQL Client ו-Storage Object Viewer.

המסוף

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

    כניסה לדף Service accounts ב-IAM

  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. מריצים את הפקודה הבאה כדי להוסיף את התפקיד 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_HOST
    • INSTANCE_UNIX_SOCKET
    • DB_PORT
    • DB_ROOT_CERT
    • DB_CERT
    • DB_KEY
    הערכים האלה לא בשימוש כי Cloud SQL Language Connector כבר מספק חיבור מאובטח באמצעות שרת proxy ל-Cloud SQL Auth, שיוצר חיבורים ל-Cloud SQL ביציאה 3307.

הסרת המשאבים

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

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

    כניסה לדף Cloud SQL Instances

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

    כניסה ל-Cloud Run

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

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

אם אתם לא משתמשים בתפקיד הלקוח של 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.

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

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

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

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