התחברות למכונה של Cloud SQL ל-MySQL עם כתובת IP פרטית

בדף הזה מוסבר איך ליצור מכונת MySQL ולהתחבר אליה באמצעות כתובת IP פרטית. העלות של המשאבים שנוצרו במדריך למתחילים הזה היא בדרך כלל פחות מדולר אחד, בהנחה שמשלימים את השלבים, כולל ניקוי המשאבים, בזמן.


לחצו על תראו לי איך כדי לקרוא הסבר מפורט על המשימה ישירות במסוף Google Cloud :

תראו לי איך


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

  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. מפעילים את ממשקי ה-API הנדרשים. Google Cloud

    המסוף

    נכנסים לדף APIs במסוף Google Cloud .

    לדף APIs

    מפעילים את Cloud SQL Admin API. הפעלת ה-API הזה מאפשרת להריץ את שרת ה-proxy ל-Cloud SQL Auth.

    gcloud

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

    פתיחת Cloud Shell

    מריצים את הפקודה gcloud services enable באמצעות Cloud Shell כדי להפעיל את ממשקי ה-API שנדרשים במדריך למתחילים הזה:

    gcloud services enable sqladmin.googleapis.com

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

    • ‫Cloud SQL Admin API. הפעלת ה-API הזה מאפשרת להריץ את שרת ה-proxy ל-Cloud SQL Auth.

התפקידים הנדרשים

כדי לקבל את ההרשאות שדרושות להגדרת Cloud SQL עם כתובת IP פרטית, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט שרוצים להגדיר ולהתחבר אליו:

  • יצירה או מחיקה של מופע, מסד נתונים ומשתמש: תפקיד האדמין ב-Cloud SQL ‏ (roles/cloudsql.admin).
  • יצירה או מחיקה של חשבון שירות ב-IAM: התפקיד 'אדמין של חשבון שירות ב-IAM' (roles/iam.serviceAccountAdmin).
  • יצירה או מחיקה של מכונה וירטואלית:
  • יצירת חיבור:

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

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

סקירה כללית

יש הרבה דרכים להתחבר למופע Cloud SQL עם כתובת IP פרטית, בהתאם למיקום המקור. הגורם העיקרי הוא שמכונת המקור חייבת להיות באותה רשת VPC כמו מכונת Cloud SQL. אם המקור לא נמצא Google Cloud או לא נמצא Google Cloud באותו פרויקט, צריך להגדיר קישוריות באופן שונה ממה שמוצג כאן.

במדריך למתחילים הזה, אנחנו מגדירים קישוריות דרך הנתיב הישיר ביותר. המקור והיעד נמצאים באותו פרויקט ובאותה רשת VPC. Google Cloud אנחנו יוצרים מופע Cloud SQL עם כתובת IP פרטית (היעד) ומכונה וירטואלית של Compute Engine (המקור). אנחנו משתמשים במכונה הווירטואלית כדי להתקין את הכלים שנדרשים לחיבור מהמכונה הווירטואלית למופע Cloud SQL.

מבצעים את הפעולות הבאות:

  1. יצירת מכונה של Cloud SQL עם כתובת IP פרטית.

    מוצאים את connection name של המופע ושומרים אותו לשימוש מאוחר יותר.

  2. יצירת מכונה וירטואלית ב-Compute Engine.
  3. פותחים שני חיבורי SSH למכונה הווירטואלית של Compute Engine.

    תשתמשו בחלון הראשון כדי להתקין את mysql, להתקין ולהפעיל את שרת ה-proxy ל-Cloud SQL Auth. לאחר מכן, משתמשים בחלון השני כדי להתחבר למכונה של Cloud SQL באמצעות שרת proxy ל-Cloud SQL Auth.

  4. בחלון SSH מספר 1, מבצעים את הפעולות הבאות:
    1. מתקינים את לקוח MySQL.
    2. מתקינים את שרת ה-proxy ל-Cloud SQL Auth.

      שרת ה-proxy ל-Cloud SQL Auth פועל כמחבר בין לקוח MySQL לבין מכונת Cloud SQL.

    3. מפעילים את שרת ה-proxy ל-Cloud SQL Auth.

      אם הפעולה מצליחה, שרת ה-proxy ל-Cloud SQL Auth מאזין לבקשות חיבור.

  5. בחלון SSH מספר 2, מתחברים למכונה של Cloud SQL על ידי חיבור של לקוח MySQL לשרת ה-proxy ל-Cloud SQL Auth.

    אם הפעולה מצליחה, מופיעה ההנחיה של mysql בחלון הזה, והודעה על חיבור מוצלח בחלון SSH מספר 1, שבו פועל Cloud SQL Auth Proxy.

  6. ניקוי.

