יצירת מופעים

בעזרת Cloud SQL ל-SQL Server אתם יכולים לפרוס מסדי נתונים רלציוניים מנוהלים ב-Google Cloud. אתם יכולים להקצות מכונות שמותאמות לעומס העבודה שלכם, ולהפוך את עבודות התחזוקה השוטפת לאוטומטיות, כמו תיקוני מערכת הפעלה, גיבויים ויתירות כשל.

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

מושגים מרכזיים

במכונה חדשה שנוצרה יש מסד נתונים של sqlserver.

אחרי שיוצרים מכונה של Cloud SQL ל-SQL Server, מוסיפים לה מסדי נתונים על ידי יצירה או ייבוא שלהם.

מספר המכונות המקסימלי שאפשר להגדיר בפרויקט אחד תלוי בארכיטקטורת הרשת של המכונות האלה:

  • ארכיטקטורת רשת חדשה של SQL: אפשר ליצור עד 1,000 מכונות בכל פרויקט.
  • ארכיטקטורת רשת SQL ישנה: אפשר ליצור עד 100 מכונות לכל פרויקט.
  • שימוש בשתי הארכיטקטורות: המגבלה תהיה בין 100 ל-1,000, בהתאם להתפלגות המכונות בין שתי הארכיטקטורות.

כדי לבקש הגדלה, צריך לשלוח בקשת תמיכה. רפליקות לקריאה נספרות כמכונות.

בחירה בין מהדורת Cloud SQL Enterprise Plus לבין מהדורת Cloud SQL Enterprise

כשיוצרים מכונה של Cloud SQL ל-SQL Server, בוחרים את הגדרת המכונה מתוך כמה משפחות שונות של מכונות, בהתאם למהדורת Cloud SQL. פרטים נוספים זמינים במאמר בחירת סדרת מכונות.

ריבוי הליכים בו-זמני (SMT)

ריבוי הליכי משנה בו-זמניים (SMT) ב-Cloud SQL ל-SQL Server מאפשר להריץ שני מעבדים וירטואליים (vCPU) כהליכי משנה נפרדים ובלתי תלויים בליבה פיזית אחת. התכונה SMT מופעלת כברירת מחדל, אבל אפשר להשבית אותה, וכך אולי להפחית את עלויות הרישוי.

השבתת SMT עלולה להשפיע על ביצועי המכונה. כדי להבין את ההשפעה של השבתת SMT על ביצועי המכונה, מומלץ לבצע בדיקת עומסים במכונה.

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

  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. Install the gcloud CLI.

  5. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. 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

  8. Verify that billing is enabled for your Google Cloud project.

  9. Install the gcloud CLI.

  10. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  11. To initialize the gcloud CLI, run the following command:

    gcloud init
  12. מוודאים שבחשבון המשתמש שלכם מוגדרים התפקידים הבאים:

    כניסה לדף IAM

    מידע נוסף על תפקידים והרשאות

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

