שלום לכולם,
שירות Operations Management Suite, שירות ענני המביא עימו בשורה ותצורה חדשה של ניהול מודרני ופרואקטיבי לסביבות הענן (Azure, AWS וכו’) ולסביבות המקומיות שלנו.
במאמר האחרון דיברתי על רכיב בשם Automation and Control מה זה בכלל Azure Automation, איך משתמשים בשירות, איך מתממשק ל-OMS ואיך מייצרים סקריפטים חדשים. במאמר זה נמתקד ביכולת שנקראת Hybrid Runbook Worker חלק מפתרון Azure Automation שמאפשרת להריץ תהליכים על הסביבה המקומית לדוגמה הרצת תהליכים מול AD, Exchange, VMware ועוד.
בנוסף, נבנה תהליך מהתחלה עם Workflow מלא מול שירותים בסביבה המקומית.
מה זה Hybrid Runbook Worker?
במאמר הקודם דיברנו על פתרון Azure Automation המאפשר להריץ תהליכים פשוטים/מורכבים, משימות חוזרות ועוד מול שירותי ענן ו/או שירותי שחושפים API.
מה עושים עם תהליכים שרצים מול מערכות פנימיות או מול הסביבה המקומית?
יכולת Hybrid Runbook Worker ב-Azure Automation מאפשרת לנו להריץ תהליכים מול המערכות הפנימיות ומאפשרת לנו לנהל שירותים ברשת המקומיות.
כל התהליך עצמו (Runbook) נכתב ומנוהל ע”י Azure Automation בענן.
כל מה שצריך לעשות כדי לעבוד עם Hybrid Runbook Worker הוא להתקין “סוכן” שמדבר ישירות מול Azure Automation.
ניתן להתקין מספר סוכנים על מנת ליצור פתרון HA להרצת תהליכי אוטומציה מול השירותים ברשת המקומית או במקרה של הפרדת רשתות.
תרשים כללי של הפתרון
דרישות להתקנת סוכן Hybrid Runbook Worker
- מערכת הפעלה Windows Server 2012 ומעלה.
- Windows PowerShell 4.0 ומעלה.
- מינימום 2 מעבדים ו-4GB זכרון.
דרישות Firewall
- גישה החוצה בפורט 443.
- גישה מבחינת URL ל-azure-automation.net.*.
במידה ורוצים להגביל את הגישה, ניתן לפתוח רק ל-Region הרלוונטי, להלן הרשימה:
Region | DNS Record |
South Central US | scus-jobruntimedata-prod-su1.azure-automation.net |
East US 2 | eus2-jobruntimedata-prod-su1.azure-automation.net |
West Europe | we-jobruntimedata-prod-su1.azure-automation.net |
North Europe | ne-jobruntimedata-prod-su1.azure-automation.net |
Canada Central | cc-jobruntimedata-prod-su1.azure-automation.net |
South East Asia | sea-jobruntimedata-prod-su1.azure-automation.net |
Central India | cid-jobruntimedata-prod-su1.azure-automation.net |
Japan East | jpe-jobruntimedata-prod-su1.azure-automation.net |
Australia South East | ase-jobruntimedata-prod-su1.azure-automation.net |
הערה: במידה ורוצים שהסוכנים ידווחו ל-OMS יש לפתוח גם את הפורטים לרכיב Log Analytics (רשימת הפורטים במאמר הקודם).
התקנת סוכן Hybrid Worker
- הרצת הסקריפט להתקנת סוכן Hybrid Worker וחיבור לסביבת OMS.
- יצירת תהליך לדוגמה.
- הרצת תהליך לבדיקה.
התקנת סוכן Hybrid Worker וחיבור לסביבת OMS
בשלב הראשון נתקין את הסוכן על שרת Windows 2012 R2 ונחבר את הפתרון ל-OMS Workspace שיצרנו בעבר.
ניתן לבצע את התהליך באופן ידני או בעזרת תהליך “אוטומטי” שניתן להוריד מ-PowerShell Gallery.
במאמר זה אראה כיצד מבצעים הכל בעזרת הסקריפט.
שלב 1 – התקנת המודול על השרת הרלוונטי ע”י הרצת הפקודה הבאה (Install-Script נתמך ב-PS5.0):
Install-Script -Name:"New-OnPremiseHybridWorker" -RequiredVersion 1.0;
לאחר התקנת המודול נוכל להתקין Hybrid Worker שישמש אותנו כ”סוכן” מול שירות Azure Automation.
כדי להריץ את הסקריפט נצטרך להעביר לו 5 פרמטרים:
- AutomationAccountName (חובה) – השם של המשאב Azure Automation שיצרנו במאמר הקודם.
- ResourceGroupName (חובה) – השם של ה-ResourceGroup שבו יצרנו את Azure Automation.
- HybridGroupName (חובה) – השם לקבוצה של הסוכנים, ניתן להתקין מספר סוכנים בקבוצות/סביבות שונות.
- SubscriptionID (חובה) – ה-Subscription ID שבו הקמנו את השירותים.
- WorkspaceName – השם של ה-OMS Workspace שיצרנו במאמרים הקודמים במידה וזה ריק הסקריפט ייצור בעצמו OMS Workspace.
הסקריפט יהפוך את השרת ל”סוכן” של Azure Automation ויתקין עליו גם Microsoft Monitoring Agent להתממשקות מול שירות ה-OMS.
יש להריץ את הסקריפט עם הרשאות אדמין, להלן הפקודה
.\New-OnPremiseHybridWorker.ps1 -AutomationAccountName:"AvihaiAutomation" -ResourceGroupName:"OMSLab" -HybridGroupName:"HybridWLAN" -SubscriptionId:"aea8xxxx-xxxx-xxxx-xxxx-xxxxxxxxx80d" -WorkspaceName:"AvihaiOMSLab"
לאחר הרצת הסקריפט בהצלחה נוכל לראות סוכן חדש תחת Hybrid Worker Groups בשירות Azure Automation ו-Monitoring Agent פעיל מול OMS תחת Control Panel של השרת.
יצירת תהליך לדוגמה
בשלב זה אני רוצה להראות כמה פשוט להפעיל תהליכי אוטומציה על הסביבות המקומיות בעזרת Hybrid Woker, התהליכים נשארו אותם תהליכים רק שבמקום לרוץ ב-“Azure” נבחר להריצם ב-Hybrid Worker.
לדוגמה: נבנה תהליך שמייצר משתמש ב-AD המקומי, מוסיף אותו לקבוצות AD, בונה למשתמש Home Folder ושולח מייל.
בשלב ראשון, נבנה את התהליך (Runbook) שמבצע את הפעולות מול ה-AD ע”י הוספת תהליך חדש
שלב שני, נכתוב את הסקריפט שיבצע את הפעולות מול ה-AD, שרת הקבצים וכו’ (הסקריפט נכתבים ב-PowerShell ולכן אפשר לקחת גם סקריפטים קיימים)..
אני בחרתי לכתוב תהליך שדורש לקבל 3 פרמטרים מהמשתמש (שם פרטי, שם משפחה, ושם חשבון).
הרצת תהליך לדוגמה
לאחר שיצרנו את התהליך נוכל להריץ אותו תחת Test Plan או במידה וכבר פרסמנו את התוכנית אז בעזרת לחיצה על כפתור Start.
לאחר שלחצנו “Start” נגדיר את הפרמטרים ליצירת המשתמש (שימו לב ב-Run Settings בחרתי ב-Hybrid Worker וב-Hybrid Worker Group שיצרנו מקודם).
לאחר שלחצנו OK, למעשה התהליך נכנס ל-Queued וה-Hybrid Worker מתחיל בתהליך עצמו (נוכל לעקוב אחרי התהליך תחת ה-Job שנוצר).
לסיכום:
במאמר זה ראינו מה זה Hybrid Worker ואיך הפתרון עובד מבחינת הפעלת השירות, התקנה ודרישות Firewall.
בנוסף, ראינו כמה “פשוט” להגדיר את תהליכים מול הסביבה המקומית אם זה תהליכים שמקבלים פרמטרים מהמשתמש ו/או תהליכים שירוצו בתזמון קבוע לביצוע משימות קבועות.
שירות Azure Automation ביחד עם Hybrid Worker מאפשרים לנו לבצע פעולות פשוטות ו/או מורכבות מול סביבות הענן והסביבות המקומיות.
פעולות אלו מספקות לנו מספר יתרונות כמו החלפת פעולות ידניות, הפחתת הסיכונים בתוצאות בלתי צפויות, הרצת תהליכים מול מספר מוצרים/ממשקים ועוד.
Azure Automation מאפשר לנו לנהל את כל התהליכים במקום מרכזי אחד והדבר החשוב ביותר הוא שאנחנו מקבלים את הפתרון כשירות דבר שמונע מאיתנו תחזוקה, שרידות וכו’.
ממליץ לכם בחום להתחיל לנהל את התהליכים שלכם ובמיוחד את המשימות שרצות בתזמון קבוע בעזרת שירות Azure Automation .
Leave a Reply