יצירת מכונה של Cloud SQL עם כתובת IP פרטית

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

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

    מעבר אל Cloud SQL Get Started

  2. בקטע Get started (תחילת העבודה), בוחרים בכרטיסייה MySQL ולוחצים על Create Sandbox instance (יצירת מכונת ארגז חול).
  3. אם מוצגת בקשה להפעיל את Compute API, לוחצים על הלחצן Enable API.
  4. בקטע Instance info, מזינים שם לInstance ID.
  5. מזינים סיסמה למשתמש ה-root. חשוב לשמור את הסיסמה שיצרתם, כי תצטרכו אותה בהמשך.
  6. בקטע Choose region and zonal availability (בחירת אזור וזמינות אזורית), בוחרים באפשרות Single zone (אזור יחיד).
  7. מרחיבים את הקטע הצגת אפשרויות ההגדרה.
  8. מרחיבים את Connections (חיבורים).
  9. מנקים את כתובת ה-IP הציבורית.
  10. בוחרים באפשרות כתובת IP פרטית.
  11. בוחרים באפשרות גישה פרטית לשירות (PSA).
  12. בתפריט הנפתח VPC Network, בוחרים באפשרות default.
  13. אם אתם משתמשים בפרויקט חדש, תוצג לכם ההודעה: Network connection is not set up, ותיבת דו-שיח עם הכותרת Network setup confirmation required תפנה אתכם אל המסמכים בנושא VPC להגדרת PSA.
    1. נכנסים לדף VPC networks במסוף Google Cloud :

      מעבר לרשתות VPC

    2. בוחרים את רשת ה-VPC default.
    3. מגדירים כלל לחומת האש שמאפשר גישה ליציאת TCP מספר 22:
      1. לוחצים על הכרטיסייה חומת אש.
      2. בקטע VPC firewall rules (כללי חומת אש ב-VPC), בוחרים באפשרות Create VPC firewall rule (יצירת כלל חומת אש ב-VPC).
      3. נותנים שם לכלל חומת האש.
      4. בקטע יעדים, בוחרים באפשרות כל המופעים ברשת.
      5. בקטע Source IPv4 ranges (טווחי IPv4 של המקור), מזינים 0.0.0.0/0.
      6. בקטע Protocols and Ports (פרוטוקולים ויציאות), מסמנים את TCP ואז בתיבה Ports (יציאות) שמתחת, מזינים 22.
      7. לוחצים על יצירה.
    4. הקצאת טווח של כתובות IP:
      1. לוחצים על הכרטיסייה גישה לשירותים פרטיים.
      2. בכרטיסייה גישה לשירותים פרטיים, בוחרים בכרטיסייה הקצאת טווחי כתובות IP לשירותים.
      3. לוחצים על הקצאת טווח כתובות IP.
      4. מזינים שם ואפשר גם תיאור לטווח שהוקצה.
      5. כדי לאפשר ל-Google לבחור טווח זמין, בוחרים באפשרות אוטומטי.
      6. מזינים אורך של קידומת בין 16 ל-124 (מספר הכתובות שהוקצו שווה ל-2 בחזקת (32 פחות אורך הקידומת)).
      7. לוחצים על הקצאה כדי ליצור את הטווח המוקצה.
    5. יצירת חיבור פרטי:
      1. בכרטיסייה גישה לשירותים פרטיים, עוברים לכרטיסייה חיבורים פרטיים לשירותים.
      2. לוחצים על הלחצן יצירת קישור.
      3. בתפריט הנפתח Assigned allocation בתיבה Create a private connection, בוחרים את השם של טווח כתובות ה-IP שיצרתם.
      4. לוחצים על Connect.
    6. אחרי שיוצרים את החיבור, חוזרים למקום שבו יצרתם את מכונת Cloud SQL ולוחצים על Confirm connection (אישור החיבור).
  14. אחרי שיוצרים את החיבור למערכת ה-PSA, לוחצים על Create instance (יצירת מופע).

תועברו לדף הסקירה הכללית של המופע בזמן שהמופע החדש נוצר.

אחרי שהיצירה של המופע מסתיימת, גוללים לקטע Connect to this instance ושומרים את Connection name של המופע. הערך connection name הוא בפורמט projectID:region:instanceID. תשתמשו ב-connection name בהמשך כשתפעילו את שרת ה-proxy ל-Cloud SQL Auth.