המסוף

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

    כניסה לדף Cloud SQL Instances

  2. לוחצים על Create instance.
  3. לוחצים על מופע חדש.
  4. בחלונית Choose your database engine שבדף Create an instance, לוחצים על Choose SQL Server.
  5. בקטע Choose a Cloud SQL edition בדף Create a SQL Server instance, בוחרים את מהדורת Cloud SQL למכונה: Enterprise או Enterprise Plus.

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

  6. בוחרים את המהדורה שמוגדרת מראש למכונה. כדי לראות את ההגדרות הקבועות מראש שזמינות, לוחצים על התפריט Edition preset.
  7. בקטע Instance info, בוחרים את גרסת מסד הנתונים של המכונה. כדי לראות את הגרסאות הזמינות, לוחצים על התפריט Database version.
  8. בשדה Instance ID שבחלונית Instance info, מזינים מזהה למכונה.

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

  9. בשדה סיסמה, מזינים סיסמה למשתמש.
  10. כדי לראות את הסיסמה בטקסט פשוט, לוחצים על הסמל הצגת הסיסמה.

    אתם יכולים להזין את הסיסמה באופן ידני או ללחוץ על Generate כדי ש-Cloud SQL ייצור סיסמה באופן אוטומטי.

  11. בקטע Choose region and zonal availability, בוחרים את האזור והתחום של המכונה. הזמינות באזורים עשויה להשתנות בהתאם למהדורת Cloud SQL ל-SQL Server. מידע נוסף זמין במאמר מידע על הגדרות של מכונות.

    מקמו את המכונה באותו אזור שבו נמצאים המשאבים שניגשים אליה. אי אפשר לשנות את האזור שבחרתם. ברוב המקרים לא צריך לציין אזור.

    אם אתם מגדירים את המכונה לזמינות גבוהה, אתם יכולים לבחור גם אזור ראשי וגם אזור משני.

    התנאים הבאים חלים כשמשתמשים באזור המשני במהלך יצירת המכונה:

    • כברירת מחדל, התחום הראשי הוא Any והתחום המשני הוא Any (different from primary).
    • אם מציינים גם את האזור הראשי וגם את האזור המשני, הם חייבים להיות אזורים שונים.
  12. בקטע Customize your instance, מעדכנים את ההגדרות של המכונה. לוחצים על הצגת אפשרות ההגדרה כדי להציג את קבוצות ההגדרות. אחר כך מרחיבים את הקבוצות שרוצים לבדוק ומתאימים אישית את ההגדרות. בצד שמאל מוצג סיכום של כל האפשרויות שבחרתם. ההתאמה האישית של הגדרות המכונה האלה היא אופציונלית. ערכי ברירת המחדל מוקצים בכל מקרה שבו לא בוצעו התאמות אישיות.

    הטבלה הבאה היא מדריך מהיר להגדרות של מכונות. מידע נוסף על כל הגדרה זמין בדף הגדרות המכונה.

    הגדרה הערות
    סוג מכונה
    סוג המכונה בוחרים באחת מהאפשרויות: Lightweight,‏ Standard (הנפוצה ביותר) או High memory. כל סוג מכונה מסווג לפי מספר המעבדים (הליבות) וכמות הזיכרון של המכונה.
    ליבות מספר יחידות ה-vCPU של המכונה. מידע נוסף
    זיכרון נפח הזיכרון של המכונה, ב-GB. מידע נוסף
    בהתאמה אישית בסוג המכונה Dedicated core, במקום לבחור הגדרה מוגדרת מראש, לוחצים על הכפתור Custom כדי ליצור מכונה עם הגדרה בהתאמה אישית. כשבוחרים באפשרות הזו, צריך לבחור את מספר הליבות ואת כמות הזיכרון של המכונה. מידע נוסף
    מטמון הנתונים
    הפעלת מטמון הנתונים כברירת מחדל, האפשרות להפעיל את מטמון הנתונים נבחרת באופן אוטומטי במכונות של Cloud SQL ל-SQL Server במהדורת Enterprise Plus. אם לא רוצים להפעיל את מטמון הנתונים, מבטלים את הסימון בתיבה Enable data cache. מידע נוסף על מטמון נתונים זמין במאמר מטמון נתונים.
    אחסון
    סוג האחסון קובע אם המכונה משתמשת באחסון SSD או HDD. מידע נוסף
    נפח אחסון נפח האחסון שהוקצה למכונה. מידע נוסף
    הפעלת הגדלה אוטומטית של נפח האחסון ההגדרה הזו קובעת אם Cloud SQL יספק באופן אוטומטי נפח אחסון נוסף למכונה כשהמקום הפנוי יתחיל להיגמר. מידע נוסף
    הצפנה
    הצפנה בניהול Googleזו אפשרות ברירת המחדל.
    מפתח הצפנה בניהול הלקוח (CMEK)בוחרים באפשרות להשתמש במפתח עם Cloud Key Management Service. מידע נוסף
    חיבורים
    כתובת IP פרטית מוסיפה כתובת IP פרטית למכונה. בוחרים חיבור של גישה לשירותים פרטיים, חיבור של Private Service Connect או את שניהם למכונה. הבחירה שלכם מספקת את החיבור לרשת הפרטית של המכונה. בכל המקרים, נדרשת הגדרה נוספת.

    כדי לבחור ולהגדיר גישה לשירותים פרטיים:

    1. מסמנים את התיבה Private Services Access (PSA).
    2. בתפריט הנפתח רשת VPC, בוחרים את שם הרשת שהמכונה מתחברת אליה.
    3. בתפריט הנפתח Allocated IP range, בוחרים באפשרות Automatic או בטווח כתובות IP ספציפי עם שם.

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

    כדי לבחור ולהגדיר את Private Service Connect:

    1. מסמנים את התיבה Private Service Connect (PSC)‎.
    2. לוחצים על הוספת נקודת קצה.
    3. בקטע Endpoint setup, מבצעים את הפעולות הבאות:
      • בכרטיס New Endpoint, בוחרים את הפרויקט שבו רוצים להגדיר את נקודת הקצה מהתפריט הנפתח Project.
      • בתפריט הנפתח Network, בוחרים רשת לנקודת הקצה.
      • אם Network Connectivity API עדיין לא מופעל, לוחצים על Enable.
    4. כדי להגדיר את ההרשאות ליצירה אוטומטית של מדיניות החיבור לשירות, לוחצים על Confirm Network Setup.

    מידע נוסף על הגדרת Private Service Connect זמין במאמר הגדרת Private Service Connect.

    כתובת IP ציבורית מוסיפה כתובת IP ציבורית למכונה. אחר כך אפשר להוסיף רשתות מורשות כדי להתחבר למכונה.

    למכונה יכולה להיות גם כתובת IP ציבורית וגם כתובת IP פרטית.

    מידע נוסף על שימוש בכתובת IP ציבורית

    רשתות מורשות

    מוסיפים את השם של הרשת החדשה ואת כתובת הרשת. מידע נוסף

    יש הרשאה ל-Data API

    אם מסמנים את התיבה הזו, משתמשים מורשים יכולים להפעיל את Data API כדי להריץ הצהרות SQL במכונה. במכונות עם כתובת IP פרטית בלבד, המשתמשים המורשים יכולים לשלוח קריאות ל-Data API מהאינטרנט הציבורי.

    אבטחה
    מצב רשות האישורים של השרת

    צריך לבחור את סוג רשות האישורים (CA) שחותמת על אישור השרת של מכונת Cloud SQL הזו. מידע נוסף

    כברירת מחדל, כשיוצרים מכונה במסוף Google Cloud , המכונה משתמשת ברשות אישורים פנימית בניהול Google (GOOGLE_MANAGED_INTERNAL_CA), שהיא האפשרות של רשות אישורים לכל מכונה.

    רוטציה אוטומטית של אישורי השרת

    אם בוחרים באפשרות של רשות אישורים (CA) של CAS בניהול Google (GOOGLE_MANAGED_CAS_CA) או באפשרות של רשות אישורים פנימית של CAS בניהול הלקוח (CUSTOMER_MANAGED_CAS_CA) כמצב ה-CA של השרת במכונה, אפשר לבחור אם להחליף את אישור השרת במכונה באופן אוטומטי. מידע נוסף על רוטציה אוטומטית של אישורי שרת ב-Cloud SQL זמין במאמר הפעלת רוטציה אוטומטית של אישורי שרת.

    האפשרות הזו מושבתת כברירת מחדל.
    הגנה על נתונים
    רמת הגיבוי אפשרות הגיבוי של המכונה. אתם יכולים לבחור בין גיבויים משופרים לבין גיבויים רגילים.
    גיבויים אוטומטיים חלון הזמן שבו אתם רוצים שהגיבויים יתחילו.
    בחירת המיקום לאחסון הגיבוייםברוב תרחישי השימוש, בוחרים באפשרות Multi-region. אם אתם צריכים לאחסן גיבויים באזור ספציפי, למשל מסיבות רגולטוריות, בחרו באפשרות Region ובחרו את האזור שלכם מהתפריט הנפתח Location.
    כמה גיבויים אוטומטיים לשמורמספר הגיבויים האוטומטיים שרוצים לשמור (מיום אחד עד 365 ימים). מידע נוסף
    הפעלת שחזור מערכת מנקודה מסוימת בזמן (PITR) הפעלת שחזור מערכת מנקודה מסוימת בזמן (PITR) ורישום עסקאות ביומן. מידע נוסף
    הפעלת ההגנה מפני מחיקה הגדרה שקובעת אם להגן על מכונה מפני מחיקה מקרית. מידע נוסף
    הפעלת גיבויים שנשמרו אחרי מחיקת המכונה ההגדרה קובעת אם גיבויים אוטומטיים וגיבויים על פי דרישה נשמרים אחרי שמוחקים מכונה. מידע נוסף
    בוחרים כמה ימים לשמור את היומנים. הגדרת שמירה של יומן כתיבה מראש למשך יום אחד עד 7 ימים. הגדרת ברירת המחדל היא 7 ימים. מידע נוסף
    תחזוקה
    חלון מועדף מגדיר חלון זמן של שעה שבו Cloud SQL יכול לבצע עבודות תחזוקה במכונה שעלולות לגרום לשיבושים. אם לא תגדירו חלון זמן, יכול להיות שפעולות תחזוקה שמשבשות את הפעילות יתבצעו בכל זמן. מידע נוסף
    סדר העדכונים התזמון המועדף לעדכוני מכונות, ביחס למכונות אחרות באותו פרויקט. מידע נוסף
    דגלים
    הוספת דגל אתם יכולים להשתמש בדגלים לניהול מסד נתונים כדי לשלוט בהגדרות ובפרמטרים של המכונה. מידע נוסף
    תובנות לגבי שאילתות
    הפעלת Query Insights

    כדי להפעיל את Query Insights במכונה, מסמנים את התיבה הזו. התכונה "תובנות לגבי שאילתות" מספקת מידע מפורט על השאילתות במסד הנתונים, כולל הביצועים של השאילתות, הטקסט של השאילתות ותוכניות ההרצה של השאילתות. אחרי שבוחרים בתכונה "תובנות לגבי שאילתות", אפשר להפעיל תכונות נוספות שמשויכות אליה. מידע נוסף על התכונות האלה ועל תובנות לגבי שאילתות זמין במאמר שימוש בתובנות לגבי שאילתות כדי לשפר את הביצועים של שאילתות.

    תוויות
    הוספת תוויתמוסיפים מפתח וערך לכל תווית שמוסיפים. אתם יכולים להשתמש בתוויות כדי לארגן את המכונות.
  13. לוחצים על Create Instance.

    הערה: יכול להיות שהמכונה תיווצר רק תוך כמה דקות. עם זאת, אתם יכולים לראות מידע על המכונה בזמן שהיא נוצרת.

gcloud

במאמר התקנת ה-CLI של gcloud מוסבר איך מתקינים את ה-CLI של gcloud ומתחילים להשתמש בו. למידע על הפעלת Cloud Shell, קראו את המסמכים של Cloud Shell.

צריך להשתמש בגרסה 243.0.0 ואילך של gcloud.

  1. משתמשים בפקודה gcloud sql instances create כדי ליצור את המכונה:
  2. במכונות של Cloud SQL Enterprise Plus:

          gcloud sql instances create INSTANCE_NAME \
          --database-version=DATABASE_VERSION \
          --region=REGION \
          --tier=TIER \
          --root-password=ROOT_PASSWORD \
          --edition=ENTERPRISE_PLUS
        

    במכונות של Cloud SQL Enterprise:

          gcloud sql instances create INSTANCE_NAME \
          --database-version=DATABASE_VERSION \
          --region=REGION \
          --cpu=NUMBER_OF_vCPUs \
          --memory=MEMORY_SIZE \
          --root-password=ROOT_PASSWORD \
          --edition=ENTERPRISE
        

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

    הערכים של המעבדים הווירטואליים וגודל הזיכרון מוגבלים במהדורת Cloud SQL Enterprise. מידע נוסף זמין במאמר בחירה בין מהדורת Cloud SQL Enterprise Plus לבין מהדורת Cloud SQL Enterprise.

    לדוגמה, המחרוזת הבאה יוצרת מכונה עם שני מעבדי vCPU וזיכרון בנפח 7,680MB:

        gcloud sql instances create myinstance \
        --database-version=SQLSERVER_2017_STANDARD \
        --region=us-central1 \
        --cpu=2 \
        --memory=7680MB \
        --root-password=EXAMPLE_PASSWORD \
        --edition=ENTERPRISE
        

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

    מידע נוסף על הפרמטרים של הגדרות המכונה זמין במאמר gcloud sql instances create.

    ערך ברירת המחדל של REGION הוא us-central1.

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

    אם אתם יוצרים מכונה לזמינות גבוהה, אתם יכולים לציין גם את האזור הראשי וגם את האזור המשני באמצעות הפרמטרים --zone ו---secondary-zone. התנאים הבאים חלים כשמשתמשים באזור המשני במהלך יצירה או עריכה של מכונה:

    • האזורים חייבים להיות אזורים תקינים.
    • אם מציינים את האזור המשני, צריך לציין גם את האזור הראשי.
    • אם מציינים את האזור הראשי והאזור המשני, הם חייבים להיות אזורים שונים.
    • אם מציינים את האזורים הראשי והמשני, הם חייבים להיות באותו אזור.

    אפשר להוסיף עוד פרמטרים כדי לקבוע הגדרות אחרות של המכונה:

    הגדרה פרמטר הערות
    פרמטרים נדרשים
    גרסת מסד הנתונים --database-version גרסת מסד הנתונים, שמבוססת על מהדורת Cloud SQL.
    אזור --region לעיון בערכים תקינים
    קישוריות
    כתובת IP פרטית

    גישה לשירותים פרטיים

    --network

    ‫--no-assign-ip (אופציונלי)

    ‫--allocated-ip-range-name (אופציונלי)

    ‫--enable-google-private-path (אופציונלי)



    Private Service Connect

    --no-assign-ip

    --enable-private-service-connect

    --allowed-psc-projects

    --psc-auto-connections

    --enable-psc-auto-connection-policy

    ‫--network: השם של רשת ה-VPC שבה רוצים להשתמש במכונה הזו. כבר צריכה להיות מוגדרת גישה לשירותים פרטיים ברשת. בפרויקטים חדשים או ריקים, צריך להפעיל את servicenetworking.googleapis.com, להקצות טווח של כתובות IP ולהגדיר קישור (peering) בין רשתות VPC לפני שיוצרים את המכונה. זמין רק לפקודת הבטא (gcloud beta sql instances create).

    ‫--no-assign-ip: למכונה תהיה רק כתובת IP פרטית.

    ‫--allocated-ip-range-name: אם מצוין, מגדיר שם טווח שמוקצה לו טווח כתובות IP. לדוגמה, google-managed-services-default. שם הטווח צריך לעמוד בדרישות של RFC-1035 ולהיות באורך של 1-63 תווים. (gcloud alpha sql instances create).

    במכונות Cloud SQL שמשתמשות ב-Private Service Connect לחיבורים דרך כתובת IP פרטית, משתמשים בדגלים הבאים:

    --enable-private-service-connect: מאפשר חיבורים של רשתות פרטיות למכונה של Cloud SQL באמצעות Private Service Connect. מידע נוסף זמין במאמר סקירה כללית על Private Service Connect ב-Cloud SQL.

    ‫--allowed-psc-projects: רשימה מופרדת בפסיקים של מזהי פרויקטים או מספרי פרויקטים מורשים, שמהם נקודות הקצה של Private Service Connect יכולות להתחבר למכונות של Cloud SQL.

    ‫--psc-auto-connections: אם אתם מגדירים נקודות קצה באופן אוטומטי למכונה של Cloud SQL, אתם צריכים להשתמש בדגל כדי לציין את הרשתות והפרויקטים של הצרכן בשביל נקודות הקצה של Private Service Connect.

    ‫--enable-psc-auto-connection-policy: אם מצוין, Google Cloud יוצר או מעדכן מדיניות של חיבור לשירות ברשת ובפרויקט של הצרכן בשביל נקודת הקצה של Private Service Connect.

    מידע נוסף על הגדרת Private Service Connect זמין במאמר הגדרת Private Service Connect.

    גישה ל-Data API --data-api-access שולט בקישוריות למכונה באמצעות Data API. היא מושבתת כברירת מחדל. מגדירים את הערך ALLOW_DATA_API כדי לאפשר למשתמשים להשתמש ב-Data API כדי להתחבר למכונה. במכונות שמוגדרות עם כתובת IP פרטית בלבד, משתמשים מורשים יכולים לשלוח קריאה ל-Data API במכונה מהאינטרנט הציבורי. מגדירים את הערך DISALLOW_DATA_API כדי לא לאפשר שימוש ב-Data API.
    כתובת IP ציבורית --authorized-networks בחיבורים של כתובות IP ציבוריות, רק חיבורים מרשתות מורשות יכולים להתחבר למכונה. מידע נוסף
    מצב CA של השרת --server-ca-mode

    הדגל --server-ca-mode מגדיר את הסוג של רשות האישורים (CA) של השרת במכונה. אפשר לבחור אחת מהאפשרויות הבאות:

    • ‫GOOGLE_MANAGED_INTERNAL_CA: זהו ערך ברירת המחדל. באפשרות הזו, רשות אישורים (CA) פנימית שמוקדשת לכל מכונה של Cloud SQL חותמת על אישור השרת של המכונה הזו.
    • ‫GOOGLE_MANAGED_CAS_CA: באפשרות הזו נעשה שימוש בהיררכיית CA שמורכבת מ-CA בסיסי ומ-CAs של שרתים משניים שמנוהלים על ידי Cloud SQL ומתארחים ב- Google Cloud Certificate Authority Service (שירות CA). רשויות האישורים המשניות של השרת באזור חותמות על אישורי השרת ומשותפות בין המכונות באזור.
    • CUSTOMER_MANAGED_CAS_CA: באפשרות הזו אתם מגדירים את היררכיית ה-CA ומנהלים את הרוטציה של אישורי ה-CA. יוצרים מאגר CA ב-CA Service באותו אזור של המכונה. אחד מרשויות האישורים במאגר משמש לחתימה על אישור השרת. מידע נוסף מופיע במאמר שימוש ברשות אישורים בניהול הלקוח.
    רוטציה אוטומטית של אישורי השרת --server-certificate-rotation-mode

    הדגל --server-certificate-rotation-mode מגדיר את סוג מצב הרוטציה של אישור השרת של המכונה. אפשר לבחור אחת מהאפשרויות הבאות:

    • ‫NO_AUTOMATIC_ROTATION: זהו ערך ברירת המחדל. אם בוחרים באפשרות הזו, לא יהיה סבב אוטומטי של אישורי שרת. צריך לבצע רוטציה של אישורי השרת באופן ידני.
    • ‫AUTOMATIC_ROTATION_DURING_MAINTENANCE: באפשרות הזו, רוטציה אוטומטית של אישורי השרת מופעלת במהלך עדכוני תחזוקה מתוזמנים או עדכוני תחזוקה בשירות עצמי של Cloud SQL. הערך של server_ca_mode צריך להיות GOOGLE_MANAGED_CAS_CA או CUSTOMER_MANAGED_CAS_CA.
    ארכיטקטורת רשת --enforce-new-sql-network-architecture אכיפת השימוש בארכיטקטורת הרשת החדשה במכונה בזמן היצירה. אם משתמשים בדגל הזה כשיוצרים מכונה לפני שהפרויקט שודרג באופן מלא לארכיטקטורת הרשת החדשה, יכול להיות שתהיה צריכת יתר של כתובות IP או שהמכונות לא ייווצרו אם לא נשארו מספיק כתובות IP בטווח הכתובות שהוקצה. מידע נוסף זמין במאמרים שדרוג מכונה לארכיטקטורת הרשת החדשה והקצאת טווח של כתובות IP.
    סוג המכונה והאחסון
    סוג המכונה --tier
    סוג האחסון --storage-type קובע אם המכונה משתמשת באחסון SSD או HDD. מידע נוסף
    נפח אחסון --storage-size נפח האחסון שהוקצה למכונה, ב-GB. מידע נוסף
    הגדלה אוטומטית של נפח האחסון --storage-auto-increase ההגדרה הזו קובעת אם Cloud SQL יספק באופן אוטומטי נפח אחסון נוסף למכונה כשהמקום הפנוי יתחיל להיגמר. מידע נוסף
    מגבלת ההגדלה האוטומטית של נפח האחסון --storage-auto-increase-limit קובע את הגודל המקסימלי של האחסון ב-Cloud SQL, ב-GB. ערך ברירת המחדל הוא unlimited, שמאפשר להגדיל את נפח האחסון עד לנפח המקסימלי שזמין לרמת המכונה. מידע נוסף
    גיבויים אוטומטיים וזמינות גבוהה
    זמינות גבוהה --availability-type במכונה עם זמינות גבוהה, מגדירים את הערך REGIONAL. מידע נוסף
    אזור משני --secondary-zone אם יוצרים מכונה לזמינות גבוהה, אפשר לציין גם את האזור הראשי וגם את האזור המשני באמצעות --zone ו---secondary-zone parameters. ההגבלות הבאות חלות כשמשתמשים באזור המשני במהלך יצירה או עריכה של מכונה:
    • האזורים חייבים להיות אזורים תקינים.
    • אם מציינים את האזור המשני, צריך לציין גם את האזור הראשי.
    • אם מציינים את האזור הראשי והאזור המשני, הם חייבים להיות אזורים שונים.

      אם מציינים את האזור הראשי והמשני, הם חייבים להיות באותו אזור.

    גיבויים אוטומטיים --backup-start-time חלון הזמן שבו אתם רוצים שהגיבויים יתחילו.
    הגדרות שמירה של גיבויים אוטומטיים --retained-backups-count מספר הגיבויים האוטומטיים שרוצים לשמור. מידע נוסף
    הגדרות שמירה של יומני עסקאות --retained-transaction-log-days מספר הימים לשמירת יומני העסקאות לצורך שחזור מערכת מנקודה מסוימת בזמן (PITR). מידע נוסף
    שחזור מערכת מנקודה מסוימת בזמן (PITR) --enable-point-in-time-recovery הפעלת שחזור מערכת מנקודה מסוימת בזמן (PITR) ויומני עסקאות. מידע נוסף
    הוספת דגלים לניהול מסד נתונים
    דגלים לניהול מסד נתונים --database-flags אתם יכולים להשתמש בדגלים לניהול מסד נתונים כדי לשלוט בהגדרות ובפרמטרים של המכונה. מידע נוסף על דגלים לניהול מסדי נתונים
    thought לוח זמנים לתחזוקה
    חלון זמן לתחזוקה --maintenance-window-day,
    --maintenance-window-hour
    מגדיר חלון זמן של שעה שבו Cloud SQL יכול לבצע עבודות תחזוקה שמשבשות את הפעילות במכונה. אם לא מגדירים חלון זמן, אפשר לבצע תחזוקה משבשת בכל שלב. מידע נוסף
    תזמון פעולות התחזוקה --maintenance-release-channel התזמון המועדף לעדכוני מכונות, ביחס למכונות אחרות באותו פרויקט. משתמשים ב-preview לעדכונים מוקדמים יותר, וב-production לעדכונים מאוחרים יותר. מידע נוסף
    תובנות לגבי שאילתות
    --insights-config-query-insights-enabled הפעלת תובנות לגבי שאילתות כדי לספק ניתוח של שאילתות ותוכניות לביצוע שאילתות.
    SAN בהתאמה אישית
    הוספת שם חלופי של בעלים (SAN) בהתאמה אישית --custom-subject-alternative-names=DNS_NAMES

    אם אתם רוצים להשתמש בשם DNS בהתאמה אישית כדי להתחבר למכונה של Cloud SQL במקום להשתמש בכתובת IP, אתם צריכים להגדיר את השם החלופי של הבעלים (SAN) בהתאמה אישית בזמן שאתם יוצרים את המכונה. שם ה-DNS בהתאמה אישית שאתם מזינים בהגדרת ה-SAN בהתאמה אישית מתווסף לשדה ה-SAN של אישור השרת של המכונה. כך אפשר להשתמש בשם ה-DNS בהתאמה אישית עם אימות שם המארח באופן מאובטח.

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

  3. שימו לב לכתובת ה-IP שהוקצתה באופן אוטומטי.

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

  4. מגדירים את הסיסמה למשתמש:
          gcloud sql users set-password sqlserver no-host --instance=[INSTANCE_NAME] \
           --password=[PASSWORD]
          

Terraform

כדי ליצור מכונה, משתמשים במשאב של Terraform.

resource "google_sql_database_instance" "default" {
  name             = "sqlserver-instance"
  region           = "us-central1"
  database_version = "SQLSERVER_2019_STANDARD"
  root_password    = "INSERT-PASSWORD-HERE"
  settings {
    tier = "db-custom-2-7680"
  }
}

החלה של השינויים

כך מחילים את ההגדרות של Terraform בפרויקט ב- Google Cloud :

הכנת Cloud Shell

  1. מפעילים את Cloud Shell.
  2. מגדירים את פרויקט ברירת המחדל ב- Google Cloud שבו רוצים להחיל את ההגדרות של Terraform.

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

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

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

הכנת הספרייה

לכל קובץ תצורה של Terraform צריכה להיות ספרייה משלו (שנקראת גם מודול ברמה הבסיסית).

  1. יוצרים ספרייה חדשה ב-Cloud Shell ובה יוצרים קובץ חדש. שם הקובץ חייב לכלול את הסיומת .tf, למשל main.tf. במדריך הזה, הקובץ נקרא main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. אם אתם עוקבים אחרי המדריך, תוכלו להעתיק את הקוד לדוגמה בכל קטע או שלב.

    מעתיקים את הקוד לדוגמה בקובץ main.tf החדש שיצרתם.

    לחלופין, אפשר גם להעתיק את הקוד מ-GitHub. כדאי לעשות את זה כשקטע הקוד של Terraform הוא חלק מפתרון מקצה לקצה.

  3. בודקים את הפרמטרים לדוגמה ומשנים אותם בהתאם לסביבה שלכם.
  4. שומרים את השינויים.
  5. מפעילים את Terraform. צריך לעשות זאת רק פעם אחת לכל ספרייה.
    terraform init

    אופציונלי: תוכלו לכלול את האפשרות -upgrade, כדי להשתמש בגרסה העדכנית ביותר של הספק של Google:

    terraform init -upgrade

החלה של השינויים

  1. בודקים את ההגדרות ומוודאים שהמשאבים שמערכת Terraform תיצור או תעדכן תואמים לציפיות שלכם:
    terraform plan

    מתקנים את ההגדרות לפי הצורך.

  2. מריצים את הפקודה הבאה ומזינים yes בהודעה שמופיעה, כדי להחיל את הגדרות Terraform:
    terraform apply

    ממתינים עד שב-Terraform תוצג ההודעה "Apply complete!‎".

  3. פותחים את הפרויקט ב- Google Cloud כדי להציג את התוצאות. במסוף Google Cloud , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.

למחוק את השינויים

כדי למחוק את השינויים:

  1. כדי להשבית את ההגנה מפני מחיקה, בקובץ התצורה של Terraform מגדירים את הארגומנט deletion_protection לערך false.
    deletion_protection =  "false"
  2. מריצים את הפקודה הבאה ומזינים yes בהודעה שמופיעה, כדי להחיל את הגדרות Terraform המעודכנות:
    terraform apply
  1. כדי להסיר משאבים שהוחלו בעבר על הגדרות Terraform, מריצים את הפקודה הבאה ומזינים yes בהודעה שמופיעה:

    terraform destroy

REST v1

1. יצירת המכונה

לא כל השדות האפשריים מוצגים בקריאה הבסיסית הבאה ל-API. אב טיפוס של בקשת JSON מופיע במאמר הגדרות.

אפשר גם לעיין בדף Instances:insert. למידע על הגדרות המכונה, כולל ערכים תקינים לאזורים, ראו הגדרות המכונה. למידע על סוגי מכונות, ראו בחירת סדרת מכונות.

אל תכללו מידע רגיש או פרטים אישיים מזהים ב-instance-id, כי הערך גלוי לגורמים חיצוניים.

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

השדה collation (לא מוצג בקריאה הבסיסית ל-API שבהמשך) מאפשר להגדיר ערך ברירת מחדל ל סוג ההשוואה שמשמשת למסדי הנתונים במכונה. ברירת המחדל הזו של ההשוואה היא קבועה ברמת המכונה, אבל לא ברמת מסד הנתונים. אפשר לשנות את ברירת המחדל הזו באמצעות כלי לניהול מסדי נתונים, אבל רק למסד נתונים ספציפי שאתם יוצרים או מעדכנים. אי אפשר לשנות את ברירת המחדל של ה-collation של מכונה אחרי שיוצרים אותה (אלא אם יוצרים אותה מחדש). למידע נוסף על השוואות ב-SQL Server, קראו את המאמר תמיכה בהשוואה וב-Unicode. אב טיפוס של בקשת JSON מופיע בקטע הגדרות. אפשר לציין את מחרוזת הדוגמה הבאה לפרמטר collation: SQL_Latin1_General_CP1_CI_AS.

השדה timeZone (שלא מוצג בקריאה הבסיסית ל-API שבהמשך) מאפשר להגדיר אזור זמן למכונה. אחרי שיוצרים מכונה, אפשר לשנות את אזור הזמן שלה. למידע נוסף ולרשימה של מחרוזות מקובלות, ראו הגדרות. אפשר לציין את המחרוזת לדוגמה הבאה בשדה timeZone: "Pacific Standard Time". למידע נוסף

כדי ליצור מכונה שמשולבת עם שירות מנוהל ל-Microsoft AD, צריך לציין דומיין, כמו subdomain.mydomain.com, בשדה domain. מידע נוסף זמין במאמר יצירת מכונה עם אימות של Windows. בנוסף, חשוב לשים לב ל הליכים ולאילוצים לשילוב עם דומיין של שירות מנוהל ל-Microsoft AD בפרויקט אחר.

