בדף הזה מוסבר איך ליצור מכונה של Cloud SQL ל-MySQL.
מידע מפורט על כל הגדרות המופע זמין במאמר בנושא הגדרות המופע.
למופע שנוצר יש ארבעה מסדי נתונים של המערכת:
-
information_schema: מאפשר גישה למטא-נתונים של מסד הנתונים, מידע על שרת MySQL. -
mysql: הסכימה של המערכת. היא מכילה טבלאות שמאחסנות מידע שנדרש לשרת MySQL בזמן שהוא פועל. -
performance_schema: תכונה למעקב אחר הביצוע של שרת MySQL ברמה נמוכה. -
sys: מכילה קבוצה של אובייקטים שעוזרים למנהלי מסדי נתונים ולמפתחים לפרש את הנתונים שנאספים על ידי סכימת הביצועים.
המספר המקסימלי של מופעים שיכולים להיות בפרויקט יחיד תלוי בארכיטקטורת הרשת של המופעים האלה:
- ארכיטקטורת רשת חדשה של SQL: אפשר להשתמש בעד 1,000 מופעים לכל פרויקט.
- ארכיטקטורת רשת ישנה של SQL: אפשר להשתמש בעד 100 מופעים לכל פרויקט.
- שימוש בשתי הארכיטקטורות: המגבלה תהיה בין 100 ל-1,000, בהתאם לפיזור של המופעים בשתי הארכיטקטורות.
שליחת בקשת תמיכה כדי לבקש הגדלה. רפליקות לקריאה נספרות כמכונות.
לפני שמתחילים
-
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.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
מוודאים שיש לכם את התפקידים הבאים בחשבון המשתמש:
מידע נוסף על תפקידים והרשאות
יצירת מכונת MySQL
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- לוחצים על Create instance.
- בוחרים באפשרות New instance (מופע חדש).
- בחלונית Choose your database engine בדף Create an instance, לוחצים על Choose MySQL.
בקטע Choose a Cloud SQL edition בדף Create a SQL Server instance, בוחרים את מהדורת Cloud SQL עבור המופע:
EnterpriseאוEnterprise Plus.מידע נוסף על מהדורות Cloud SQL זמין במאמר מבוא למהדורות Cloud SQL.
- בוחרים את הגדרת ברירת המחדל של המהדורה עבור המכונה. כדי לראות את ההגדרות הקבועות מראש שזמינות, לוחצים על התפריט הגדרות קבועות מראש של מהדורה.
- בקטע Instance info, בוחרים את גרסת מסד הנתונים של המכונה. כדי לראות את הגרסאות הזמינות, לוחצים על התפריט גרסת מסד הנתונים.
- אם בוחרים ב-MySQL 8.0 וב-MySQL 8.0.35 או גרסה מאוחרת יותר בגרסה משנית, תיבת הסימון הפעלת שדרוג אוטומטי של גרסה משנית מסומנת אוטומטית עבור המכונה. אם לא רוצים להפעיל שדרוג אוטומטי של הגרסה, מבטלים את הסימון בתיבת הסימון.
- אם בוחרים ב-MySQL 8.0 וב-MySQL 8.0.34 או בגרסה קודמת בגרסה משנית, תיבת הסימון הפעלת שדרוג אוטומטי של גרסה משנית לא זמינה.
אי אפשר לערוך את גרסת מסד הנתונים אחרי שיוצרים את המופע.
- בשדה Instance ID (מזהה המופע) בחלונית Instance info (פרטי המופע), מזינים מזהה למופע.
אין צורך לכלול את מזהה הפרויקט בשם המופע. הפעולה הזו מתבצעת אוטומטית במקרים המתאימים (לדוגמה, בקובצי היומן).
- מגדירים סיסמה למשתמש root.
למרות שיש אפשרות להגדיר ללא סיסמה, לא מומלץ לעשות זאת מטעמי אבטחה.
-
אופציונלי: מגדירים מדיניות לסיסמאות עבור המכונה באופן הבא:
- מסמנים את תיבת הסימון הפעלת מדיניות סיסמאות.
- לוחצים על הלחצן הגדרת מדיניות סיסמאות, מגדירים אחת או יותר מהאפשרויות הבאות ולוחצים על שמירה.
- אורך מינימלי: מציינת את מספר התווים המינימלי שהסיסמה צריכה להכיל.
- מורכבות הסיסמה: בדיקה אם הסיסמה היא שילוב של אותיות קטנות, אותיות גדולות, מספרים ותווים לא אלפאנומריים.
- הגבלת השימוש החוזר בסיסמאות: מציינת את מספר הסיסמאות הקודמות שאסור להשתמש בהן שוב.
האפשרות נתמכת רק ב-Cloud SQL ל-MySQL 8.0 ואילך.
- איסור שימוש בשם המשתמש: מונע את השימוש בשם המשתמש בסיסמה.
- בקטע Choose region and zonal availability (בחירת אזור וזמינות אזורית), בוחרים את האזור והתחום של המופע. הזמינות באזור עשויה להיות שונה בהתאם למהדורת Cloud SQL ל-MySQL שבה אתם משתמשים. מידע נוסף זמין במאמר מידע על הגדרות של מופע.
ממקמים את המופע באותו אזור שבו נמצאים המשאבים שיש להם גישה אליו. לא ניתן לשנות את האזור שבחרתם בהמשך. ברוב המקרים, לא צריך לציין אזור.
אם אתם מגדירים את המופע לזמינות גבוהה, אתם יכולים לבחור גם אזור ראשי וגם אזור משני.
התנאים הבאים חלים כשמשתמשים באזור המשני במהלך יצירת מופע:
- אזורי הזמן שמוגדרים כברירת מחדל הם
Anyלאזור הזמן הראשי ו-Any (different from primary)לאזור הזמן המשני. - אם מציינים גם את האזור הראשי וגם את האזור המשני, הם צריכים להיות אזורים שונים.
- אזורי הזמן שמוגדרים כברירת מחדל הם
- בקטע Customize your instance (התאמה אישית של המופע), מעדכנים את ההגדרות של המופע.
לוחצים על הצגת אפשרויות ההגדרה כדי להציג את קבוצות ההגדרות. לאחר מכן, מרחיבים את הקבוצות שרוצים לבדוק ולהתאים אישית את ההגדרות שלהן.
סיכום של כל האפשרויות שבחרתם מוצג בצד שמאל.
התאמה אישית של הגדרות המופע האלה היא אופציונלית. ערכי ברירת המחדל מוקצים בכל מקרה שבו לא בוצעו התאמות אישיות.
הטבלה הבאה היא הפניה מהירה להגדרות של מופעים. מידע נוסף על כל הגדרה זמין בדף הגדרות המופע.
הגדרה הערות סוג מכונה סוג המכונה בוחרים באפשרות 'ליבה משותפת' או 'ליבה ייעודית'. בליבות משותפות, כל סוג מכונה מסווג לפי מספר המעבדים (הליבות) וכמות הזיכרון של המכונה. ליבות מספר יחידות ה-vCPU של המופע. מידע נוסף זיכרון נפח הזיכרון של המופע, ב-GB. מידע נוסף בהתאמה אישית בסוג המכונה Dedicated core, במקום לבחור הגדרה מוגדרת מראש, לוחצים על הלחצן Custom כדי ליצור מופע עם הגדרה מותאמת אישית. כשבוחרים באפשרות הזו, צריך לבחור את מספר ליבות המעבד ואת כמות הזיכרון של המופע. מידע נוסף מטמון נתונים הפעלת מטמון נתונים כברירת מחדל, האפשרות להפעלת מטמון נתונים נבחרת באופן אוטומטי עבור מופעים של Cloud SQL למהדורת MySQL Enterprise Plus. אם לא רוצים להפעיל מטמון נתונים, צריך לבטל את הסימון בתיבה הפעלת מטמון נתונים. מידע נוסף על מטמון נתונים זמין במאמר מטמון נתונים. אחסון סוג אחסון ההגדרה קובעת אם המופע שלכם משתמש באחסון SSD או HDD. מידע נוסף נפח אחסון נפח האחסון שהוקצה למופע. מידע נוסף הפעלת הגדלה אוטומטית של נפח האחסון קובע אם Cloud SQL יספק אוטומטית יותר אחסון למופע כשייגמר המקום הפנוי. מידע נוסף הצפנה הצפנה בניהול Google אפשרות ברירת המחדל. מפתח הצפנה בניהול הלקוח (CMEK) בוחרים באפשרות כדי להשתמש במפתח עם Google Cloud Key Management Service. מידע נוסף חיבורים כתובת IP פרטית הוספת כתובת IP פרטית למופע. בוחרים אם להשתמש בחיבור גישה לשירותים פרטיים, בחיבור Private Service Connect או בשניהם עבור המופע. הבחירה שלכם מספקת את החיבור לרשת הפרטית עבור המופע. בכל המקרים, נדרשת הגדרה נוספת.
כדי לבחור ולהגדיר את הגישה לשירותים פרטיים, מבצעים את הפעולות הבאות:
- מסמנים את התיבה Private Services Access (PSA) (גישה לשירותים פרטיים).
- בתפריט הנפתח VPC network (רשת VPC), בוחרים את שם הרשת שאליה המופע מחובר.
- בתפריט הנפתח טווח כתובות IP שהוקצה, בוחרים באפשרות אוטומטי או בטווח כתובות IP ספציפי מהתפריט הנפתח.
מידע נוסף על הגדרת גישה לשירותים פרטיים זמין במאמר הגדרת גישה לשירותים פרטיים. למופע יכולה להיות גם כתובת IP ציבורית וגם כתובת IP פרטית.
כדי לבחור ולהגדיר Private Service Connect, מבצעים את הפעולות הבאות:
- מסמנים את התיבה Private Service Connect (PSC).
- לוחצים על Add an Endpoint (הוספת נקודת קצה).
- בקטע Endpoint setup (הגדרת נקודת הקצה), מבצעים את הפעולות הבאות:
- בכרטיס New Endpoint (נקודת קצה חדשה), בוחרים את הפרויקט שבו רוצים להגדיר את נקודת הקצה מהתפריט הנפתח Project (פרויקט).
- בוחרים רשת לנקודת הקצה מהתפריט הנפתח רשת.
- אם Network Connectivity API עדיין לא מופעל, לוחצים על Enable (הפעלה).
- כדי להגדיר את ההרשאות ליצירה אוטומטית של מדיניות חיבור השירות, לוחצים על אישור הגדרת הרשת.
מידע נוסף על הגדרת Private Service Connect זמין במאמר הגדרת Private Service Connect.
כתובת IP ציבורית הוספת כתובת IP ציבורית למופע. אחר כך אפשר להוסיף רשתות מורשות כדי להתחבר למופע. למופע יכולה להיות כתובת IP ציבורית וגם כתובת IP פרטית.
רשתות מורשות מוסיפים את השם של הרשת החדשה ואת כתובת הרשת. מידע נוסף
התרת גישה ל-Data API אם מסמנים את התיבה הזו, משתמשים מורשים יכולים לקרוא ל-Data API כדי להריץ הצהרות SQL במופע. למקרים שבהם יש רק כתובת IP פרטית, האפשרות הזו מאפשרת למשתמשים מורשים להתקשר אל Data API מהאינטרנט הציבורי.
הפעלת נתיב פרטי אם מסמנים את תיבת הסימון הזו, שירותים אחרים של Google Cloud , כמו BigQuery, יכולים לגשת לנתונים ב-Cloud SQL ולהריץ שאילתות על הנתונים האלה דרך חיבור פרטי.
הפעלת ניהול מאגר חיבורים כשמסמנים את התיבה הזו, מפעילים את האפשרות 'ניהול מאגר חיבורים' עבור המופע. ניהול מאגר חיבורים מאפשר לכם לשנות את גודל עומסי העבודה על ידי אופטימיזציה של ניצול המשאבים ושל זמן האחזור של החיבור למכונות Cloud SQL באמצעות איגום וריבוב. מידע נוסף על ניהול מאגר חיבורים זמין במאמר סקירה כללית על ניהול מאגר חיבורים.
אבטחה מצב רשות אישורים של השרת בוחרים את סוג רשות האישורים (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 זמין במאמר הפעלה של רוטציה אוטומטית של אישורי שרת.הגנה על נתונים רמת הגיבוי אפשרות הגיבוי של המופע. אפשר לבחור בין גיבויים משופרים לבין גיבויים רגילים. גיבוי אוטומטי חלון הזמן שבו רוצים שהגיבויים יתחילו. מידע נוסף בחירת המיקום לאחסון הגיבויים ברוב תרחישי השימוש, כדאי לבחור באפשרות 'מספר אזורים'. אם אתם צריכים לאחסן גיבויים באזור ספציפי, למשל אם יש סיבות רגולטוריות לעשות זאת, בוחרים באפשרות 'אזור' ובוחרים את האזור הרצוי מתוך התפריט הנפתח 'מיקום'. בחירת מספר הגיבויים האוטומטיים שרוצים לשמור מספר הגיבויים האוטומטיים שרוצים לשמור (מ-1 עד 365 ימים). מידע נוסף הפעלת שחזור מערכת מנקודה מסוימת בזמן ההגדרה הזו מאפשרת שחזור מערכת מנקודה מסוימת בזמן ורישום ביומן של פעולות כתיבה. מידע נוסף הפעלת הגנה מפני מחיקה המדיניות הזו קובעת אם להגן על מופע מפני מחיקה בטעות. מידע נוסף הפעלת גיבויים שנשמרים אחרי מחיקת מופע המדיניות קובעת אם גיבויים אוטומטיים וגיבויים על פי דרישה יישמרו אחרי מחיקת מופע. מידע נוסף בחירת מספר הימים לשמירת היומנים אפשר להגדיר את השמירה של יומן הרישום מראש לפרק זמן של יום אחד עד 7 ימים. הגדרת ברירת המחדל היא 7 ימים. מידע נוסף תחזוקה חלון מועדף הגדרת חלון של שעה שבו Cloud SQL יכול לבצע תחזוקה שגורמת להפרעה במכונה. אם לא מגדירים את חלון הזמן, אפשר לבצע תחזוקה שעלולה לשבש את הפעילות בכל זמן. מידע נוסף סדר העדכונים התזמון המועדף לעדכוני מופעים, ביחס למופעים אחרים באותו פרויקט. מידע נוסף Flags הוספת סימון אפשר להשתמש בדגלים של מסד הנתונים כדי לשלוט בהגדרות ובפרמטרים של המופע. מידע נוסף תובנות לגבי שאילתות הפעלת התובנות לגבי שאילתות סימון התיבה הזו מפעיל את התכונה 'תובנות לגבי שאילתות' במופע. תובנות לגבי שאילתות מספקות מידע מפורט על השאילתות במסד הנתונים, כולל ביצועי השאילתות, טקסט השאילתות ותוכניות להרצת השאילתות. אחרי שבוחרים באפשרות 'תובנות לגבי שאילתות', אפשר להפעיל תכונות נוספות שמשויכות לתובנות לגבי שאילתות. מידע נוסף על התכונות האלה ועל תובנות לגבי שאילתות זמין במאמר שימוש בתובנות לגבי שאילתות כדי לשפר את הביצועים של שאילתות.
תיעוד ביצועים כשמסמנים את תיבת הסימון Enable Query insights (הפעלת תובנות לגבי שאילתות), מופעל גם איסוף נתוני הביצועים של MySQL באופן אוטומטי.
אם לא רוצים להפעיל את האפשרות 'תיעוד ביצועים' ב-MySQL, מבטלים את הסימון בתיבה תיעוד ביצועים. אפשר להפעיל או להשבית את תיעוד הביצועים של MySQL במכונה קיימת בשלב מאוחר יותר על ידי עדכון הגדרות המכונה. מידע נוסף על תיעוד הביצועים של MySQL זמין במאמר סקירה כללית על תיעוד הביצועים של Cloud SQL.
תוויות הוספת תווית מוסיפים מפתח וערך לכל תווית שמוסיפים. אתם יכולים להשתמש בתוויות כדי לארגן את המופעים. - לוחצים על Create Instance.
הערה: יכול להיות שיעברו כמה דקות עד שהמופע ייווצר. עם זאת, אפשר לראות מידע על המופע בזמן שהוא נוצר.
כדי לראות את הסיסמה בטקסט רגיל, לוחצים על סמל הצגת הסיסמה.
אפשר להזין את הסיסמה באופן ידני או ללחוץ על יצירה כדי ש-Cloud SQL ייצור סיסמה בשבילכם באופן אוטומטי.
gcloud
מידע על התקנה ותחילת העבודה עם ה-CLI של gcloud זמין במאמר התקנת ה-CLI של gcloud. מידע על הפעלת Cloud Shell זמין במאמרי העזרה של Cloud Shell.
- משתמשים בפקודה
gcloud sql instances createכדי ליצור את המכונה: - מספר המעבדים הווירטואליים צריך להיות 1 או מספר זוגי בין 2 ל-96.
- הזיכרון צריך להיות:
- 0.9 עד 6.5GB לכל vCPU
- כפולה של 256MB
- לפחות 3.75GB (3,840MB)
- האזורים חייבים להיות אזורים תקינים.
- אם מציינים את האזור המשני, צריך לציין גם את האזור הראשי.
- אם מציינים את האזורים הראשיים והמשניים, הם צריכים להיות אזורים נפרדים.
- אם מציינים אזור ראשי ואזור משני, הם חייבים להיות באותו אזור.
- משתמשים בפרמטר
--no-assign-ip. - משתמשים בפרמטר
--networkכדי לציין את השם של רשת ה-VPC שרוצים להשתמש בה כדי ליצור חיבור פרטי. -
GOOGLE_MANAGED_INTERNAL_CA: זהו ערך ברירת המחדל. באמצעות האפשרות הזו, רשות אישורים פנימית שמוקדשת לכל מופע של Cloud SQL חותמת על אישור השרת של אותו מופע. -
GOOGLE_MANAGED_CAS_CA: באפשרות הזו נעשה שימוש בהיררכיית CA שכוללת CA בסיסי ו-CA של שרתים משניים שמנוהלים על ידי Cloud SQL ומאוחסנים ב- Google Cloud Certificate Authority Service (CA Service). רשויות אישורים (CA) של שרתים משניים באזור חותמות על אישורי השרתים ומשותפות בין מופעים באזור. האפשרות הזו נתמכת רק ב-MySQL מגרסה 8.0.30 ואילך. CUSTOMER_MANAGED_CAS_CA: באמצעות האפשרות הזו מגדירים את היררכיית ה-CA ומנהלים את הרוטציה של אישורי ה-CA. יוצרים מאגר CA ב-CA Service באותו אזור של המכונה. אחת מרשויות האישורים במאגר משמשת לחתימה על אישור השרת. האפשרות הזו נתמכת רק ב-MySQL מגרסה 8.0.30 ואילך. מידע נוסף זמין במאמר בנושא שימוש ב-CA בניהול הלקוח.-
NO_AUTOMATIC_ROTATION: זהו ערך ברירת המחדל. אם תבחרו באפשרות הזו, לא יתבצע סבב אוטומטי של אישורי השרת. צריך לבצע רוטציה של אישורי השרת באופן ידני. -
AUTOMATIC_ROTATION_DURING_MAINTENANCE: באמצעות האפשרות הזו, מופעל סיבוב אוטומטי של אישורי שרת במהלך תחזוקה מתוזמנת של Cloud SQL או עדכוני תחזוקה בשירות עצמי. הערך שלserver_ca_modeצריך להיותGOOGLE_MANAGED_CAS_CAאוCUSTOMER_MANAGED_CAS_CA. - האזורים חייבים להיות אזורים תקינים.
- אם מציינים את האזור המשני, צריך לציין גם את האזור הראשי.
- שימו לב לכתובת ה-IP שהוקצתה באופן אוטומטי.
אם אתם לא משתמשים בשרת proxy ל-Cloud SQL Auth, תשתמשו בכתובת הזו ככתובת המארח שהאפליקציות או הכלים שלכם משתמשים בה כדי להתחבר למכונה.
- מגדירים את הסיסמה למשתמש MySQL root@%:
gcloud sql users set-password root \ --host=% \ --instance INSTANCE_NAME \ --password PASSWORD
למכונות במהדורת Cloud SQL Enterprise Plus:
gcloud sql instances create INSTANCE_NAME \ --region=REGION \ --tier=TIER \ --database-version=DATABASE_VERSION \ --edition=ENTERPRISE_PLUS
למכונות במהדורת Cloud SQL Enterprise:
gcloud sql instances create INSTANCE_NAME \ --cpu=NUMBER_CPUS \ --memory=MEMORY_SIZE \ --region=REGION
--tier אם בוחרים db-f1-micro או db-g1-small כסוג המכונה:
gcloud sql instances create INSTANCE_NAME \ --tier=API_TIER_STRING \ --region=REGION
יש הגבלות על הערכים של vCPU וגודל הזיכרון:
לדוגמה, הפקודה הבאה יוצרת מכונה במהדורת Cloud SQL Enterprise עם שני מעבדי vCPU וזיכרון בנפח 7,680MB:
gcloud sql instances create myinstance \ --database-version=MYSQL_8_0 \ --cpu=2 \ --memory=7680MB \ --region=us-central1
הפקודה הבאה יוצרת מכונה במהדורת Cloud SQL Enterprise Plus עם ארבע ליבות:
gcloud sql instances create myinstance \ --database-version=MYSQL_8_0_31 \ --tier=db-perf-optimized-N-4 \ --edition=ENTERPRISE_PLUS \ --region=us-central1
ערך ברירת המחדל של REGION הוא us-central1.
אסור לכלול בשם של המופע מידע רגיש או פרטים אישיים מזהים, כי הוא גלוי מחוץ למופע.
לא צריך לכלול את מזהה הפרויקט בשם המופע. הפעולה הזו מתבצעת אוטומטית במקרים המתאימים (לדוגמה, בקובצי היומן).
אם אתם יוצרים מופע לזמינות גבוהה, אתם יכולים לציין את האזורים הראשי והמשני באמצעות הפרמטרים --zone ו---secondary-zone. התנאים הבאים חלים כשמשתמשים באזור המשני במהלך יצירה או עריכה של מופע:
אפשר להוסיף עוד פרמטרים כדי לקבוע הגדרות נוספות של המופע:
| הגדרה | פרמטר | הערות |
|---|---|---|
| פרמטרים נדרשים | ||
| גרסת מסד הנתונים | --database-version |
גרסת מסד הנתונים, שמבוססת על מהדורת Cloud SQL. |
| אזור | --region |
הצגת ערכים תקינים |
| הגדרת מדיניות סיסמאות | ||
| הפעלת מדיניות סיסמאות | --enable-password-policy |
הגדרת המדיניות בנושא סיסמאות מופעלת כשמשתמשים בה. כברירת מחדל, מדיניות הסיסמאות מושבתת. כשמשביתים את המדיניות באמצעות הפרמטר --clear-password-policy, הפרמטרים האחרים של מדיניות הסיסמאות מאופסים.
|
| אורך מינימלי | --password-policy-min-length |
מציינת את מספר התווים המינימלי שהסיסמה צריכה להכיל. |
| מורכבות הסיסמה | --password-policy-complexity |
ההגדרה הזו מאפשרת לבדוק את מורכבות הסיסמה כדי לוודא שהיא מכילה כל אחד מהסוגים הבאים של תווים: אותיות קטנות, אותיות גדולות, ספרות ותווים שהם לא אלפאנומריים. מגדירים את הערך כ-COMPLEXITY_DEFAULT. |
| הגבלת השימוש החוזר בסיסמאות | --password-policy-reuse-interval |
קובעת כמה סיסמאות קודמות לא ניתן להגדיר מחדש. האפשרות נתמכת רק ב-Cloud SQL ל-MySQL 8.0 ומעלה. |
| איסור שימוש בשם משתמש | --password-policy-disallow-username-substring |
ההגדרה הזו מונעת שימוש בשם המשתמש בסיסמה. כדי להשבית את הבדיקה, משתמשים בפרמטר --no-password-policy-disallow-username-substring. |
| קישוריות | ||
| ניהול מאגר חיבורים | --enable-connection-pooling |
ההגדרה מאפשרת ניהול מאגר חיבורים במופע החדש. אחרי שיוצרים את המופע, אפשר להגדיר הגדרות מתקדמות של Managed Connection Pooling.
הערה: התכונה הזו זמינה רק במופעים של Cloud SQL במהדורת Enterprise Plus שהוגדרו בהתאם לדרישות של Managed Connection Pooling. |
| כתובת IP פרטית |
גישה לשירותים פרטיים
Private Service Connect
|
--network: מציין את השם של רשת ה-VPC שרוצים להשתמש בה עבור המכונה הזו. הגישה לשירותים פרטיים צריכה להיות מוגדרת כבר ברשת. האפשרות זמינה רק לפקודת הבטא
(gcloud beta sql instances create).
הפרמטר הזה תקף רק אם: למופעי Cloud SQL שמשתמשים ב-Private Service Connect לחיבורי IP פרטיים, משתמשים בדגלים הבאים: מידע נוסף על הגדרת 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 ציבורית, רק חיבורים מרשתות מורשות יכולים להתחבר למופע. מידע נוסף |
| אכיפת SSL |
|
הפרמטר הפרמטר |
| מצב CA של השרת | --server-ca-mode |
הדגל |
| רוטציה אוטומטית של אישורי שרת | --server-certificate-rotation-mode |
הדגל |
| ארכיטקטורת רשת | --enforce-new-sql-network-architecture |
אפשר לאכוף את השימוש בארכיטקטורת הרשת החדשה עבור המופע בזמן היצירה. שימוש בדגל הזה כשיוצרים מכונה לפני שהפרויקט שודרג באופן מלא לארכיטקטורת הרשת החדשה עלול לגרום לצריכת יתר של כתובות IP או לכשל ביצירת מכונות אם לא נשארו מספיק כתובות IP בטווח כתובות ה-IP שהוקצה. מידע נוסף זמין במאמרים שדרוג מכונה לארכיטקטורת הרשת החדשה והקצאת טווח כתובות IP. |
| סוג המכונה והאחסון | ||
| סוג המכונה | --tier |
משמש לציון מופע עם ליבת מעבד משותפת (db-f1-micro או db-g1-small). כדי להגדיר מופע בהתאמה אישית, משתמשים בפרמטרים --cpu או --memory. מידע נוסף זמין במאמר בנושא הגדרת מופע בהתאמה אישית.
|
| סוג אחסון | --storage-type |
ההגדרה קובעת אם המופע שלכם משתמש באחסון SSD או HDD. מידע נוסף |
| נפח אחסון | --storage-size |
נפח האחסון שהוקצה למופע, ב-GB. מידע נוסף |
| הגדלת נפח האחסון באופן אוטומטי | --storage-auto-increase |
קובע אם Cloud SQL יספק אוטומטית יותר אחסון למופע כשייגמר המקום הפנוי. מידע נוסף |
| מגבלת הגדלה אוטומטית של נפח האחסון | --storage-auto-increase-limit |
ההגדרה הזו קובעת את הגודל המקסימלי שאליו יכול לגדול האחסון ב-Cloud SQL באופן אוטומטי. מידע נוסף |
| מטמון נתונים (אופציונלי) | --enable-data-cache |
הגדרה שמאפשרת או משביתה את מטמון הנתונים למופעים. מידע נוסף זמין במאמר בנושא מטמון נתונים. |
| גיבויים אוטומטיים וזמינות גבוהה | ||
| זמינות גבוהה | --availability-type |
כדי להגדיר מופע עם זמינות גבוהה, מגדירים את הערך REGIONAL.
מידע נוסף
|
| אזור משני | --secondary-zone |
אם אתם יוצרים מכונה וירטואלית לזמינות גבוהה, אתם יכולים לציין גם את האזור הראשי וגם את האזור המשני באמצעות האפשרויות --zone ו---secondary-zone parameters. ההגבלות הבאות חלות כשמשתמשים באזור המשני במהלך יצירה או עריכה של מופע:
אם מציינים את האזורים הראשי והמשני, הם צריכים להיות אזורים נפרדים. אם מציינים אזור ראשי ואזור משני, הם חייבים להיות באותו אזור. |
| גיבויים אוטומטיים | --backup-start-time |
חלון הזמן שבו רוצים שהגיבויים יתחילו. מידע נוסף |
| הגדרות שימור לגיבויים אוטומטיים | --retained-backups-count |
מספר הגיבויים האוטומטיים שיישארו. מידע נוסף |
| רישום ביומן בינארי | --enable-bin-log |
רישום ביומן בינארי מאפשר שכפול ושחזור מנקודה מסוימת בזמן. מידע נוסף |
| הגדרות שמירה של רישום בינארי | --retained-transaction-log-days |
מספר הימים לשמירת יומנים בינאריים לצורך שחזור מערכת מנקודה מסוימת בזמן (PITR). מידע נוסף |
| שחזור מערכת מנקודה מסוימת בזמן (PITR) | --enable-point-in-time-recovery |
ההגדרה הזו מאפשרת שחזור מערכת מנקודה מסוימת בזמן ורישום ביומן של פעולות כתיבה. מידע נוסף |
| הוספת דגלים לניהול מסד נתונים | ||
| דגלים לניהול מסד נתונים | --database-flags |
אפשר להשתמש בדגלים של מסד הנתונים כדי לשלוט בהגדרות ובפרמטרים של המופע. מידע נוסף על דגלים של מסדי נתונים מידע נוסף על הפורמט של הפרמטר הזה |
| לוח זמנים לתחזוקה | ||
| חלון זמן לתחזוקה | --maintenance-window-day,
--maintenance-window-hour |
הגדרת חלון של שעה שבו Cloud SQL יכול לבצע תחזוקה שגורמת להפרעה במכונה. אם לא מגדירים חלון זמן לתחזוקה, אפשר לבצע תחזוקה שעלולה לשבש את הפעילות בכל שלב. מידע נוסף |
| תזמון התחזוקה | --maintenance-release-channel |
התזמון המועדף לעדכוני מופעים, ביחס למופעים אחרים באותו פרויקט. אפשר להשתמש ב-preview כדי לראות עדכונים קודמים וב-production כדי לראות עדכונים מאוחרים יותר.
מידע נוסף
|
| שדרוג אוטומטי של גרסה משנית | ||
| הפעלה של שדרוג אוטומטי של גרסה משנית | --enable-auto-upgrade-minor-version |
במכונות MySQL 8.0 שבהן מצוינת גרסה משנית 8.0.35 ואילך, למשל --database-version=MYSQL_8_0_35--database-version=MYSQL_8_0 |
| תובנות לגבי שאילתות | ||
--insights-config-query-insights-enabled |
הפעלת התובנות לגבי שאילתות כדי לספק ניתוח של שאילתות ותוכניות שאילתות. | |
--insights-config-enhanced-query-insights-enabled |
ההגדרה הזו מפעילה ניתוח משופר של שאילתות ב-Cloud SQL Enterprise Plus edition, כדי לספק ניתוח מפורט יותר של שאילתות. | |
--performance-capture-config |
משתמשים בדגל הזה כדי להגדיר את ההגדרות של לכידת הביצועים של MySQL במכונת MySQL.
כשמפעילים את התכונה 'תובנות לגבי שאילתות' או את התכונה 'תובנות משופרות לגבי שאילתות',
מופעל גם תיעוד הביצועים של MySQL עם תנאי טריגר שמוגדרים כברירת מחדל. אפשר להגדיר או להשבית את תיעוד הביצועים באמצעות הדגל --performance-capture-config באותה פקודת יצירה, או לעדכן את המופע מאוחר יותר.
מידע נוסף זמין במאמר בנושא הגדרת תיעוד הביצועים של MySQL.
|
|
| SAN בהתאמה אישית | ||
| הוספת שם חלופי של בעלים (subject) מותאם אישית (SAN) | --custom-subject-alternative-names=DNS_NAMES |
אם אתם רוצים להשתמש בשם DNS מותאם אישית כדי להתחבר למכונת Cloud SQL במקום להשתמש בכתובת IP, אתם צריכים להגדיר את ההגדרה של שם חלופי של בעלים (subject) (SAN) בזמן יצירת המכונה. שם ה-DNS המותאם אישית שמוסיפים להגדרת ה-SAN המותאמת אישית מתווסף לשדה ה-SAN של אישור השרת של המופע. כך תוכלו להשתמש בשם ה-DNS המותאם אישית עם אימות שם המארח בצורה מאובטחת. כדי להשתמש בשם ה-DNS המותאם אישית בלקוחות ובאפליקציות, צריך להגדיר את המיפוי בין שם ה-DNS לכתובת ה-IP. הפעולה הזו נקראת פענוח DNS. אתם יכולים להוסיף לרשימה מופרדת בפסיקים עד שלושה שמות DNS מותאמים אישית להגדרת ה-SAN המותאמת אישית. |
Terraform
כדי ליצור מכונה, משתמשים במשאב של Terraform.
החלה של השינויים
כדי להחיל את הגדרות Terraform בפרויקט ב- Google Cloud , מבצעים את השלבים בקטעים הבאים.
הכנת Cloud Shell
- מפעילים את Cloud Shell.
-
מגדירים את פרויקט ברירת המחדל שבו רוצים להחיל את ההגדרות של Terraform. Google Cloud
תצטרכו להריץ את הפקודה הזו רק פעם אחת לכל פרויקט, ותוכלו לעשות זאת בכל ספרייה.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
אם תגדירו ערכים ספציפיים בקובץ התצורה של Terraform, הם יבטלו את ערכי ברירת המחדל של משתני הסביבה.
הכנת הספרייה
לכל קובץ תצורה של Terraform צריכה להיות ספרייה משלו (שנקראת גם מודול ברמה הבסיסית).
-
יוצרים ספרייה חדשה ב-Cloud Shell ובה יוצרים קובץ חדש. שם הקובץ חייב לכלול את הסיומת
.tf, למשלmain.tf. במדריך הזה, הקובץ נקראmain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
אם אתם עוקבים אחרי המדריך, תוכלו להעתיק את הקוד לדוגמה בכל קטע או שלב.
מעתיקים את הקוד לדוגמה בקובץ
main.tfהחדש שיצרתם.לחלופין, אפשר גם להעתיק את הקוד מ-GitHub. כדאי לעשות את זה כשקטע הקוד של Terraform הוא חלק מפתרון מקצה לקצה.
- בודקים את הפרמטרים לדוגמה ומשנים אותם בהתאם לסביבה שלכם.
- שומרים את השינויים.
-
מפעילים את Terraform. צריך לעשות זאת רק פעם אחת לכל ספרייה.
terraform init
אופציונלי: תוכלו לכלול את האפשרות
-upgrade, כדי להשתמש בגרסה העדכנית ביותר של הספק של Google:terraform init -upgrade
החלה של השינויים
-
בודקים את ההגדרות ומוודאים שהמשאבים שמערכת Terraform תיצור או תעדכן תואמים לציפיות שלכם:
terraform plan
מתקנים את ההגדרות לפי הצורך.
-
מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה, כדי להחיל את הגדרות Terraform:terraform apply
ממתינים עד שב-Terraform תוצג ההודעה "Apply complete!".
- פותחים את Google Cloud הפרויקט כדי לראות את התוצאות. במסוף Google Cloud , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.
מחיקת השינויים
כדי למחוק את השינויים:
- כדי להשבית את ההגנה מפני מחיקה, מגדירים בקובץ התצורה של Terraform את הארגומנט
deletion_protectionלערךfalse.deletion_protection = "false"
- מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה, כדי להחיל את הגדרות Terraform המעודכנות:terraform apply
-
כדי להסיר משאבים שהוחלו בעבר על הגדרות Terraform, מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה:terraform destroy
REST v1
יצירת המופע
בדוגמה הזו נוצרת מכונה. נכללים גם פרמטרים אופציונליים מסוימים, כמו backups ו-binary logging. רשימה מלאה של הפרמטרים של הקריאה הזו מופיעה בדף Instances:insert. מידע על הגדרות של מופעים, כולל ערכים תקינים לאזור, זמין במאמר הגדרות של מופעים.
אסור לכלול מידע רגיש או פרטים אישיים מזהים במזהה המופע, כי הוא גלוי מחוץ לארגון.
אין צורך לכלול את מזהה הפרויקט בשם המופע. הפעולה הזו מתבצעת אוטומטית במקרים המתאימים (לדוגמה, בקובצי היומן).
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה
- DATABASE_VERSION: גרסת מסד הנתונים.
לדוגמה:
MYSQL_9_7, MYSQL_8_4אוMYSQL_8_0_37. אם לא מציינים גרסת מסד נתונים, גרסת ברירת המחדל של מסד הנתונים היאMYSQL_8_4. - REGION: האזור
- MACHINE_TYPE: סוג המכונה
- EDITION_TYPE: מהדורת Cloud SQL שלכם
- 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. התכונה הזו נמצאת בגרסת טרום-השקה. - SERVER_CERTIFICATE_ROTATION_MODE: לסיבוב אוטומטי של אישורי שרת עבור
- SERVER_CERTIFICATE_ROTATION_MODE: כדי להגדיר רוטציה אוטומטית של אישורי שרת עבור המופע, מציינים
AUTOMATIC_ROTATION_DURING_MAINTENANCE. אם לא מציינים אתserverCertificateRotationMode, ברירת המחדל היאNO_AUTOMATIC_ROTATION. - DNS_NAMES: מוסיפים רשימה מופרדת בפסיקים של עד שלושה שמות DNS לאישור השרת של מופע Cloud SQL. אפשר לאבטח כמה שמות DNS באמצעות אישור אחד. התכונה הזו זמינה בגרסת טרום-השקה ורק במופעים של
CUSTOMER_MANAGED_CAS_CA.
כדי להגדיר מדיניות סיסמאות בזמן יצירת מכונה, כוללים את האובייקט passwordValidationPolicy בבקשה. מגדירים את הפרמטרים הבאים, לפי הצורך:
-
enablePasswordPolicy: מפעיל את מדיניות הסיסמאות כשהערך הואtrue.כדי להסיר את מדיניות הסיסמאות, אפשר להשתמש בבקשת
PATCHעםnullכערך שלenablePasswordPolicy. במקרה כזה, הפרמטרים האחרים של מדיניות הסיסמאות מאופסים. -
minLength: מציין את מספר התווים המינימלי שהסיסמה צריכה להכיל. -
complexity: בודקת אם הסיסמה היא שילוב של אותיות קטנות, אותיות רישיות, ספרות ותווים לא אלפאנומריים. ערך ברירת המחדל הואCOMPLEXITY_DEFAULT. -
reuseInterval: מציינת את מספר הסיסמאות הקודמות שאסור להשתמש בהן שוב.האפשרות נתמכת רק ב-Cloud SQL ל-MySQL 8.0 ואילך.
-
disallowUsernameSubstring: אם הערך הואtrue, אי אפשר להשתמש בשם המשתמש בסיסמה.
אפשר להשתמש בשדה sqlNetworkArchitecture כדי לאכוף את השימוש בארכיטקטורת הרשת החדשה עבור המכונה עם היצירה שלה, גם אם הפרויקט לא שודרג באופן מלא.
פרטים נוספים על ארכיטקטורת הרשת החדשה וההשלכות שלה מופיעים במאמרים
שדרוג מכונה לארכיטקטורת הרשת החדשה והקצאת טווח של כתובות IP.
כדי להגדיר את המופע לתובנות לגבי שאילתות, מבצעים את ההחלפות המתאימות בקטע
insightsConfig:
- QUERY_INSIGHTS_ENABLED: צריך להגדיר את הערך
trueכדי להפעיל את התובנות לגבי שאילתות עבור המופע. - RECORD_CLIENT_ADDRESS: מוגדר כ-
trueכדי לאחסן את כתובות ה-IP של הלקוחות שמהן מגיעות השאילתות, וכדי לעזור לכם לקבץ את הנתונים האלה ולהפעיל מדדים לגביהם. השאילתות מגיעות מיותר ממארח אחד. בדיקת הגרפים של שאילתות מכתובות IP של לקוחות יכולה לעזור לזהות את מקור הבעיה. - RECORD_APPLICATION_TAGS: מוגדר כ-
trueכדי לאחסן תגי אפליקציה שעוזרים לכם לקבוע את ממשקי ה-API ואת המסלולים של בקר התצוגה של המודל (MVC) ששולחים בקשות, ולקבץ את הנתונים כדי להפעיל מדדים על בסיסם. כדי להשתמש באפשרות הזו, צריך להוסיף הערות לשאילתות עם קבוצה ספציפית של תגים. אפשר לעשות זאת באמצעות ספריית sqlcommenter בקוד פתוח למיפוי יחסי של אובייקטים (ORM) עם מכשור אוטומטי. המידע הזה עוזר לכלי Query Insights לזהות את מקור הבעיה ואת ה-MVC שממנו הבעיה מגיעה. נתיבי אפליקציות עוזרים לכם לעקוב אחרי אפליקציות. - QUERY_STRING_LENGTH: מוגדר למגבלת אורך השאילתה בבייטים. מגדיר את מגבלת אורך השאילתה שמוגדרת כברירת מחדל. אורך שאילתה גדול יותר שימושי יותר לשאילתות אנליטיות, אבל הוא גם דורש יותר זיכרון. כדי לשנות את אורך השאילתה, צריך להפעיל מחדש את המופע.
עדיין אפשר להוסיף תגים לשאילתות שחורגות ממגבלת האורך.
במהדורת Cloud SQL Enterprise, אפשר לציין ערך בבייט מ-
256עד4500. אורך ברירת המחדל של השאילתה הוא1024בייטים. במהדורת Cloud SQL Enterprise Plus, אפשר לציין מגבלה בבייטים מ-1עד1048576. ערך ברירת המחדל הוא1024בייט (1 KB). - QUERY_PLANS_PER_MINUTE: הערך שמוגדר כאן הוא מספר תוכניות השאילתות שיירשמו בכל דקה.
כברירת מחדל, המערכת מתעדת עד 5 דוגמאות של תוכניות שאילתות שהופעלו בכל דקה בכל מסדי הנתונים במופע. הגדלת קצב הדגימה כנראה תספק לכם יותר נקודות נתונים, אבל עלולה להוסיף תקורה לביצועים. כדי להשבית את הדגימה, מגדירים את הערך הזה ל-
0. במהדורת Cloud SQL Enterprise, אפשר לשנות את הערך מ-0 ל-20. במהדורת Cloud SQL Enterprise Plus, אפשר להגדיל את הערך המקסימלי עד 200 כדי לספק יותר נקודות נתונים. - ENABLE_ENHANCED_QUERY_INSIGHTS_ENABLED: מגדירים את הערך
trueכדי להפעיל את התובנות המשופרות לגבי השאילתות עבור המופע.
בשדה performanceCaptureConfig, כוללים את הגדרות הדגל הבאות.
אם לא מגדירים ערכים לדגלים, סוכן המעקב משתמש בערכי ברירת המחדל של ספי ההתראה. מידע מפורט יותר על הטריגרים שמוגדרים על ידי הדגלים האלה זמין במאמר בנושא טריגרים של לכידת ביצועים.
- PERFORMANCE_CAPTURE_ENABLED: מוגדר ל-
falseכדי להשבית את איסוף נתוני הביצועים של MySQL עבור המופע. אם הערך שלqueryInsightsEnabledהואtrue, אז הלכידה של נתוני הביצועים מופעלת באופן אוטומטי, וערכי ברירת המחדל מוחלים על תנאי הטריגר שמבוססים על סף. - PROBING_INTERVAL_SECONDS: מספר שלם בין
30ל-86400. מרווח הזמן בשניות בין בדיקות המדדים. ברירת המחדל היא30. - PROBE_THRESHOLD: מספר הפעמים הרצופות שצריך לחרוג מסף מסוים כדי להפעיל את תיעוד הביצועים. הטווח התקין הוא
1עד20. ברירת המחדל היא3. - RUNNING_THREADS_THRESHOLD: במופעים ראשיים, מספר השרשורים הפעילים המינימלי שנחשב מעל הסף. לדוגמה,
10. הערך חייב להיות גדול מ-10או שווה לו. אם לא מגדירים את הערך, ברירת המחדל מבוססת על גודל המופע. ברירת המחדל היאMIN(600, cpuCount * 20). ערך ברירת המחדל הוא600או מספר ליבות ה-vCPU במופע כפול20, לפי הנמוך מביניהם. - SECONDS_BEHIND_SOURCE_THRESHOLD: לגבי העתקים לקריאה, השהיית השכפול המינימלית בשניות, שנחשבת מעל ערך הסף. הערך חייב להיות גדול מ-
1. ברירת המחדל היא900. - TRANSACTION_DURATION_THRESHOLD: משך הזמן, בשניות, של טרנזקציה לא מחויבת לפני שהמערכת עוקבת אחריה וכוללת אותה ביומן של תיעוד הביצועים.
לדוגמה,
300. הערך המינימלי הוא60. ברירת המחדל היא3600. - SECONDS: משך הזמן בשניות של העסקאות ארוכות הטווח שיוסיימו באופן אוטומטי. אי אפשר להגדיר את המגבלה הזו לערך נמוך מהערך שהגדרתם לפרמטר
transactionDurationThreshold(TRANSACTION_DURATION_THRESHOLD). - TRANSACTION_TYPE: קובע את קטגוריות העסקאות שיש לסיים. הערכים האפשריים הם:
-
READ_ONLY_TRANSACTIONS: מסיימת רק שאילתות לקריאה בלבד או שאילתותSELECT. זו ברירת המחדל אם לא צויןtransactionKillType. -
ALL_TRANSACTIONS: מסיים כל שאילתה פעילה שחורגת מהסף, כולל שאילתות עם פעולות כתיבה. זה כולל אתINSERT,UPDATE,DELETEומשפטים אחרים שלDDL.
-
- EXCLUSION_LIST: רשימה של מחרוזות שיוחרגו. אפשר לספק את הערכים כ-
user@hostאו כמשתמש עצמאי, שברירת המחדל שלו היאuser@%. הרשימה תומכת בתווים הכלליים לחיפוש%ו-_להתאמה בחלק של המארח. - CPU_UTILIZATION_THRESHOLD_PERCENT: אחוז השימוש הכולל במעבד שחורג באופן עקבי.
לדוגמה,
90. הערך המינימלי הוא10והערך המקסימלי הוא99. ברירת המחדל היא0(מושבת). - MEMORY_USAGE_THRESHOLD_PERCENT: אחוז השימוש הכולל בזיכרון שצריך לעבור באופן עקבי.
לדוגמה,
90. הערך המינימלי הוא10והערך המקסימלי הוא99. ברירת המחדל היא0(מושבת). - TRANSACTION_LOCK_WAIT_THRESHOLD_COUNT:
ערך הסף לעסקאות שמותר שיהיו במצב
LOCK WAIT. לדוגמה,50. הערך המינימלי הוא10והערך המקסימלי הוא10000. ברירת המחדל היא0(מושבת). - SEMAPHORE_WAIT_THRESHOLD_COUNT:
the threshold for the number of threads waiting on InnoDB semaphores from the
SHOW ENGINE INNODB STATUScommand. לדוגמה,20. הערך המינימלי הוא10והערך המקסימלי הוא10000. ברירת המחדל היא0(מושבת). - HISTORY_LIST_LENGTH_THRESHOLD_COUNT:
ערך הסף של מספר הרשומות ברשימת ההיסטוריה של InnoDB (HLL) שמותר
למסד הנתונים.
לדוגמה,
100000. הערך המינימלי הוא10000והערך המקסימלי הוא10000000. ברירת המחדל היא0(מושבת).
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
תוכן בקשת JSON:
{
"name": "INSTANCE_ID",
"region": "REGION",
"databaseVersion": "DATABASE_VERSION",
"settings": {
"tier": "MACHINE_TYPE",
"edition": "EDITION_TYPE",
"dataCacheConfig": {
"dataCacheEnabled": DATA_CACHE_ENABLED
},
"backupConfiguration": {
"binaryLogEnabled": true,
"enabled": true
},
"passwordValidationPolicy": {
"enablePasswordPolicy": true
"minLength": "MIN_LENGTH",
"complexity": COMPLEXITY_DEFAULT,
"reuseInterval": "REUSE_INTERVAL",
"disallowUsernameSubstring": "DISALLOW_USERNAME_SUBSTRING"
},
"ipConfiguration": {
"privateNetwork": "PRIVATE_NETWORK",
"authorizedNetworks": [AUTHORIZED_NETWORKS],
"ipv4Enabled": false,
"enablePrivatePathForGoogleCloudServices": true,
"serverCaMode": "CA_MODE",
"serverCertificateRotationMode": "SERVER_CERTIFICATE_ROTATION_MODE",
"customSubjectAlternativeNames": "DNS_NAMES"
},
"dataApiAccess": "ALLOW_DATA_API",
"insightsConfig" : {
"queryInsightsEnabled" : QUERY_INSIGHTS_ENABLED,
"recordClientAddress" : RECORD_CLIENT_ADDRESS,
"recordApplicationTags" : RECORD_APPLICATION_TAGS,
"queryStringLength" : QUERY_STRING_LENGTH,
"queryPlansPerMinute" : QUERY_PLANS_PER_MINUTE,
"enableEnhancedQueryInsightsEnabled": ENABLE_ENHANCED_QUERY_INSIGHTS_ENABLED
},
"performanceCaptureConfig": {
"enabled": PERFORMANCE_CAPTURE_ENABLED,
"probingIntervalSeconds": PROBING_INTERVAL_SECONDS,
"probeThreshold": PROBE_THRESHOLD,
"runningThreadsThreshold": RUNNING_THREADS_THRESHOLD,
"secondsBehindSourceThreshold": SECONDS_BEHIND_SOURCE_THRESHOLD,
"cpuUtilizationThresholdPercent": CPU_UTILIZATION_THRESHOLD_PERCENT,
"memoryUsageThresholdPercent": MEMORY_USAGE_THRESHOLD_PERCENT,
"transactionLockWaitThresholdCount": TRANSACTION_LOCK_WAIT_THRESHOLD_COUNT,
"semaphoreWaitThresholdCount": SEMAPHORE_WAIT_THRESHOLD_COUNT,
"historyListLengthThresholdCount": HISTORY_LIST_LENGTH_THRESHOLD_COUNT,
"transactionDurationThreshold": TRANSACTION_DURATION_THRESHOLD,
"transactionKillThresholdSeconds": SECONDS,
"transactionKillType": TRANSACTION_TYPE,
"transactionKillExcludedUserHosts": [ EXCLUSION_LIST
]
},
}
"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": "2019-09-25T22:19:33.735Z",
"operationType": "CREATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
התשובה היא פעולה ארוכת טווח, שיכולה להימשך כמה דקות.
עדכון סיסמת הבסיס
כשהאתחול של המכונה מסתיים, מעדכנים את סיסמת הבסיס:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-id: מזהה המופע שנוצר בשלב הקודם
- root-password: סיסמת הבסיס הרצויה
ה-method של ה-HTTP וכתובת ה-URL:
PUT https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users?host=%25&name=root
תוכן בקשת JSON:
{
"name": "root",
"host": "%",
"password": "root-password"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
"status": "DONE",
"user": "user@example.com",
"insertTime": "2019-09-26T14:32:30.592Z",
"startTime": "2019-09-26T14:32:30.594Z",
"endTime": "2019-09-26T14:32:33.518Z",
"operationType": "UPDATE_USER",
"name": "operation-id",
"targetId": "instance-id",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id",
"targetProject": "project-id"
}
אחזור כתובת ה-IPv4
מאחזרים את כתובת ה-IPv4 שהוקצתה באופן אוטומטי למכונה החדשה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- 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": "MYSQL_8_0_18",
"settings": {
"authorizedGaeApplications": [],
"tier": "db-f1-micro",
"kind": "sql#settings",
"pricingPlan": "PER_USE",
"replicationType": "SYNCHRONOUS",
"activationPolicy": "ALWAYS",
"ipConfiguration": {
"authorizedNetworks": [],
"ipv4Enabled": true
},
"locationPreference": {
"zone": "us-west1-a",
"kind": "sql#locationPreference"
},
"dataDiskType": "PD_SSD",
"backupConfiguration": {
"startTime": "18:00",
"kind": "sql#backupConfiguration",
"enabled": true,
"binaryLogEnabled": true
},
"settingsVersion": "1",
"storageAutoResizeLimit": "0",
"storageAutoResize": true,
"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.",
"backendType": "SECOND_GEN",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
"connectionName": "project-id:region:instance-id",
"name": "instance-id",
"region": "us-west1",
"gceZone": "us-west1-a"
}
מחפשים את השדה ipAddress בתשובה.
REST v1beta4
יצירת המופע
בדוגמה הזו נוצרת מכונה. נכללים גם פרמטרים אופציונליים מסוימים, כמו backups ו-binary logging. רשימה מלאה של הפרמטרים של הקריאה הזו מופיעה בדף instances:insert. מידע על הגדרות של מופע, כולל ערכים תקינים של אזור, זמין במאמר הגדרות של מופע
אסור לכלול מידע רגיש או פרטים אישיים מזהים במזהה המופע, כי הוא גלוי מחוץ לארגון.
לא צריך לכלול את מזהה הפרויקט בשם המופע. הפעולה הזו מתבצעת אוטומטית במקרים המתאימים (לדוגמה, בקובצי היומן).
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה
- DATABASE_VERSION: גרסת מסד הנתונים.
לדוגמה:
MYSQL_9_7, MYSQL_8_4אוMYSQL_8_0_37. אם לא מציינים גרסת מסד נתונים, גרסת ברירת המחדל היאMYSQL_8_4. - REGION: האזור
- MACHINE_TYPE: סוג המכונה
- EDITION_TYPE: מהדורת Cloud SQL שלכם
- 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. התכונה הזו נמצאת בגרסת טרום-השקה. - SERVER_CERTIFICATE_ROTATION_MODE: כדי להגדיר רוטציה אוטומטית של אישור השרת עבור המופע, מציינים
AUTOMATIC_ROTATION_DURING_MAINTENANCE. אם לא מציינים אתserverCertificateRotationMode, הגדרת ברירת המחדל היאNO_AUTOMATIC_ROTATION. - DNS_NAMES: מוסיפים רשימה מופרדת בפסיקים של עד שלושה שמות DNS לאישור השרת של מופע Cloud SQL. אפשר לאבטח כמה שמות DNS באמצעות אישור אחד. התכונה הזו זמינה בגרסת טרום-השקה ורק במופעים של
CUSTOMER_MANAGED_CAS_CA.
אפשר להשתמש בשדה sqlNetworkArchitecture כדי לאכוף את השימוש בארכיטקטורת הרשת החדשה עבור המכונה עם היצירה שלה, גם אם הפרויקט לא שודרג באופן מלא.
פרטים נוספים על ארכיטקטורת הרשת החדשה וההשלכות שלה מופיעים במאמרים
שדרוג מכונה לארכיטקטורת הרשת החדשה והקצאת טווח של כתובות IP.
כדי להגדיר מדיניות סיסמאות בזמן יצירת מכונה, כוללים את האובייקט passwordValidationPolicy בבקשה. מגדירים את הפרמטרים הבאים, לפי הצורך:
-
enablePasswordPolicy: הפעלת מדיניות הסיסמאות כשההגדרה היאtrue.כדי להסיר את מדיניות הסיסמאות, אפשר להשתמש בבקשת
PATCHעםnullכערך שלenablePasswordPolicy. במקרה כזה, הפרמטרים האחרים של מדיניות הסיסמאות מאופסים. -
minLength: מציינת את מספר התווים המינימלי שהסיסמה צריכה להכיל. -
complexity: בודקת אם הסיסמה היא שילוב של אותיות קטנות, אותיות גדולות, תווים מספריים ותווים לא אלפאנומריים. ערך ברירת המחדל הואCOMPLEXITY_DEFAULT. -
reuseInterval: מציינת את מספר הסיסמאות הקודמות שאסור להשתמש בהן שוב.האפשרות נתמכת רק ב-Cloud SQL ל-MySQL 8.0 ואילך.
-
disallowUsernameSubstring: מונע שימוש בשם המשתמש בסיסמה אם הערך הואtrue.
כדי להגדיר את המופע לתובנות לגבי שאילתות, מבצעים את ההחלפות המתאימות בקטע
insightsConfig:
- QUERY_INSIGHTS_ENABLED: צריך להגדיר את הערך
trueכדי להפעיל את התובנות לגבי שאילתות עבור המופע. - RECORD_CLIENT_ADDRESS: מוגדר כ-
trueכדי לאחסן את כתובות ה-IP של הלקוחות שמהן מגיעות השאילתות, וכדי לעזור לכם לקבץ את הנתונים האלה ולהפעיל מדדים לגביהם. השאילתות מגיעות מיותר ממארח אחד. בדיקת הגרפים של שאילתות מכתובות IP של לקוחות יכולה לעזור לזהות את מקור הבעיה. - RECORD_APPLICATION_TAGS: מוגדר כ-
trueכדי לאחסן תגי אפליקציה שעוזרים לכם לקבוע את ממשקי ה-API ואת המסלולים של בקר התצוגה של המודל (MVC) ששולחים בקשות, ולקבץ את הנתונים כדי להפעיל מדדים על בסיסם. כדי להשתמש באפשרות הזו, צריך להוסיף הערות לשאילתות עם קבוצה ספציפית של תגים. אפשר לעשות זאת באמצעות ספריית sqlcommenter בקוד פתוח למיפוי יחסי של אובייקטים (ORM) עם מכשור אוטומטי. המידע הזה עוזר לכלי Query Insights לזהות את מקור הבעיה ואת ה-MVC שממנו הבעיה מגיעה. נתיבי אפליקציות עוזרים לכם לעקוב אחרי אפליקציות. - QUERY_STRING_LENGTH: מוגדר למגבלת אורך השאילתה בבייטים. מגדיר את מגבלת אורך השאילתה שמוגדרת כברירת מחדל. אורך שאילתה גדול יותר שימושי יותר לשאילתות אנליטיות, אבל הוא גם דורש יותר זיכרון. כדי לשנות את אורך השאילתה, צריך להפעיל מחדש את המופע.
עדיין אפשר להוסיף תגים לשאילתות שחורגות ממגבלת האורך.
במהדורת Cloud SQL Enterprise, אפשר לציין ערך בבייט מ-
256עד4500. אורך ברירת המחדל של השאילתה הוא1024בייטים. במהדורת Cloud SQL Enterprise Plus, אפשר לציין מגבלה בבייטים מ-1עד1048576. ערך ברירת המחדל הוא1024בייט (1 KB). - QUERY_PLANS_PER_MINUTE: הערך שמוגדר כאן הוא מספר תוכניות השאילתות שיירשמו בכל דקה.
כברירת מחדל, המערכת מתעדת עד 5 דוגמאות של תוכניות שאילתות שהופעלו בכל דקה בכל מסדי הנתונים במופע. הגדלת קצב הדגימה כנראה תספק לכם יותר נקודות נתונים, אבל עלולה להוסיף תקורה לביצועים. כדי להשבית את הדגימה, מגדירים את הערך הזה ל-
0. במהדורת Cloud SQL Enterprise, אפשר לשנות את הערך מ-0 ל-20. במהדורת Cloud SQL Enterprise Plus, אפשר להגדיל את הערך המקסימלי עד 200 כדי לספק יותר נקודות נתונים. - ENABLE_ENHANCED_QUERY_INSIGHTS_ENABLED: מגדירים את הערך
trueכדי להפעיל את התובנות המשופרות לגבי השאילתות עבור המופע.
בקטע performanceCaptureConfig, כוללים את ההגדרות הבאות.
אם לא מגדירים ערכים להגדרות המופע האלה, המערכת משתמשת בערכי ברירת המחדל של ספי ההפעלה. מידע מפורט יותר על ערכי הסף שהוגדרו על ידי הטריגרים זמין במאמר בנושא טריגרים לתיעוד ביצועים.
- PERFORMANCE_CAPTURE_ENABLED: מוגדר ל-
falseכדי להשבית את איסוף נתוני הביצועים של MySQL עבור המופע. אם הערך שלqueryInsightsEnabledהואtrue, אז תיעוד הביצועים של MySQL מופעל אוטומטית, וערכי ברירת המחדל חלים על תנאי ההפעלה מבוססי הסף. - PROBING_INTERVAL_SECONDS: מספר שלם בין
30ל-86400. מרווח הזמן בשניות בין בדיקות המדדים. ברירת המחדל היא30. - PROBE_THRESHOLD: מספר הפעמים הרצופות שצריך לחרוג מסף מסוים כדי להפעיל את תיעוד הביצועים. הטווח התקין הוא
1עד20. ברירת המחדל היא3. - RUNNING_THREADS_THRESHOLD: במופעים ראשיים, מספר השרשורים הפעילים המינימלי שנחשב מעל הסף. לדוגמה,
10. הערך חייב להיות גדול מ-10או שווה לו. אם לא מגדירים את הערך, ברירת המחדל מבוססת על גודל המופע. ברירת המחדל היאMIN(600, cpuCount * 20). ערך ברירת המחדל הוא600או מספר ליבות ה-vCPU במופע כפול20, לפי הנמוך מביניהם. - SECONDS_BEHIND_SOURCE_THRESHOLD: לגבי העתקים לקריאה, השהיית השכפול המינימלית בשניות, שנחשבת מעל ערך הסף. הערך חייב להיות גדול מ-
1. ברירת המחדל היא900. - TRANSACTION_DURATION_THRESHOLD: משך הזמן, בשניות, של טרנזקציה לא מחויבת לפני שהמערכת עוקבת אחריה וכוללת אותה ביומן של תיעוד הביצועים.
לדוגמה,
300. הערך המינימלי הוא60. ברירת המחדל היא3600. - SECONDS: משך הזמן בשניות של העסקאות ארוכות הטווח שיוסיימו באופן אוטומטי. אי אפשר להגדיר את המגבלה הזו לערך נמוך מהערך שהגדרתם לפרמטר
transactionDurationThreshold(TRANSACTION_DURATION_THRESHOLD). - TRANSACTION_TYPE: קובע את קטגוריות העסקאות שיש לסיים. הערכים האפשריים הם:
-
READ_ONLY_TRANSACTIONS: מסיימת רק שאילתות לקריאה בלבד או שאילתותSELECT. זו ברירת המחדל אם לא צויןtransactionKillType. -
ALL_TRANSACTIONS: מסיים כל שאילתה פעילה שחורגת מהסף, כולל שאילתות עם פעולות כתיבה. זה כולל אתINSERT,UPDATE,DELETEומשפטים אחרים שלDDL.
-
- EXCLUSION_LIST: רשימה של מחרוזות שיוחרגו. אפשר לספק את הערכים כ-
user@hostאו כמשתמש עצמאי, שברירת המחדל שלו היאuser@%. הרשימה תומכת בתווים הכלליים לחיפוש%ו-_להתאמה בחלק של המארח. - CPU_UTILIZATION_THRESHOLD_PERCENT: אחוז השימוש הכולל במעבד שחורג באופן עקבי.
לדוגמה,
90. הערך המינימלי הוא10והערך המקסימלי הוא99. ברירת המחדל היא0(מושבת). - MEMORY_USAGE_THRESHOLD_PERCENT: אחוז השימוש הכולל בזיכרון שצריך לעבור באופן עקבי.
לדוגמה,
90. הערך המינימלי הוא10והערך המקסימלי הוא99. ברירת המחדל היא0(מושבת). - TRANSACTION_LOCK_WAIT_THRESHOLD_COUNT:
ערך הסף לעסקאות שמותר שיהיו במצב
LOCK WAIT. לדוגמה,50. הערך המינימלי הוא10והערך המקסימלי הוא10000. ברירת המחדל היא0(מושבת). - SEMAPHORE_WAIT_THRESHOLD_COUNT:
the threshold for the number of threads waiting on InnoDB semaphores from the
SHOW ENGINE INNODB STATUScommand. לדוגמה,20. הערך המינימלי הוא10והערך המקסימלי הוא10000. ברירת המחדל היא0(מושבת). - HISTORY_LIST_LENGTH_THRESHOLD_COUNT:
ערך הסף של מספר הרשומות ברשימת ההיסטוריה של InnoDB (HLL) שמותר
למסד הנתונים.
לדוגמה,
100000. הערך המינימלי הוא10000והערך המקסימלי הוא10000000. ברירת המחדל היא0(מושבת).
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances
תוכן בקשת JSON:
{
"name": "INSTANCE_ID",
"region": "REGION",
"databaseVersion": "DATABASE_VERSION",
"settings": {
"tier": "MACHINE_TYPE",
"edition": "EDITION_TYPE",
"dataCacheConfig" {
"dataCacheEnabled": DATA_CACHE_ENABLED
},
"backupConfiguration": {
"binaryLogEnabled": true,
"enabled": true
},
"passwordValidationPolicy": {
"enablePasswordPolicy": true
"minLength": "MIN_LENGTH",
"complexity": COMPLEXITY_DEFAULT,
"reuseInterval": "REUSE_INTERVAL",
"disallowUsernameSubstring": "DISALLOW_USERNAME_SUBSTRING",
},
"ipConfiguration": {
"privateNetwork": "PRIVATE_NETWORK",
"authorizedNetworks": [AUTHORIZED_NETWORKS],
"ipv4Enabled": false,
"enablePrivatePathForGoogleCloudServices": true,
"serverCaMode": "CA_MODE",
"serverCertificateRotationMode": "SERVER_CERTIFICATE_ROTATION_MODE",
"customSubjectAlternativeNames": "DNS_NAMES"
},
"dataApiAccess": "ALLOW_DATA_API",
"insightsConfig": {
"queryInsightsEnabled" : QUERY_INSIGHTS_ENABLED,
"recordClientAddress" : RECORD_CLIENT_ADDRESS,
"recordApplicationTags" : RECORD_APPLICATION_TAGS,
"queryStringLength" : QUERY_STRING_LENGTH,
"queryPlansPerMinute" : QUERY_PLANS_PER_MINUTE,
"enableEnhancedQueryInsightsEnabled": ENABLE_ENHANCED_QUERY_INSIGHTS_ENABLED
},
"performanceCaptureConfig": {
"enabled": PERFORMANCE_CAPTURE_ENABLED,
"probingIntervalSeconds": PROBING_INTERVAL_SECONDS,
"probeThreshold": PROBE_THRESHOLD,
"runningThreadsThreshold": RUNNING_THREADS_THRESHOLD,
"secondsBehindSourceThreshold": SECONDS_BEHIND_SOURCE_THRESHOLD,
"cpuUtilizationThresholdPercent": CPU_UTILIZATION_THRESHOLD_PERCENT,
"memoryUsageThresholdPercent": MEMORY_USAGE_THRESHOLD_PERCENT,
"transactionLockWaitThresholdCount": TRANSACTION_LOCK_WAIT_THRESHOLD_COUNT,
"semaphoreWaitThresholdCount": SEMAPHORE_WAIT_THRESHOLD_COUNT,
"historyListLengthThresholdCount": HISTORY_LIST_LENGTH_THRESHOLD_COUNT,
"transactionDurationThreshold": TRANSACTION_DURATION_THRESHOLD,
"transactionKillThresholdSeconds": SECONDS,
"transactionKillType": TRANSACTION_TYPE,
"transactionKillExcludedUserHosts": [ EXCLUSION_LIST
]
},
},
"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": "2019-09-25T22:19:33.735Z",
"operationType": "CREATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
התשובה היא פעולה ארוכת טווח, שעשויה להימשך כמה דקות.
עדכון סיסמת הבסיס
כשהאתחול של המכונה מסתיים, מעדכנים את סיסמת הבסיס:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-id: מזהה המופע שנוצר בשלב הקודם
- root-password: סיסמת הבסיס הרצויה
ה-method של ה-HTTP וכתובת ה-URL:
PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?host=%25&name=root
תוכן בקשת JSON:
{
"name": "root",
"host": "%",
"password": "root-password"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
"status": "DONE",
"user": "user@example.com",
"insertTime": "2019-09-26T14:32:30.592Z",
"startTime": "2019-09-26T14:32:30.594Z",
"endTime": "2019-09-26T14:32:33.518Z",
"operationType": "UPDATE_USER",
"name": "operation-id",
"targetId": "instance-id",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
"targetProject": "project-id"
}
התשובה היא פעולה ארוכת טווח, שעשויה להימשך כמה דקות.
אחזור כתובת ה-IPv4
מאחזרים את כתובת ה-IPv4 שהוקצתה באופן אוטומטי למכונה החדשה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- 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": "MYSQL_8_0_18",
"settings": {
"authorizedGaeApplications": [],
"tier": "db-f1-micro",
"kind": "sql#settings",
"pricingPlan": "PER_USE",
"replicationType": "SYNCHRONOUS",
"activationPolicy": "ALWAYS",
"ipConfiguration": {
"authorizedNetworks": [],
"ipv4Enabled": true
},
"locationPreference": {
"zone": "us-west1-a",
"kind": "sql#locationPreference"
},
"dataDiskType": "PD_SSD",
"backupConfiguration": {
"startTime": "18:00",
"kind": "sql#backupConfiguration",
"enabled": true,
"binaryLogEnabled": true
},
"settingsVersion": "1",
"storageAutoResizeLimit": "0",
"storageAutoResize": true,
"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.",
"backendType": "SECOND_GEN",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
"connectionName": "project-id:region:instance-id",
"name": "instance-id",
"region": "us-west1",
"gceZone": "us-west1-a"
}
מחפשים את השדה ipAddress בתשובה.
יצירת נקודת הקצה לכתיבה
נקודת קצה לכתיבה היא שם גלובלי של Domain Name Service (DNS) שמקבל באופן אוטומטי את כתובת ה-IP של המופע הראשי הנוכחי. נקודת הקצה הזו מפנה מחדש חיבורים נכנסים למופע הראשי החדש באופן אוטומטי במקרה של יתירות כשל או מעבר לגיבוי פעיל של רפליקה. אפשר להשתמש בנקודת הקצה לכתיבה במחרוזת חיבור SQL במקום בכתובת IP. שימוש בנקודת קצה לכתיבה מאפשר לכם להימנע משינויים בחיבור האפליקציה במקרה של הפסקת חשמל באזור.
מידע נוסף על שימוש בנקודת קצה לכתיבה כדי להתחבר למופע זמין במאמר בנושא התחברות למופע באמצעות נקודת קצה לכתיבה.
ציון הגרסה המשנית של מסד הנתונים ל-MySQL 8.0
אפשר לציין את הגרסה המשנית של מכונת MySQL 8.0 קיימת באמצעות gcloud או ה-API בארכיטקטורת REST.
gcloud
משתמשים בפקודה gcloud sql instances create עם הדגל --database-version.
לפני שמריצים את הפקודה, מחליפים את המשתנים הבאים:
- INSTANCE_NAME: השם של המכונה.
- DATABASE_VERSION: הגרסה המשנית של מסד הנתונים של המכונה:
MYSQL_8_0_18,MYSQL_8_0_26,MYSQL_8_0_27,MYSQL_8_0_28,MYSQL_8_0_30,MYSQL_8_0_31,MYSQL_8_0_32,MYSQL_8_0_33,MYSQL_8_0_34,MYSQL_8_0_35,MYSQL_8_0_36,MYSQL_8_0_37,MYSQL_8_0_39,MYSQL_8_0_40,MYSQL_8_0_41,MYSQL_8_0_42,MYSQL_8_0_43,MYSQL_8_0_44,MYSQL_8_0_45(גרסת ברירת המחדל ל-MySQL 8.0) אוMYSQL_8_0_46. אם מצייניםMYSQL_8_0, נעשה שימוש בגרסת המשנה שמוגדרת כברירת מחדל.אם לא מציינים את הדגל הזה, המערכת משתמשת בגרסה הראשית שמוגדרת כברירת מחדל,
MYSQL_8_0.
gcloud sql instances create INSTANCE_NAME \ --database-version=DATABASE_VERSION
אם אתם יוצרים מכונה עם MySQL מגרסה משנית 8.0.35 והלאה,
אפשר להפעיל שדרוגים אוטומטיים של גרסאות משניות על ידי ציון האפשרות --enable-auto-upgrade-minor-version.
כשמפעילים שדרוגים אוטומטיים של גרסאות משניות, המכונה משודרגת לגרסת ברירת המחדל של Cloud SQL ל-MySQL 8.0 במהלך עדכון התחזוקה המתוזמן הרגיל.
הסימון הבוליאני הזה לא זמין ב-MySQL בגרסה 8.0.34 ובגרסאות קודמות.
gcloud sql instances create INSTANCE_NAME \ --database-version=DATABASE_VERSION \ --enable-auto-upgrade-minor-version
מידע מפורט זמין במאמר בנושא יצירת מופע באמצעות gcloud.
REST v1
משתמשים בבקשת POST עם השיטה
instances:insert והדגל databaseVersion.
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances
- project_id: מזהה הפרויקט.
- instance_id: השם של המכונה.
- databaseVersion: גרסת מסד הנתונים של המכונה:
MYSQL_8_0_18, MYSQL_8_0_26, MYSQL_8_0_27, MYSQL_8_0_28, MYSQL_8_0_30, MYSQL_8_0_31, MYSQL_8_0_32, MYSQL_8_0_33, MYSQL_8_0_34, MYSQL_8_0_35, MYSQL_8_0_36, MYSQL_8_0_37, MYSQL_8_0_39, MYSQL_8_0_40, MYSQL_8_0_41, MYSQL_8_0_42, MYSQL_8_0_43, MYSQL_8_0_44, MYSQL_8_0_45(גרסת המשנה שמוגדרת כברירת מחדל ל-MySQL 8.0) או MYSQL_8_0_46. אם מציינים את הגרסהMYSQL_8_0, נעשה שימוש בגרסת המשנה שמוגדרת כברירת מחדל. אם לא מציינים את הדגלdatabaseVersion, המערכת משתמשת בגרסה הראשית שמוגדרת כברירת מחדל,MYSQL_8_0.
מידע מפורט מופיע במאמר בנושא יצירת מופע באמצעות REST v1 API.
REST v1beta4
משתמשים בבקשת POST עם השיטה
instances:insert והדגל databaseVersion.
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את המשתנים האלה:
- project_id: מזהה הפרויקט.
- instance_id: השם של המכונה.
- databaseVersion:
גרסת מסד הנתונים של המופע:
MYSQL_8_0_18,MYSQL_8_0_26,MYSQL_8_0_27,MYSQL_8_0_28,MYSQL_8_0_30,MYSQL_8_0_31,MYSQL_8_0_32,MYSQL_8_0_33. MYSQL_8_0_34,MYSQL_8_0_35,MYSQL_8_0_36,MYSQL_8_0_37,MYSQL_8_0_39,MYSQL_8_0_40,MYSQL_8_0_41,MYSQL_8_0_42,MYSQL_8_0_43,MYSQL_8_0_44, MYSQL_8_0_45(גרסת המשנה שמוגדרת כברירת מחדל ל-MySQL 8.0) אוMYSQL_8_0_46. אם מציינים אתMYSQL_8_0, נעשה שימוש בגרסת המשנה שמוגדרת כברירת מחדל. אם לא מציינים את הדגלdatabaseVersion, המערכת משתמשת בגרסה הראשית שמוגדרת כברירת מחדל,MYSQL_8_0.
מידע מפורט מופיע במאמר בנושא יצירת מופע באמצעות REST v1beta4 API.
גרסה משנית של מסד הנתונים לרפליקות לקריאה, לשיבוטים ול-PITR
כשיוצרים העתק לקריאה, אפשר לציין את הגרסה המשנית של מסד הנתונים של ההעתק לקריאה. כברירת מחדל, רפליקות חדשות לקריאה נוצרות בגרסה המשנית שמוגדרת כברירת מחדל.
כשמשכפלים מופע, המופע החדש שנוצר מקבל את אותו מספר גרסה משנית כמו המופע המקורי.
כשמבצעים שחזור מערכת מנקודה מסוימת בזמן (PITR), הגרסה המשנית של מסד הנתונים במכונה החדשה זהה לגרסה המשנית של מסד הנתונים במקור.
הגדרות מותאמות אישית של מופעים
הסוכן קובע את הזיכרון והליבות הווירטואליות שזמינים למכונת Cloud SQL. סוגי המכונות הם חלק מסדרת מכונות, והזמינות של סדרת מכונות נקבעת לפי מהדורת Cloud SQL שלכם.
במכונות במהדורת Cloud SQL Enterprise Plus, Cloud SQL מציע סוגי מכונות מוגדרים מראש למכונות שלכם בסדרות המכונות N2 ו-C4A.
למכונות במהדורת Cloud SQL Enterprise, Cloud SQL מציע את סדרות המכונות general purpose shared core, general purpose dedicated core ו-N4.
אם אתם צריכים עיבוד בזמן אמת, כמו עיבוד עסקאות אונליין (OLTP), ודאו שלמופע יש מספיק זיכרון כדי להכיל את כל קבוצת העבודה. עם זאת, יש גורמים אחרים שיכולים להשפיע על דרישות הזיכרון, כמו מספר החיבורים הפעילים ותהליכי התקורה הפנימיים. כדאי לבצע בדיקות עומס כדי למנוע בעיות בביצועים בסביבת הייצור.
כשמגדירים את המופע, בוחרים זיכרון ומעבדים וירטואליים (vCPU) בכמות מספקת כדי לענות על הצרכים, ומרחיבים את המופע כשהדרישות גדלות. יכול להיות שכיסוי ה-SLA של הגדרת מכונה עם מספר לא מספיק של vCPU יבוטל. מידע נוסף זמין בהנחיות התפעוליות.
מידע נוסף על סוגי המכונות וסדרות המכונות שזמינים למכונת Cloud SQL שלכם זמין במאמר סקירה כללית על סדרות מכונות.
פתרון בעיות
| שגיאה | פתרון בעיות |
|---|---|
הודעת שגיאה: 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 הקיים שהוקצה או להקצות טווח כתובות IP נוסף לחיבור הפרטי לשירות. מידע נוסף זמין במאמר בנושא הקצאת טווח של כתובות IP. אם השתמשתם בדגל אם מקצים טווח חדש, צריך לוודא שההקצאה לא חופפת להקצאות קיימות. אחרי שיוצרים טווח IP חדש, מעדכנים את ה-VPC Peering באמצעות הפקודה הבאה: 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 Peering באמצעות הפקודה הבאה: 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 עומדים בקריטריונים הבאים:
|