במאמר הזה נספק תשובות לשאלות ולחששות לגבי התקנת לקוח הגילוי של Migration Center במרכזי נתונים. היא מדגישה את החשיבות של אבטחה, תאימות וביצועים כשמגלים ואוספים נתונים מנכסי IT של לקוחות בסביבות עם רגולציה מחמירה.
איך מתבצע איסוף הנתונים
לקוח הגילוי משתמש בכמה שיטות כדי לאסוף נתונים ממכונות יעד. הנתונים שנאספים משתנים בהתאם לשיטה. ברמת האורח, הנתונים נאספים באמצעות סקריפטים לאיסוף נתונים; ברמת ההיפר-ויז'ור, הנתונים נאספים באמצעות ממשקי ה-API של הפלטפורמה הבסיסית.
שירות ותהליך של לקוח Discovery
לקוח הגילוי פועל כשירות שנקרא GoogleMCDC בתהליך שנקרא mcdc_service.exe.
סקריפטים של אוספים
כל שיטות האיסוף ברמת האורח שבהן משתמש לקוח הגילוי מפעילות סקריפטים של איסוף במכונות היעד. בקישורים הבאים אפשר לעיין בסקריפטים בפועל שמשמשים לאיסוף:
- Linux
- Windows
סקריפטים לאיסוף נתונים שומרים את התוצאות בקובץ ארכיון (zip או tar) שלקוח הגילוי מאחזר.
מנגנונים של צירוף משתמשים
הלקוח של Discovery עשוי להשתמש במנגנון איסוף אחד או יותר שמתואר בקטעים הבאים כדי לאסוף נתונים ממכונות היעד.
SSH (Linux)
במהלך איסוף נתונים באמצעות SSH, התהליך הבא מתרחש:
- מתבצעת הפעלה של סשן SSH בין מכונת האיסוף לבין שרת היעד.
- נוצרת ספרייה זמנית בתיקייה
~/.mcdc-temp/. - סקריפט האיסוף מועתק לספרייה הזו.
- סקריפט האוסף מופעל.
- הארכיון של התוצאות מאוחזר באמצעות SCP.
- הספרייה הזמנית מנוקה.
WMI (Windows)
כברירת מחדל, לקוח הגילוי משתמש בקריאות WMI מרוחקות כדי לאסוף נתונים ממכונות Windows שהן יעד. לחלופין, אם מפעילים איסוף מבוסס-סקריפט, לקוח הגילוי מעתיק ומריץ סקריפט במכונת היעד.
במהלך איסוף WMI מבוסס-סקריפט, התהליך הבא מתרחש:
- מתבצעת התחברות ל-WMI במכונת היעד.
- מפתח רישום זמני (volatile) נוצר במכונת היעד בנתיב
HKLM:\SOFTWARE\Google\Collector\data. - סקריפט האיסוף מועתק למפתח הרישום.
- נוצרת ספרייה זמנית בתיקייה
C:\temp. - תסריט האוסף נכתב בספרייה הזמנית.
- סקריפט האוסף מופעל.
- התוצאה של האיסוף נכתבת למפתח הרישום הזמני.
- התוצאה מועתקת למכונת האיסוף.
VMware Guest Tools (Linux and Windows)
במהלך איסוף נתונים מ-VMware עבור Linux ו-Windows, מתרחש התהליך הבא:
- נוצרת ספרייה זמנית באמצעות כלי האורח של VMware.
- סקריפט האיסוף מועתק לספרייה הזו.
- סקריפט האוסף מופעל.
- הארכיון של התוצאות מאוחזר באמצעות כלי האורח של VMware.
- הספרייה הזמנית מנוקה.
איסוף נתונים תקופתי
לקוח הגילוי אוסף נתונים מכל השרתים שהוגדרו באופן מחזורי. יש שני סוגים של אוספים:
- איסוף מלא: מופעל פעם ביום לכל שרת. האוסף הזה מריץ את הסקריפט המלא של האוסף, שאוסף מידע שונה על המכונה הווירטואלית, כמו החומרה, הסביבה, התוכנות המותקנות, התהליכים הפועלים ועוד.
- איסוף נתוני ביצועים: מופעל כל 10 דקות בכל שרת. האיסוף הזה מפעיל את סקריפט איסוף הביצועים שאוסף נתונים על השימוש במעבד, בזיכרון, ברשת ובדיסק.
אילו נתונים נאספים
סקריפטים לאיסוף נתונים אוספים נתונים על מכונות וירטואליות (VM) כדי להבין איך הן מוגדרות ואילו משאבים הן צורכות. כך אפשר להעריך ולתכנן את ההעברה שלהם לענן.
ברשימה הבאה מתוארים הנתונים שנאספים:
- מידע על המערכת: המידע הבסיסי שחיוני לקביעת הגודל של המכונה הווירטואלית, דרישות הביצועים והתלות בחומרה או במנהלי התקנים ספציפיים. היא כוללת:
- מערכת הפעלה (גרסה ומהדורה)
- חומרה (מעבד, זיכרון, פרטי BIOS)
- הגדרת הרשת (ממשקי רשת, כתובות IP, טבלאות ניתוב)
- אחסון (כונני דיסק, מחיצות, נקודות הרכבה)
- תוכנות ושירותים מותקנים: הסקריפטים אוספים רשימה של חבילות מותקנות ושירותים שפועלים כדי להבין את מחסנית התוכנה של המכונה הווירטואלית ואת התפקיד שלה. היא כוללת:
- שרתי אינטרנט (Apache, Tomcat, JBoss)
- מסדי נתונים (הוכחה ל-SQL Server נאספת בסקריפט של Windows)
- אפליקציות אחרות שעשויות לדרוש הגדרות ספציפיות במהלך ההעברה.
- הגדרות של אפליקציות: הסקריפטים אוספים גם קובצי הגדרות של שרתי אינטרנט (IIS, Apache, Tomcat, JBoss, WordPress). המידע הזה עוזר להבין את ההגדרות הספציפיות ואת יחסי התלות של האפליקציות האלה, וזה חיוני כדי להבטיח מעבר חלק לסביבת הענן.
- זיהוי של VMWare וסביבת ענן: הסקריפטים ל-Linux ול-Windows מנסים לזהות אם המכונה הווירטואלית כבר פועלת בסביבת ענן (AWS או Google Cloud) או באשכול VCenter. הן עושות זאת על ידי שליחת בקשות לשרתי המטא-נתונים של ספקי הענן האלה. אם המכונה הווירטואלית כבר נמצאת בענן, הסקריפטים אוספים מטא-נתונים רלוונטיים כמו מזהה המופע, סוג המופע ופרטים נוספים.
- מדדי ביצועים: סקריפטים לאיסוף נתונים על הביצועים מודדים את ניצול המשאבים. הם כוללים את הפעולות הבאות:
- CPU
- זיכרון
- פעולות קלט/פלט
- Networking
- חיבורים לרשת: הסקריפטים אוספים חיבורים פתוחים כדי ליצור תמונה של התלות השונה במשאבי הרשת.
ההשפעה על הביצועים במכונות היעד
הערכת ניצול המשאבים
ניצול המשאבים של סקריפטים לאיסוף במכונת היעד תלוי בפרמטרים כמו מספר התהליכים שפועלים, מספר האפליקציות שנפרסו, מספר חיבורי הרשת הפעילים ועוד.
ב-Windows, סקריפט האיסוף פועל באמצעות העדיפות הכי נמוכה שזמינה דרך Threading API.
ב-Linux, נעשה שימוש בערך nice של 5 כדי לצמצם את ההפרעות לעומסי עבודה של ייצור, ולהבטיח שיש להם עדיפות גבוהה יותר על פני סקריפט האיסוף.
איסוף טיפוסי עשוי להוביל לשימוש גבוה במעבד חד-ליבתי למשך 5 עד 20 שניות במכונה לא עמוסה. אם יש עומסי עבודה אחרים, יכול להיות שייקח יותר זמן כי לעומסי העבודה האלה יש עדיפות גבוהה יותר.
אסטרטגיות מיטיגציה
לקוח הגילוי מספק מנגנון למניעת איסוף נתונים משרתים ספציפיים בשעות מסוימות. אפשר להשתמש בתכונה הזו כדי למנוע את האיסוף משרתים שמריצים עומסי עבודה קריטיים בשעות השיא.
שיקולי אבטחה
אימות והרשאה
תקשורת עם מכונות יעד
- לקוח הגילוי משתמש בערוצים מאובטחים כדי לבצע אימות ולתקשר עם מכונות היעד. זה כולל חיבורי SSH, WMI, VMware tools ו-VCenter. לקוח הגילוי משתמש באמצעי האבטחה המובנים כחלק מהפרוטוקולים האלה.
- ב-SSH, לקוח הגילוי מאפשר אימות מבוסס-מפתח וגם אימות באמצעות שם משתמש וסיסמה. רשימה מלאה של סוגי צמדי המפתחות הנתמכים מופיעה במאמר בנושא דרישות לגבי נכסי היעד.
תקשורת עם Google Cloud
- לקוחות רשומים של Discovery מתקשרים עם Google Cloud Migration Center במהלך הפעולה הרגילה שלהם. התקשורת מתבצעת דרך חשבון שירות עם קישור תפקיד
roles/migrationcenter.discoveryClient. חשבון השירות נוצר באופן אוטומטי או מסופק על ידי המשתמש במהלך תהליך ההרשמה. - המפתח הפרטי של חשבון השירות מוצפן במחשב של לקוח הגילוי באמצעות מנגנון ההצפנה שמתואר בקטע הבא.
- כל התקשורת עם Google Cloud מאומתת באמצעות חשבון השירות הזה ומוצפנת באמצעות SSL/TLS.
הצפנת נתונים
- במעבר: כל ערוצי התקשורת של לקוח הגילוי משתמשים בהצפנה כדי להגן על הנתונים במעבר. זה כולל תקשורת עם מכונות היעד באמצעות הפרוטוקולים השונים (SSH/WMI), ותקשורת עם Google Cloud באמצעות HTTPS.
- במצב מנוחה: כל הפרטים האישיים המזהים (PII), הפרטים האישיים הרגישים (SPII) והסודות של לקוח הגילוי מוצפנים במצב מנוחה באמצעות אלגוריתם
AES128_GCM, ומשתמשים ב-Windows DPAPI כדי לאחסן בצורה מאובטחת את מפתחות ההצפנה.
זיהוי ומניעה של פריצות
הלקוח של Discovery משמש לחיבור ולהרצת סקריפטים בהרבה מכונות וירטואליות בארגון, ולכן הוא עשוי להפעיל התראות EDR או xDR. זה תלוי מאוד באופן שבו כלי האבטחה מוגדרים ובכלים הספציפיים שבהם אתם משתמשים. חשוב להיות מודעים לכך ולשקול ליצור פטורים להתראות ולמכשירים הספציפיים.
רישום ביומן ותמיכה
לקוח הגילוי אוסף יומנים במהלך הפעולה שלו כדי לאפשר ניפוי באגים ותמיכה. יומני הלקוח של Discovery נאספים באמצעות שני מנגנונים:
- יומנים מקומיים: היומנים נכתבים לקובץ בתיקייה
C:\ProgramData\Google\mcdc\logs. קבצי היומן עוברים רוטציה ודחיסה. - יומני Cloud: לקוחות רשומים שולחים גם את היומנים אל Google Cloud כדי שצוות התמיכה יוכל להשתמש בהם כשלקוחות מדווחים על בעיות. Google Cloud