למידע על הגדרת הערך של machine-type בגוף הבקשה, קראו את המאמר בחירת סדרת מכונות.

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

  • PROJECT_ID: מזהה הפרויקט.
  • ‫INSTANCE_ID: מזהה המכונה.
  • ‫REGION: שם האזור.
  • ‫DATABASE_VERSION: מחרוזת של טיפוסים בני מנייה (enum) של גרסת מסד הנתונים. לדוגמה: SQLSERVER_2017_STANDARD.
  • ‫PASSWORD: הסיסמה של המשתמש root.
  • ‫MACHINE_TYPE: מחרוזת enum של סוג המכונה (רמה). לדוגמה:
    db-perf-optimized-N-4.
  • ‫EDITION_TYPE: מהדורת Cloud SQL. ערך ברירת המחדל הוא ENTERPRISE.
  • ‫DATA_CACHE_ENABLED: (אופציונלי) כדי להפעיל את המטמון של הנתונים במכונה, מגדירים את הערך של הפרמטר הזה ל-true.
  • ‫PRIVATE_NETWORK: מציינים את השם של רשת הענן הפרטי הווירטואלי (VPC) שבה רוצים להשתמש במכונה הזו. הגישה לשירותים פרטיים כבר צריכה להיות מוגדרת ברשת.
  • ‫AUTHORIZED_NETWORKS: בחיבורים לכתובות IP ציבוריות, מציינים את החיבורים מרשתות מורשות שיכולות להתחבר למכונה.
  • ‫CA_MODE: מציינים היררכיה של רשות אישורים למכונה, GOOGLE_MANAGED_INTERNAL_CA או GOOGLE_MANAGED_CAS_CA. אם לא מציינים את serverCaMode, הגדרת ברירת המחדל היא GOOGLE_MANAGED_INTERNAL_CA. התכונה הזו נמצאת בגרסת טרום-השקה (Preview).
  • ‫SERVER_CERTIFICATE_ROTATION_MODE: כדי להגדיר רוטציה אוטומטית של אישורי השרת במכונה, מציינים את הערך AUTOMATIC_ROTATION_DURING_MAINTENANCE. אם לא מציינים את serverCertificateRotationMode, הגדרת ברירת המחדל היא NO_AUTOMATIC_ROTATION.
  • DNS_NAMES: מוסיפים רשימה מופרדת בפסיקים של עד שלושה שמות DNS לאישור השרת של המכונה ב-Cloud SQL. אתם יכולים לאבטח כמה שמות DNS באמצעות אישור אחד. התכונה הזו זמינה בגרסת טרום-השקה (Preview) ורק למכונות CUSTOMER_MANAGED_CAS_CA.

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

ה-method של ה-HTTP וכתובת ה-URL:

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances

תוכן בקשת JSON:

{
  "name": "INSTANCE_ID",
  "region": "REGION",
  "databaseVersion": "DATABASE_VERSION",
  "rootPassword": "PASSWORD",
  "settings": {
    "tier": "MACHINE_TYPE",
    "edition": "EDITION_TYPE",
    "backupConfiguration": {
      "enabled": true
    },
    "dataCacheConfig": {
      "dataCacheEnabled": DATA_CACHE_ENABLED
    },
    "ipConfiguration": {
      "privateNetwork": "PRIVATE_NETWORK",
      "authorizedNetworks": [AUTHORIZED_NETWORKS],
      "ipv4Enabled": false,
      "serverCaMode": "CA_MODE",
      "serverCertificateRotationMode": "SERVER_CERTIFICATE_ROTATION_MODE",
      "customSubjectAlternativeNames": "DNS_NAMES"
    },
    "dataApiAccess": "ALLOW_DATA_API"
  },
  "sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE"
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-01T19:13:21.834Z",
  "operationType": "CREATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

אחרי שיוצרים את המכונה, אפשר להגדיר את חשבון המשתמש שמוגדר כברירת מחדל.

2. אחזור כתובת ה-IPv4 של המכונה

אפשר גם לאחזר את כתובת ה-IPv4 שהוקצתה באופן אוטומטי. בתשובה, הכתובת הזו נמצאת בשדה ipAddress.

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

  • ‫PROJECT_ID: מזהה הפרויקט
  • ‫INSTANCE_ID: מזהה המכונה שיצרתם בשלב הקודם

ה-method של ה-HTTP וכתובת ה-URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "DATABASE_VERSION",
  "settings": {
    "authorizedGaeApplications": [],
    "tier": "MACHINE_TYPE",
    "kind": "sql#settings",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "activationPolicy": "ALWAYS",
    "ipConfiguration": {
      "authorizedNetworks": [],
      "ipv4Enabled": true
    },
    "locationPreference": {
      "zone": "ZONE",
      "kind": "sql#locationPreference"
    },
    "dataDiskType": "PD_SSD",
    "backupConfiguration": {
      "startTime": "19:00",
      "kind": "sql#backupConfiguration",
      "enabled": true
    },
    "settingsVersion": "1",
    "dataDiskSizeGb": "10"
  },
  "etag": "--redacted--",
  "ipAddresses": [
    {
      "type": "PRIMARY",
      "ipAddress": "10.0.0.1"
    }
  ],
  "serverCaCert": {
    ...
  },
  "instanceType": "CLOUD_SQL_INSTANCE",
  "project": "PROJECT_ID",
  "serviceAccountEmailAddress": "redacted@gcp-sa-cloud-sql.iam.gserviceaccount.com",
  "backendType": "BACKEND_TYPE",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "connectionName": "PROJECT_ID:REGION:INSTANCE_ID",
  "name": "INSTANCE_ID",
  "region": "REGION",
  "gceZone": "ZONE"
}

REST v1beta4

1. יצירת המכונה

לא כל השדות האפשריים מוצגים בקריאה הבסיסית הבאה ל-API. אב טיפוס של בקשת JSON מופיע בקטע הגדרות.

אפשר גם לעיין בדף Instances:insert. במאמר הגדרות של מכונות תוכלו לקרוא מידע נוסף על ההגדרות של המכונות, כולל ערכים תקינים לאזורים. למידע על סוגי מכונות, קראו את המאמר בחירת סדרת מכונות.

אל תכללו מידע רגיש או פרטים אישיים מזהים ב-instance-id, כי הערך גלוי לגורמים חיצוניים.

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

השדה collation (לא מוצג בקריאה הבסיסית ל-API שבהמשך) מאפשר להגדיר ערך ברירת מחדל ל סוג ההשוואה שמשמשת למסדי הנתונים במכונה. ברירת המחדל הזו של השוואה היא קבועה ברמת המכונה, אבל לא ברמת מסד הנתונים. אפשר לשנות את ברירת המחדל הזו באמצעות כלי לניהול מסדי נתונים, אבל רק במסד נתונים ספציפי שיוצרים או מעדכנים. אי אפשר לשנות את ברירת המחדל של ה-collation של מכונה אחרי שיוצרים אותה (אלא אם יוצרים אותה מחדש). למידע נוסף על השוואות ב-SQL Server, קראו את המאמר תמיכה בהשוואה וב-Unicode. אב טיפוס של בקשת JSON מופיע בקטע הגדרות. אפשר לציין את המחרוזת לדוגמה הבאה בפרמטר collation: SQL_Latin1_General_CP1_CI_AS.

