התחברות ל-Cloud SQL ל-SQL Server מ-Cloud Run
איך פורסים אפליקציה לדוגמה ב-Cloud Run שמחוברת למכונה של SQL Server באמצעות מסוף Google Cloud ואפליקציית לקוח.
אם תבצעו את כל השלבים בזמן, המשאבים שנוצרו במדריך למתחילים הזה יעלו בדרך כלל פחות מדולר אחד (USD).
לפני שמתחילים
- נכנסים לחשבון 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 שמחוברת למכונה של SQL Server, בקשו מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט שבו אתם רוצים להשתמש:
-
יצירה או מחיקה של מאגר ב-Artifact Registry:
כותב ב-Artifact Registry (
roles/artifactregistry.writer) -
יצירה או מחיקה של מכונה, מסד נתונים ומשתמש: תפקיד אדמין ב-Cloud SQL (
roles/cloudsql.admin). -
יצירה או מחיקה של חשבון שירות ב-IAM: תפקיד אדמין של חשבון שירות (
roles/iam.serviceAccountAdmin). -
יוצרים חיבור:
- אדמין של Service Networking (
roles/servicenetworking.networksAdmin)) - אדמין של שימוש בשירות (
roles/serviceusage.serviceUsageAdmin).
- אדמין של Service Networking (
- צפייה באובייקטים ובמטא-נתונים שלהם: 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
יצירת מסד נתונים
כדי ליצור מסד נתונים:
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- בוחרים באפשרות
quickstart-instance. - בתפריט הניווט של SQL, לוחצים על Databases.
- לוחצים על Create database.
- בשדה Database name בתיבת הדו-שיח New database, מזינים את הערך
quickstart-db. - לוחצים על יצירה.
gcloud
מריצים את הפקודה gcloud
sql databases create כדי ליצור מסד נתונים.
gcloud sql databases create quickstart-db --instance=quickstart-instance
פריסת אפליקציה לדוגמה ב-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"
- מריצים את הפקודה הבאה כדי להוסיף את התפקיד צפייה באובייקטים באחסון לחשבון השירות שמוגדר כברירת המחדל של 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_HOSTINSTANCE_UNIX_SOCKETDB_PORTDB_ROOT_CERTDB_CERTDB_KEY
3307.
הסרת המשאבים
כדי לא לצבור חיובים בחשבון Google Cloud על המשאבים שבהם השתמשתם בדף הזה, מבצעים את הפעולות הבאות.
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- בוחרים את המכונה
quickstart-instanceכדי לפתוח את הדף Instance details. - בסרגל הסמלים שבחלק העליון של הדף, לוחצים על מחיקה.
- בתיבת הדו-שיח Delete instance, מקלידים
quickstart-instanceולוחצים על Delete כדי למחוק את המכונה. -
נכנסים לדף Cloud Run במסוף Google Cloud .
- מסמנים את התיבה לצד שם השירות
quickstart-service. - לוחצים על Delete בחלק העליון של הדף Cloud Run.
שלבי ניקוי אופציונליים
אם אתם לא משתמשים בתפקיד לקוח Cloud SQL שהקציתם לחשבון השירות של Compute Engine, אתם יכולים להסיר אותו.
-
נכנסים לדף Service accounts במסוף Google Cloud .
- לוחצים על סמל העריכה (שנראה כמו עיפרון) של חשבון ה-IAM שנקרא Compute Engine default service account.
- מוחקים את התפקיד לקוח Cloud SQL.
- לוחצים על Save.
אם אתם לא משתמשים בממשקי ה-API שהופעלו כחלק מהמדריך למתחילים, אתם יכולים להשבית אותם.
- ממשקי ה-API שהופעלו במדריך למתחילים הזה:
- Compute Engine API
- Cloud SQL Admin API
- Cloud Run API
- Container Registry API
- Cloud Build API
נכנסים לדף APIs במסוף Google Cloud .
בוחרים את ה-API שרוצים להשבית ולוחצים על הכפתור Disable API.
המאמרים הבאים
בהתאם לצרכים שלכם, אתם יכולים לקרוא מידע נוסף על יצירת מכונות של Cloud SQL.אתם יכולים גם לקרוא איך יוצרים משתמשי SQL Server ומסדי נתונים למכונה של Cloud SQL.
מידע נוסף על התמחור זמין במאמר התמחור של Cloud SQL ל-SQL Server.
למידע נוסף על:
- הגדרת מכונת Cloud SQL עם כתובת IP ציבורית.
- הגדרת המכונה של Cloud SQL עם כתובת IP פרטית.
בנוסף, אתם יכולים לקרוא איך מתחברים למכונה של Cloud SQL מאפליקציות אחרות של Google Cloud:
