העברת מסד נתונים אל Cloud SQL ל-PostgreSQL
במדריך למתחילים הזה נסביר איך להשתמש ב-Database Migration Service כדי להעביר נתונים אל Cloud SQL ל-PostgreSQL. המשאבים שנוצרו במדריך למתחילים הזה עולים בדרך כלל פחות מדולר אחד (USD), בתנאי שמשלימים את השלבים, כולל הניקוי, בזמן.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
מפעילים את Database Migration Service API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידים - מוודאים שהתפקיד Database Migration Admin (אדמין להעברת מסד נתונים) הוקצה לחשבון המשתמש שלכם.
דרישות
שיקולים לגבי רשתות
Database Migration Service מציע מגוון אפשרויות של מסדי נתונים כמקור ושיטות קישוריות. יש מקורות שמתאימים יותר לשיטות חיבור מסוימות מאשר לאחרות. במדריך להתחלה מהירה הזה אנחנו מניחים שאתם משתמשים במסד נתונים עצמאי של PostgreSQL בסביבה שבה אתם יכולים להגדיר את הרשת כדי להוסיף כלל חומת אש לתעבורה נכנסת. מסד הנתונים של המקור יכול להיות מקומי או אצל ספק שירותי ענן. מכיוון שאין לנו אפשרות לדעת את הפרטים הספציפיים של הסביבה שלכם, אנחנו לא יכולים לספק שלבים מפורטים לגבי הגדרת הרשת.
במדריך הזה לתחילת העבודה, בוחרים באפשרות PostgreSQL בשדה המנוע של מסד הנתונים של המקור ובאפשרות רשימת כתובות IP שאושרו בשדה שיטת הרשת.
הגדרת מסד הנתונים של המקור
לפני שמתחילים בתהליך ההעברה, צריך להגדיר את מסד הנתונים של המקור:
- מתקינים את חבילת
pglogical. - מגדירים את הפרמטרים של השכפול והיומן (כמו
max_replication_slotsאוwal_level).
מידע נוסף על הגדרת מקורות PostgreSQL בניהול עצמי זמין במאמר הגדרת מקורות PostgreSQL בניהול עצמי.
יצירת פרופיל לחיבור מקור
כשיוצרים פרופיל חיבור, יוצרים רשומה שמכילה מידע על מסד הנתונים של המקור. Database Migration Service משתמש במידע שבפרופיל החיבור כדי להעביר נתונים ממסד הנתונים של המקור למופע של מסד הנתונים של Cloud SQL ביעד.עוברים לדף 'פרופילי חיבור' בשירות Database Migration Service במסוף Google Cloud .
לוחצים על יצירת פרופיל.
בדף Create a connection profile (יצירת פרופיל קישור), בוחרים באפשרות Source (מקור) מהרשימה Profile role (תפקיד הפרופיל).
ברשימה המנוע של מסד הנתונים, בוחרים אחד מסוגי הסיווג הבאים של מסד הנתונים של המקור:
- מכונת PostgreSQL עצמאית (PostgreSQL)
- מכונת Cloud SQL ל-PostgreSQL קיימת (Cloud SQL ל-PostgreSQL)
- מכונת Amazon RDS ל-PostgreSQL (Amazon RDS ל-PostgreSQL)
במדריך למתחילים הזה, בוחרים באפשרות PostgreSQL.
- מזינים את הפרטים הבאים:
- בשדה שם פרופיל החיבור, מזינים שם לפרופיל החיבור של מסד הנתונים של המקור, כמו
My Connection Profile. - משאירים את מזהה פרופיל החיבור שנוצר אוטומטית.
- מזינים את פרטי הקישוריות:
- אם אתם משכפלים ממסד נתונים באירוח עצמי, צריך להזין את שם המארח או כתובת ה-IP (דומיין או IP) ואת היציאה כדי לגשת למארח. (יציאת ברירת המחדל של PostgreSQL היא 5432).
- אם אתם משכפלים ממסד נתונים של Cloud SQL, בוחרים את מופע Cloud SQL מהרשימה הנפתחת.
- מזינים שם משתמש וסיסמה כדי לאמת את הזהות שלכם במופע המקור.
- (אופציונלי) אם אתם מתכננים להעביר מידע רגיש ברשת ציבורית (באמצעות רשימות היתרים של כתובות IP), מומלץ להשתמש בהצפנת SSL/TLS לחיבור בין מסד הנתונים של המקור למסד הנתונים של היעד. אחרת, משאירים את ערך ברירת המחדל ללא.
- בשדה שם פרופיל החיבור, מזינים שם לפרופיל החיבור של מסד הנתונים של המקור, כמו
בקטע Connection profile region בדף, בוחרים את האזור שבו רוצים לשמור את פרופיל החיבור.
- לוחצים על יצירה.
יצירת משימת העברה
Database Migration Service משתמש במשימות העברה כדי להעביר נתונים ממופע מסד הנתונים של המקור למופע מסד הנתונים של היעד ב-Cloud SQL.יצירת עבודת העברה כוללת:
- הגדרת ההגדרות של העבודה
- בחירת פרופיל החיבור שיצרתם עבור מסד הנתונים של המקור (פרופיל חיבור למקור)
- הגדרת ההגדרות של מכונת מסד הנתונים של Cloud SQL ליעד
- הגדרת קישוריות בין מופעי מסד הנתונים של המקור והיעד
- בדיקת משימת ההעברה כדי לוודא שפרטי החיבור שסיפקתם למשימה תקינים
הגדרת הגדרות לעבודת ההעברה
נכנסים לדף Database Migration Service Migration jobs במסוף Google Cloud .
לוחצים על יצירת משימת העברה.
בשדה Migration job name (שם עבודת ההעברה), מזינים שם לעבודת ההעברה, כמו
My Migration Job.משאירים את מזהה משימת ההעברה שנוצר אוטומטית.
פותחים את התפריט הנפתח מנוע מסד נתונים של המקור ובוחרים את סוג הסיווג של מסד הנתונים של המקור.
בוחרים את אזור היעד שבו רוצים ליצור את מכונת היעד.
מגדירים את סוג העבודה של המיגרציה ל'רציפה' כי רוצים שהשינויים השוטפים במסד הנתונים של המקור יועברו למופע של מסד הנתונים של Cloud SQL ביעד.
בודקים את התנאים המוקדמים הנדרשים שנוצרים באופן אוטומטי כדי להבין איך צריך להכין את הסביבה למשימת העברה. הדרישות המוקדמות האלה יכולות לכלול מידע על אופן ההגדרה של מסד הנתונים של המקור ועל אופן החיבור שלו למכונת מסד הנתונים של היעד ב-Cloud SQL. מומלץ להשלים את הדרישות המוקדמות האלה בשלב הזה, אבל אפשר להשלים אותן בכל שלב לפני שבודקים את עבודת ההעברה או מתחילים אותה. מידע נוסף על הדרישות המוקדמות האלה מופיע במאמר בנושא הגדרת מקור.
לוחצים על שמירה והמשך.
ציון מידע על פרופיל החיבור למקור
פותחים את הרשימה הנפתחת Select source connection profile (בחירת פרופיל לקישור למקור) ובוחרים את פרופיל הקישור שיצרתם.
לוחצים על שמירה והמשך.
הגדרת הגדרות למכונת היעד של Cloud SQL
מזינים מזהה מכונת יעד למכונה של Cloud SQL. כברירת מחדל, מזהה משימת ההעברה מאוכלס מראש בשדה הזה. אפשר להשאיר את השם הזה או להזין שם אחר.
מזינים סיסמה אלפאנומרית למכונת היעד של Cloud SQL. זו תהיה הסיסמה לחשבון האדמין
postgresבמופע.אפשר להזין את הסיסמה באופן ידני או ללחוץ על יצירה כדי שהשירות Database Migration Service ייצור סיסמה בשבילכם באופן אוטומטי.
ברשימה של גרסאות Cloud SQL הנתמכות עבור המנוע של מסד הנתונים שצוין, בוחרים את גרסת מסד הנתונים של מופע היעד.
בוחרים את Google Cloud האזור הרצוי למופע החדש של Cloud SQL (או משאירים את האפשרות Any).
מסמנים את תיבת הסימון Public IP (כתובת IP ציבורית) כי במדריך הזה לשימוש מהיר משתמשים ברשימת כתובות IP שאפשר לגשת אליהן כשיטת הרשת. השיטה הזו פועלת על ידי הגדרת שרת מסד הנתונים של המקור כך שיקבל חיבורים מכתובת ה-IP היוצאת של מכונת Cloud SQL.
בוחרים את סוג המכונה עבור המופע של Cloud SQL. גודל הדיסק צריך להיות גדול מגודל מסד הנתונים של המקור או שווה לו.
מגדירים את סוג האחסון ואת קיבולת האחסון למופע Cloud SQL.
לוחצים על CREATE & CONTINUE (יצירה והמשך) כדי ליצור את המכונה החדשה.
בתיבת הדו-שיח הבאה לוחצים על יצירת יעד והמשך. יצירת המכונה עשויה להימשך כמה דקות.
הגדרת קישוריות
- בוחרים את שיטת הרשת שרוצים להשתמש בה כדי ליצור קישוריות בין מסדי הנתונים של המקור והיעד. במדריך למתחילים הזה, משתמשים ברשימה Connectivity method כדי לבחור באפשרות IP allowlist כשיטת הרשת.
- אם כתובת ה-IP של המקור לא מאוכלסת מראש בשדה הזה, צריך להעתיק את כתובת ה-IP היוצאת של מופע Cloud SQL מהמסוף, ולהשתמש בה כדי להגדיר את חומת האש של הרשת עבור שרת מסד הנתונים של המקור, כך שהמערכת תקבל חיבורים מכתובת ה-IP הזו.
- מעדכנים את קובץ
pg_hba.confאו את קבוצות האבטחה של Amazon RDS כדי לאשר חיבורים מכתובת ה-IP הזו. - בכללי חומת האש, יוצרים כלל נכנס (או כלל כניסה) כדי לאפשר חיבורים ביציאה 5432 מכתובת ה-IP של הקישוריות של מכונת היעד של Cloud SQL.
- מעדכנים את קובץ
- לוחצים על הגדרה והמשך כדי להשלים את הגדרת פרופיל הקישור.
הגדרת מסדי נתונים להעברה
אפשר לבחור את מסדי הנתונים שרוצים להעביר.
- ברשימה Databases to migrate (מסדי נתונים להעברה), בוחרים באפשרות All databases (כל מסדי הנתונים).
כל מסדי הנתונים שקיימים במקור נבחרים להעברה.
- לוחצים על שמירה והמשך.
בדיקה ויצירה של עבודת ההעברה
בודקים את ההגדרות שבחרתם למשימת ההעברה.
לוחצים על TEST JOB (בדיקת העבודה) כדי לוודא שמקור הנתונים הוגדר בצורה נכונה, שמופעי המקור והיעד יכולים לתקשר זה עם זה ושעבודת ההעברה תקפה.
מוודאים שהסטטוס 'הבדיקות עברו בהצלחה!' מוצג.
אם הבדיקה נכשלת, אפשר לטפל בבעיה בחלק המתאים בתהליך ולחזור לבדיקה חוזרת.
לוחצים על CREATE & START JOB (יצירה והתחלה של העבודה) כדי ליצור את עבודת ההעברה ולהתחיל אותה באופן מיידי.
בתיבת הדו-שיח הבאה לוחצים על התחלה.
בדף משימות העברה, מוודאים שמשימת ההעברה מוגדרת לסטטוס 'התחלה'. אחרי כמה דקות, בודקים שהסטטוס השתנה ל'פועל'.
אימות משימת ההעברה
בקטע הזה מאשרים ש-Database Migration Service השתמש במשימת ההעברה כדי להעביר נתונים ממופע מסד הנתונים של המקור למופע מסד הנתונים של היעד ב-Cloud SQL.
- נכנסים לדף SQL Instances ב- Google Cloud console.
- לוחצים על הערך של העותק לקריאה של משימת ההעברה.
- לוחצים על הסמל Activate Cloud Shell (הפעלת Cloud Shell) שמופיע בפינה הימנית העליונה של הדף.
- בהנחיה של Google Cloud Shell, מקישים על Enter.
- אופציונלי: אם מופיעה תיבת הדו-שיח Authorize Cloud Shell, לוחצים על Authorize.
- מתחברים למכונה של מסד הנתונים של Cloud SQL ביעד.
- בהנחיה Enter password (הזנת סיסמה), מזינים את הסיסמה שסיפקתם או ש-Database Migration Service יצר בשבילכם בשלב Define settings for the destination Cloud SQL instance (הגדרת הגדרות למופע היעד של Cloud SQL).
- בהנחיה postgres, מזינים
\listכדי להציג את רשימת מסדי הנתונים ולוודא שמופיע בה מופע מסד הנתונים של המקור. - בהנחיה postgres, מזינים
\connect SOURCE_DB_NAMEכי רוצים לראות את הטבלאות שמשויכות למופע הזה של מסד הנתונים. שם ההנחיה משתנה מ-postgresל-SOURCE_DB_NAME. - בהנחיה SOURCE_DB_NAME, מזינים
\dtכדי לראות את הטבלאות של המופע הזה. - בהנחיה SOURCE_DB_NAME, מזינים
GRANT cloudsqlexternalsync to USER;כי רוצים לתת למשתמש הזה הרשאה לגשת לנתונים בטבלאות של המופע הזה. - בהנחיה SOURCE_DB_NAME, מזינים
SELECT * from TABLE_NAME;כדי לראות את המידע שמשוכפל מטבלה במופע של מסד הנתונים של המקור. - מוודאים שהמידע שמופיע בטבלה נכון.
האישור הזה מעיד על כך ש-Database Migration Service העביר את הנתונים.
קידום משימת ההעברה
הכול מוכן לקידום של עבודת ההעברה. כתוצאה מכך, מכונת מסד הנתונים של Cloud SQL ביעד מחליפה את מכונת מסד הנתונים של המקור בתור מסד הנתונים הראשי.
חוזרים לדף משימות העברה.
לוחצים על עבודת ההעברה שרוצים להעביר לקידום. יופיע הדף Migration job details.
ממתינים עד שהעיכוב בשכפול יתקרב לאפס.
הפסקת כל הפעולות של כתיבה למסד הנתונים של המקור.
מחכים עד שזמן ההשהיה של השכפול יהיה אפס.
לוחצים על עבודת ההעברה שרוצים להעביר לקידום. הסטטוס של העבודה הזו צריך להיות 'פועלת'.
לוחצים על קידום כדי לקדם את עבודת ההעברה.
לוחצים שוב על קידום בתיבת הדו-שיח הבאה.
מוודאים שהסטטוס של משימת ההעברה הוא 'העברה בתהליך'. אחרי כמה דקות, בודקים שהסטטוס השתנה ל'הושלם'.
מכונת מסד הנתונים החדשה של Cloud SQL מוכנה לשימוש.
הסרת המשאבים
כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם בדף הזה, פועלים לפי השלבים הבאים:
- אם אתם לא צריכים את משימת ההעברה, פרופיל החיבור, מופע Cloud SQL והפרויקט, תוכלו למחוק אותם באמצעות Google Cloud המסוף.