השדה timeZone (לא מוצג בקריאה הבסיסית ל-API) מאפשר להגדיר אזור זמן למכונה. אחרי שיוצרים מכונה, אפשר לשנות את אזור הזמן שלה. למידע נוסף ולרשימה של מחרוזות מקובלות, ראו הגדרות. אפשר לציין את המחרוזת לדוגמה הבאה בשדה timeZone: "Pacific Standard Time". למידע נוסף

כדי ליצור מכונה שמשולבת עם השירות המנוהל ל-Microsoft Active Directory, צריך לציין דומיין, כמו subdomain.mydomain.com, בשדה domain. מידע נוסף זמין במאמר יצירת מכונה עם אימות של Windows. בנוסף, חשוב לשים לב ל נהלים ולאילוצים של שילוב עם דומיין של שירות מנוהל ל-Microsoft AD בפרויקט אחר.

למידע על הגדרת הערך של machine-type בגוף הבקשה, קראו את המאמר בחירת סדרת מכונות.

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

  • PROJECT_ID: מזהה הפרויקט.
  • ‫INSTANCE_ID: מזהה המכונה.
  • ‫REGION: שם האזור.
  • ‫DATABASE_VERSION: מחרוזת של טיפוסים בני מנייה (enum) של גרסת מסד הנתונים.
  • ‫MACHINE_TYPE: מחרוזת enum של סוג המכונה (רמה). לדוגמה:
    db-perf-optimized-N-4.
  • ‫PASSWORD: הסיסמה של המשתמש root.
  • ‫MACHINE_TYPE: מחרוזת של טיפוסים בני מנייה (enum) של סוג המכונה (רמה), כמו: db-custom-[CPUS]-[MEMORY_MBS].
  • ‫EDITION_TYPE: מהדורת Cloud SQL. ערך ברירת המחדל הוא ENTERPRISE.
  • ‫DATA_CACHE_ENABLED: (אופציונלי) כדי להפעיל את המטמון של הנתונים במכונה, מגדירים את הערך של הפרמטר הזה ל-true.
  • ‫PRIVATE_NETWORK: מציינים את השם של רשת הענן הווירטואלי הפרטי (VPC) שבה רוצים להשתמש במכונה הזו. כבר צריך להגדיר גישה לשירותים פרטיים ברשת.
  • ‫AUTHORIZED_NETWORKS: בחיבורים של כתובות IP ציבוריות, מציינים את החיבורים מרשתות מורשות שיכולות להתחבר למכונה.
  • ‫CA_MODE: מציינים היררכיה של רשות אישורים למכונה, GOOGLE_MANAGED_INTERNAL_CA או GOOGLE_MANAGED_CAS_CA. אם לא מציינים את serverCaMode, הגדרת ברירת המחדל היא GOOGLE_MANAGED_INTERNAL_CA. התכונה הזו נמצאת בגרסת טרום-השקה (Preview).
  • ‫SERVER_CERTIFICATE_ROTATION_MODE: כדי להגדיר רוטציה אוטומטית של אישורי השרת במכונה, מציינים את הערך AUTOMATIC_ROTATION_DURING_MAINTENANCE. אם לא מציינים את serverCertificateRotationMode, הגדרת ברירת המחדל היא NO_AUTOMATIC_ROTATION.
  • DNS_NAMES: מוסיפים רשימה מופרדת בפסיקים של עד שלושה שמות DNS לאישור השרת של המכונה ב-Cloud SQL. אתם יכולים לאבטח כמה שמות DNS באמצעות אישור אחד. התכונה הזו זמינה בגרסת טרום-השקה (Preview) ורק למכונות CUSTOMER_MANAGED_CAS_CA.

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

ה-method של ה-HTTP וכתובת ה-URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances

תוכן בקשת JSON:

{
  "name": "INSTANCE_ID",
  "region": "REGION",
  "databaseVersion": "DATABASE_VERSION",
  "rootPassword": "PASSWORD",
  "settings": {
    "tier": "MACHINE_TYPE",
    "edition": "EDITION_TYPE",
    "backupConfiguration": {
      "enabled": true
    },
    "dataCacheConfig": {
      "dataCacheEnabled": DATA_CACHE_ENABLED
    },
    "ipConfiguration": {
      "privateNetwork": "PRIVATE_NETWORK",
      "authorizedNetworks": [AUTHORIZED_NETWORKS],
      "ipv4Enabled": false,
      "serverCaMode": "CA_MODE",
      "serverCertificateRotationMode": "SERVER_CERTIFICATE_ROTATION_MODE",
      "customSubjectAlternativeNames": "DNS_NAMES"
    },
    "dataApiAccess": "ALLOW_DATA_API"
  },
  "sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE"
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-01T19:13:21.834Z",
  "operationType": "CREATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

אחרי שיוצרים את המכונה, אפשר להגדיר את חשבון המשתמש שמוגדר כברירת מחדל.

2. אחזור כתובת ה-IPv4 של המכונה

אפשר גם לאחזר את כתובת ה-IPv4 שהוקצתה באופן אוטומטי. בתשובה, הכתובת הזו נמצאת בשדה ipAddress.

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

  • ‫PROJECT_ID: מזהה הפרויקט
  • ‫INSTANCE_ID: מזהה המכונה שיצרתם בשלב הקודם

ה-method של ה-HTTP וכתובת ה-URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "DATABASE_VERSION",
  "settings": {
    "authorizedGaeApplications": [],
    "tier": "MACHINE_TYPE",
    "kind": "sql#settings",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "activationPolicy": "ALWAYS",
    "ipConfiguration": {
      "authorizedNetworks": [],
      "ipv4Enabled": true
    },
    "locationPreference": {
      "zone": "ZONE",
      "kind": "sql#locationPreference"
    },
    "dataDiskType": "PD_SSD",
    "backupConfiguration": {
      "startTime": "19:00",
      "kind": "sql#backupConfiguration",
      "enabled": true
    },
    "settingsVersion": "1",
    "dataDiskSizeGb": "10"
  },
  "etag": "--redacted--",
  "ipAddresses": [
    {
      "type": "PRIMARY",
      "ipAddress": "10.0.0.1"
    }
  ],
  "serverCaCert": {
    ...
  },
  "instanceType": "CLOUD_SQL_INSTANCE",
  "project": "PROJECT_ID",
  "serviceAccountEmailAddress": "redacted@gcp-sa-cloud-sql.iam.gserviceaccount.com",
  "backendType": "BACKEND_TYPE",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "connectionName": "PROJECT_ID:REGION:INSTANCE_ID",
  "name": "INSTANCE_ID",
  "region": "REGION",
  "gceZone": "ZONE"
}
כדי לראות איך בקשת ה-API הבסיסית בארכיטקטורת REST בנויה למשימה הזו, עיינו ב-APIs Explorer בדף instances:insert.

יצירת נקודת הקצה לכתיבה