יצירת מכונה וירטואלית ב-Compute Engine

כדי ליצור מכונה וירטואלית:

  1. נכנסים לדף VM instances במסוף Google Cloud .

    כניסה לדף VM instances

  2. לוחצים על Create instance.
  3. מזינים שם למופע.
  4. בחלונית הניווט, בוחרים באפשרות הגנה על נתונים ואז באפשרות ללא גיבויים.
  5. בחלונית הניווט, בוחרים באפשרות אבטחה. בקטע Access scopes, בוחרים באפשרות Allow full access to all Cloud APIs.
  6. לוחצים על יצירה וממתינים עד שהמכונה הווירטואלית תסיים את היצירה.

פותחים שני חיבורי SSH למכונה וירטואלית של Compute Engine

אנחנו משתמשים בשני חלונות במכונה הווירטואלית. בחלון הראשון משתמשים כדי להתקין את לקוח mysql ואת שרת ה-proxy ל-Cloud SQL Auth, לקבל את שם החיבור של המופע ולהשתמש בשם הזה כדי להפעיל את ה-proxy. החלון השני משמש לחיבור למופע Cloud SQL דרך ה-proxy.

  1. מרחיבים את התפריט SSH בעמודה Connect של מכונת ה-VM ב-Compute Engine.
  2. בוחרים באפשרות פתיחה בחלון דפדפן כדי לפתוח את חלון SSH מספר 1.

    יכול להיות שיעברו כמה שניות עד שההודעה בחלון תהיה זמינה.

  3. כשמופיעה ההנחיה, מזינים pwd כדי לוודא שאתם נמצאים בספרייה /home/$USER.

    בחלון הזה תתקינו את לקוח MySQL ואת Cloud SQL Auth Proxy, ותפעילו את Cloud SQL Auth Proxy.

  4. בוחרים שוב באפשרות פתיחה בחלון דפדפן כדי לפתוח את חלון SSH מספר 2.

    תשתמשו בחלון הזה כדי להתחבר למכונה של Cloud SQL.

התקנת לקוח mysql

משתמשים בחלון SSH מספר 1 בשלב הזה.

מתקינים את לקוח MySQL ממנהל החבילות ועוצרים את השרת mysqld:

sudo apt-get update
sudo apt-get install default-mysql-client
  

התקנת שרת proxy ל-Cloud SQL Auth

משתמשים בחלון SSH מספר 1 בשלב הזה.

  1. התקנה של wget:
    sudo apt-get install wget
        
  2. מורידים את שרת ה-proxy ל-Cloud SQL Auth:
    wget https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.8.2/cloud-sql-proxy.linux.amd64 \
    -O cloud-sql-proxy
      
  3. הופכים את שרת ה-proxy ל-Cloud SQL Auth לקובץ הפעלה:
    chmod +x cloud-sql-proxy
      

הפעלת שרת proxy ל-Cloud SQL Auth

משתמשים בחלון SSH מספר 1 בשלב הזה.

מפעילים את שרת ה-proxy ל-Cloud SQL Auth כדי לעקוב אחרי הפלט שלו. מחליפים את INSTANCE_CONNECTION_NAME ב-connection name שהעתקתם כשנוצר מופע Cloud SQL.

./cloud-sql-proxy --private-ip INSTANCE_CONNECTION_NAME

כששרת ה-proxy ל-Cloud SQL Auth מתחיל לפעול בהצלחה, הודעה שדומה להודעה הבאה מופיעה בחלון ה-SSH:

Listening on 127.0.0.1:3306 for myInstance
Ready for new connections

חיבור למכונה של Cloud SQL

משתמשים בחלון SSH מספר 2 בשביל השלב הזה.

מריצים את הפקודה הבאה:

mysql -u root -p --host 127.0.0.1 --port 3306

בהנחיה Enter password:, מזינים את הסיסמה של חשבון משתמש Root של MySQL.

מוודאים שמופיעה שורת הפקודה של MySQL. התחברת למסד הנתונים שלך באמצעות לקוח mysql.

חוזרים לחלון הטרמינל שבו הפעלתם את שרת ה-proxy ל-Cloud SQL Auth. אמורה להופיע הודעה דומה לזו:

New connection for myInstance

הסרת המשאבים

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

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

    כניסה לדף Cloud SQL Instances

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

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

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

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

    לדף APIs

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

  3. נכנסים לדף VM instances במסוף Google Cloud .

    כניסה לדף VM instances

  4. בוחרים את השם של המופע.

  5. בתפריט פעולות נוספות, בוחרים באפשרות מחיקה.

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

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

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

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