בדף הזה מוסבר איך ליצור מכונה של Cloud SQL ל-MySQL.
מידע מפורט על כל הגדרות המופע זמין במאמר בנושא הגדרות המופע.
למופע שנוצר יש ארבעה מסדי נתונים של המערכת:
-
information_schema: מאפשר גישה למטא-נתונים של מסד הנתונים, מידע על שרת MySQL. -
mysql: סכימת המערכת. הוא מכיל טבלאות שמאחסנות מידע שנדרש לשרת MySQL בזמן שהוא פועל. -
performance_schema: תכונה למעקב אחר הביצוע של שרת MySQL ברמה נמוכה. -
sys: מכילה קבוצה של אובייקטים שעוזרים למנהלי מסדי נתונים ולמפתחים לפרש את הנתונים שנאספים על ידי סכימת הביצועים.
המספר המקסימלי של מופעים שיכולים להיות בפרויקט יחיד תלוי בארכיטקטורת הרשת של המופעים האלה:
- ארכיטקטורת רשת חדשה של SQL: אפשר ליצור עד 1,000 מופעים לכל פרויקט.
- ארכיטקטורת רשת ישנה של SQL: אפשר להשתמש בעד 100 מופעים לכל פרויקט.
- שימוש בשתי הארכיטקטורות: המגבלה תהיה בין 100 ל-1,000, בהתאם לפיזור של המופעים בשתי הארכיטקטורות.
שליחת בקשת תמיכה כדי לבקש הגדלה. רפליקות לקריאה נספרות כמכונות.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
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.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-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 (התאמה אישית של המופע), מעדכנים את ההגדרות של המופע.
לוחצים על הצגת אפשרויות ההגדרה כדי להציג את קבוצות ההגדרות. לאחר מכן, מרחיבים את הקבוצות שרוצים לבדוק ולהתאים אישית את ההגדרות שלהן.
סיכום של כל האפשרויות שבחרתם מוצג בצד שמאל.
התאמה אישית של הגדרות המופע האלה היא אופציונלית. ערכי ברירת מחדל מוקצים בכל מקרה שבו לא בוצעו התאמות אישיות.
הטבלה הבאה היא הפניה מהירה להגדרות של מופעים. מידע נוסף על כל הגדרה זמין בדף הגדרות המופע.
הגדרה הערות סוג מכונה סוג המכונה בוחרים באפשרות Shared core (ליבה משותפת) או Dedicated core (ליבה ייעודית). בליבות משותפות, כל סוג מכונה מסווג לפי מספר המעבדים (הליבות) וכמות הזיכרון של המכונה. ליבות מספר יחידות ה-vCPU של המופע. מידע נוסף זיכרון נפח הזיכרון של המופע, ב-GB. מידע נוסף בהתאמה אישית בסוג המכונה Dedicated core, במקום לבחור הגדרה מוגדרת מראש, לוחצים על הלחצן Custom כדי ליצור מופע עם הגדרה מותאמת אישית. כשבוחרים באפשרות הזו, צריך לבחור את מספר ליבות המעבד ואת כמות הזיכרון של המופע. מידע נוסף מטמון נתונים הפעלת מטמון נתונים כברירת מחדל, האפשרות להפעלת מטמון נתונים נבחרת באופן אוטומטי עבור מופעים של Cloud SQL ל-MySQL מהדורת Enterprise Plus. אם לא רוצים להפעיל מטמון נתונים, צריך לבטל את הסימון בתיבה הפעלת מטמון נתונים. מידע נוסף על מטמון נתונים זמין במאמר מטמון נתונים. אחסון סוג אחסון ההגדרה קובעת אם המופע שלכם משתמש באחסון SSD או HDD. מידע נוסף נפח אחסון נפח האחסון שהוקצה למופע. מידע נוסף הפעלה של הגדלת נפח האחסון באופן אוטומטי קובע אם Cloud SQL יספק אוטומטית יותר אחסון למופע כשייגמר המקום הפנוי. מידע נוסף הצפנה הצפנה בניהול Google אפשרות ברירת המחדל. מפתח הצפנה בניהול הלקוח (CMEK) בוחרים באפשרות כדי להשתמש במפתח עם Google Cloud Key Management Service. מידע נוסף חיבורים כתובת IP פרטית הוספת כתובת IP פרטית למופע. כדי לאפשר חיבור למופע, צריך לקבוע הגדרות נוספות.
אופציונלי: אתם יכולים לציין טווח כתובות IP שהוקצה למכונות לשימוש בחיבורים.- מרחיבים את האפשרות הצגת טווח כתובות ה-IP שהוקצה.
- בוחרים טווח כתובות IP מהתפריט הנפתח.
למופע יכולה להיות כתובת IP ציבורית וגם כתובת IP פרטית.
כתובת 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 הוספת סימון אפשר להשתמש בדגלים של מסד הנתונים כדי לשלוט בהגדרות ובפרמטרים של המופע. מידע נוסף תוויות הוספת תווית מוסיפים מפתח וערך לכל תווית שמוסיפים. אתם יכולים להשתמש בתוויות כדי לארגן את המופעים. - לוחצים על 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 פרטית | --network
|
--network: השם של רשת ה-VPC שרוצים להשתמש בה עבור המכונה הזו. הגישה לשירותים פרטיים צריכה להיות מוגדרת כבר ברשת. האפשרות זמינה רק לפקודת הבטא
(gcloud beta sql instances create).
הפרמטר הזה תקף רק אם: |
| גישה ל-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.
האפשרות זמינה רק לפקודת הבטא
(gcloud beta sql instances create).
מידע נוסף
|
| מטמון נתונים (אופציונלי) | --enable-data-cache |
הגדרה שמאפשרת או משביתה את מטמון הנתונים למופעים. מידע נוסף זמין במאמר בנושא מטמון נתונים. |
| גיבויים אוטומטיים וזמינות גבוהה | ||
| זמינות גבוהה | --availability-type |
כדי להגדיר מופע עם זמינות גבוהה, מגדירים את הערך REGIONAL.
מידע נוסף
|
| אזור משני | --secondary-zone |
אם אתם יוצרים מכונה וירטואלית לזמינות גבוהה, אתם יכולים לציין גם את האזור הראשי וגם את האזור המשני באמצעות האפשרויות --zone ו---secondary-zone parameters. ההגבלות הבאות חלות כשמשתמשים באזור המשני במהלך יצירה או עריכה של מופע:
אם מציינים את האזורים הראשיים והמשניים, הם צריכים להיות אזורים נפרדים. אם מציינים אזור ראשי ואזור משני, הם חייבים להיות באותו אזור. |
| גיבויים אוטומטיים | --backup-start-time |
חלון הזמן שבו רוצים שהגיבויים יתחילו. מידע נוסף |
| הגדרות שימור לגיבויים אוטומטיים | --retained-backups-count |
מספר הגיבויים האוטומטיים שיישארו. מידע נוסף |
| רישום ביומן בינארי | --enable-bin-log |
רישום ביומן בינארי מאפשר רפליקציה ושחזור מערכת מנקודה מסוימת בזמן (PITR). מידע נוסף |
| הגדרות שמירה של רישום בינארי | --retained-transaction-log-days |
מספר הימים לשמירת יומנים בינאריים לצורך שחזור מערכת מנקודה מסוימת בזמן (PITR). מידע נוסף |
| שחזור מערכת מנקודה מסוימת בזמן (PITR) | --enable-point-in-time-recovery |
ההגדרה הזו מאפשרת שחזור מערכת מנקודה מסוימת בזמן (PITR) וכתיבה מראש ביומן (WAL). מידע נוסף |
| הוספת דגלים למסד נתונים | ||
| דגלים של מסדי נתונים | --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 |
| 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_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.
כדי להגדיר מדיניות סיסמאות בזמן יצירת מכונה, כוללים את האובייקט passwordValidationPolicy בבקשה. מגדירים את הפרמטרים הבאים, לפי הצורך:
-
enablePasswordPolicy: הפעלת מדיניות הסיסמאות כשההגדרה היאtrue.כדי להסיר את מדיניות הסיסמאות, אפשר להשתמש בבקשת
PATCHעםnullכערך שלenablePasswordPolicy. במקרה כזה, הפרמטרים האחרים של מדיניות הסיסמאות מאופסים. -
minLength: מציינת את מספר התווים המינימלי שהסיסמה צריכה להכיל. -
complexity: בודקת אם הסיסמה היא שילוב של אותיות קטנות, אותיות גדולות, ספרות ותווים לא אלפאנומריים. ערך ברירת המחדל הואCOMPLEXITY_DEFAULT. -
reuseInterval: מציינת את מספר הסיסמאות הקודמות שאסור להשתמש בהן שוב.האפשרות נתמכת רק ב-Cloud SQL ל-MySQL 8.0 ואילך.
-
disallowUsernameSubstring: אם הערך הואtrue, אי אפשר להשתמש בשם המשתמש בסיסמה.
אפשר להשתמש בשדה sqlNetworkArchitecture כדי לאכוף את השימוש בארכיטקטורת הרשת החדשה עבור המכונה עם היצירה שלה, גם אם הפרויקט לא שודרג באופן מלא.
פרטים נוספים על ארכיטקטורת הרשת החדשה וההשלכות שלה מופיעים במאמרים
שדרוג מכונה לארכיטקטורת הרשת החדשה והקצאת טווח של כתובות IP.
ה-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"
},
"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.iam.gserviceaccount.com",
"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. מידע על הגדרות של מופעים, כולל ערכים תקינים של אזור, זמין במאמר הגדרות של מופעים
אסור לכלול מידע רגיש או פרטים אישיים מזהים במזהה המופע, כי הוא גלוי מחוץ לארגון.
לא צריך לכלול את מזהה הפרויקט בשם המופע. הפעולה הזו מתבצעת באופן אוטומטי במקומות המתאימים (לדוגמה, בקובצי היומן).
אפשר להשתמש בשדה sqlNetworkArchitecture כדי לאכוף את השימוש בארכיטקטורת הרשת החדשה עבור המכונה עם היצירה שלה, גם אם הפרויקט לא שודרג באופן מלא.
פרטים נוספים על ארכיטקטורת הרשת החדשה וההשלכות שלה מופיעים במאמרים
שדרוג מכונה לארכיטקטורת הרשת החדשה והקצאת טווח של כתובות IP.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה
- DATABASE_VERSION: גרסת מסד הנתונים.
לדוגמה:
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.
כדי להגדיר מדיניות סיסמאות בזמן יצירת מכונה, כוללים את האובייקט passwordValidationPolicy בבקשה. מגדירים את הפרמטרים הבאים, לפי הצורך:
-
enablePasswordPolicy: הפעלת מדיניות הסיסמאות כשההגדרה היאtrue.כדי להסיר את מדיניות הסיסמאות, אפשר להשתמש בבקשת
PATCHעםnullכערך שלenablePasswordPolicy. במקרה כזה, הפרמטרים האחרים של מדיניות הסיסמאות מאופסים. -
minLength: מציינת את מספר התווים המינימלי שהסיסמה צריכה להכיל. -
complexity: בודקת אם הסיסמה היא שילוב של אותיות קטנות, אותיות גדולות, ספרות ותווים לא אלפאנומריים. ערך ברירת המחדל הואCOMPLEXITY_DEFAULT. -
reuseInterval: מציינת את מספר הסיסמאות הקודמות שאסור להשתמש בהן שוב.האפשרות נתמכת רק ב-Cloud SQL ל-MySQL 8.0 ואילך.
-
disallowUsernameSubstring: אם הערך הואtrue, אי אפשר להשתמש בשם המשתמש בסיסמה.
ה-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"
},
"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.iam.gserviceaccount.com",
"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),MYSQL_8_0_45או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),MYSQL_8_0_45או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),MYSQL_8_0_45או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 של הגדרת מכונה עם מספר לא מספיק של ליבות וירטואליות ייפגע. מידע נוסף זמין בהנחיות התפעוליות.
מידע נוסף על סוגי המכונות וסדרות המכונות שזמינים למכונת 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 באמצעות הפקודה הבאה: 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 עומדים בקריטריונים הבאים:
|
המאמרים הבאים
- יצירת מסד נתונים של MySQL במכונה.
- יצירת משתמשי MySQL במכונה.
- גישה מאובטחת למופע ושליטה בו.
- מתחברים למכונה באמצעות לקוח MySQL.
- ייבוא נתונים למסד הנתונים.
- מידע על הגדרות של מופע