נקודת קצה לכתיבה היא שם גלובלי של שירות שמות דומיין (DNS) שמתורגם באופן אוטומטי לכתובת ה-IP של המכונה הראשית הנוכחית. נקודת הקצה הזו מפנה אוטומטית חיבורים נכנסים למכונה הראשית החדשה במקרה של פעולת יתירות כשל או מעבר של רפליקה. אפשר להשתמש בנקודת הקצה לכתיבה במחרוזת חיבור של SQL במקום בכתובת IP. שימוש בנקודת קצה לכתיבה מאפשר לכם להימנע משינויים בחיבור של האפליקציה כשיש הפסקה זמנית בשירות באזור.

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

סוגי מכונות

קובע את הזיכרון ואת הליבות הווירטואליות שזמינים למכונה של Cloud SQL. אתם יכולים להגדיר סוגי מכונות מסדרות שונות. הזמינות של סדרות המכונות השונות נקבעת לפי המהדורה והאזור של Cloud SQL.

אם אתם צריכים עיבוד בזמן אמת, כמו עיבוד טרנזקציות אונליין (OLTP), ודאו שיש במכונה מספיק זיכרון כדי להכיל את כל קבוצת העבודה. עם זאת, יש גורמים אחרים שיכולים להשפיע על דרישות הזיכרון, כמו מספר החיבורים הפעילים ותהליכי תקורה פנימיים. כדי למנוע בעיות בביצועים בסביבת הייצור, כדאי לבצע בדיקות עומס.

כשמגדירים את המכונה, צריך לבחור מספיק זיכרון ומעבדי vCPU כדי לענות על הצרכים שלכם, ולהגדיל את המכונה ככל שהדרישות גדלות. יכול להיות שהגדרת מכונה עם מספר לא מספיק של מעבדי vCPU תאבד את הכיסוי של הסכם ה-SLA. הנחיות תפעוליות

מידע נוסף זמין במאמר בחירת סדרת מכונות.

פתרון בעיות

שגיאה פתרון בעיות
הודעת שגיאה: The zone or region does not have sufficient resources to handle the request at the moment.

באזור שנבחר אין מספיק קיבולת למשאבים המבוקשים או לסוג המכונה הווירטואלית בזמן הבקשה ליצירת המכונה. יכול להיות שבזמן הבקשה יש ביקוש תפעולי גבוה בו-זמנית במיקום האזורי הספציפי הזה.

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

הודעת שגיאה: Failed to create subnetwork. Couldn't find free blocks in allocated IP ranges. Please allocate new ranges for this service provider. אין יותר כתובות זמינות בטווח ה-IP שהוקצה. יכולים להיות כמה תרחישים אפשריים:
  • הגודל של טווח כתובות ה-IP שהוקצה לחיבור לשירות הפרטי קטן מ-‎ /24.
  • גודל טווח כתובות ה-IP שהוקצה לחיבור לשירות הפרטי קטן מדי למספר המכונות של Cloud SQL.
  • אם יוצרים מכונות בכמה אזורים, הדרישה לגבי הגודל של טווח כתובות ה-IP שמוקצה תהיה גדולה יותר. גודל הטווח שהוקצה

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

אם השתמשתם בדגל --allocated-ip-range-name בזמן שיצרתם את המכונה של Cloud SQL, אתם יכולים להרחיב רק את טווח כתובות ה-IP שצוין.

אם אתם מקצים טווח חדש, חשוב לוודא שההקצאה לא חופפת להקצאות קיימות.

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

gcloud services vpc-peerings update \
--service=servicenetworking.googleapis.com \
--ranges=OLD_RESERVED_RANGE_NAME,NEW_RESERVED_RANGE_NAME \
--network=VPC_NETWORK \
--project=PROJECT_ID \
--force
    

אם אתם מרחיבים הקצאה קיימת, הקפידו להגדיל רק את טווח ההקצאה ולא להקטין אותו. לדוגמה, אם ההקצאה המקורית הייתה ‎10.0.10.0/24, ההקצאה החדשה צריכה להיות לפחות ‎10.0.10.0/23.

באופן כללי, אם מתחילים מהקצאה של ‎ /24, כלל אצבע טוב הוא להפחית את ה-‎ /mask ב-1 לכל תנאי (קבוצה נוספת של סוגי מכונות, אזור נוסף). לדוגמה, אם מנסים ליצור את שתי קבוצות סוגי המכונות באותה הקצאה, מספיק לעבור מ-‎ /24 ל-‎ /23.

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

gcloud services vpc-peerings update \
--service=servicenetworking.googleapis.com \
--ranges=RESERVED_RANGE_NAME \
--network=VPC_NETWORK \
--project=PROJECT_ID
    
הודעת שגיאה: Failed to create subnetwork. Router status is temporarily unavailable. Please try again later. Help Token: [token-ID]. מנסים ליצור שוב את המכונה של Cloud SQL.
הודעת שגיאה: HTTPError 400: Invalid request: Incorrect Service Networking config for instance: PROJECT_ID:INSTANCE_NAME:SERVICE_NETWORKING_NOT_ENABLED.

מפעילים את Service Networking API באמצעות הפקודה הבאה ומנסים ליצור שוב את המכונה של Cloud SQL.

gcloud services enable servicenetworking.googleapis.com \
--project=PROJECT_ID
    
הודעת שגיאה: Failed to create subnetwork. Required 'compute.projects.get' permission for PROJECT_ID. כשיוצרים מכונה באמצעות כתובת IP פרטית, נוצר חשבון שירות בזמן אמת באמצעות Service Networking API. אם הפעלתם את Service Networking API רק לאחרונה, יכול להיות שחשבון השירות לא ייווצר ויצירת המכונה תיכשל. במקרה כזה, צריך להמתין עד שחשבון השירות יופץ במערכת, או להוסיף אותו ידנית עם ההרשאות הנדרשות.
הודעת שגיאה: More than 3 subject alternative names are not allowed. אתם מנסים להשתמש ב-SAN בהתאמה אישית כדי להוסיף יותר משלושה שמות DNS לאישור השרת של מכונה ב-Cloud SQL. אי אפשר להוסיף למכונה יותר משלושה שמות DNS.
הודעת שגיאה: Subject alternative names %s is too long. The maximum length is 253 characters. חשוב לוודא ששמות ה-DNS שרוצים להוסיף לאישור השרת של מכונה ב-Cloud SQL לא מכילים יותר מ-253 תווים.
הודעת שגיאה: Subject alternative name %s is invalid.

מוודאים ששמות ה-DNS שרוצים להוסיף לאישור השרת של מכונה ב-Cloud SQL עומדים בקריטריונים הבאים:

  • הם לא מכילים תווים כלליים לחיפוש.
  • אין בהן נקודות בסוף.
  • הם עומדים במפרטים של RFC 1034.

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

  1. יוצרים מסד נתונים של SQL Server במכונה.
  2. יצירת משתמשי SQL Server במכונה.
  3. אבטחה ושליטה בגישה למכונה.
  4. מתחברים למכונה באמצעות לקוח של SQL Server.
  5. ייבוא נתונים למסד הנתונים.
  6. מידע על הגדרות המכונה