ניהול מודרני בעולמות ה-Hybrid בעזרת OMS (מאמר 4-Automation and Control – Hybrid Worker)

March 6, 2017

אין תגובות

שלום לכולם,

שירות 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

  1. הרצת הסקריפט להתקנת סוכן Hybrid Worker וחיבור לסביבת OMS.
  2. יצירת תהליך לדוגמה.
  3. הרצת תהליך לבדיקה.

התקנת סוכן Hybrid Worker וחיבור לסביבת OMS

בשלב הראשון נתקין את הסוכן על שרת Windows 2012 R2 ונחבר את הפתרון ל-OMS Workspace שיצרנו בעבר.
ניתן לבצע את התהליך באופן ידני או בעזרת תהליך “אוטומטי” שניתן להוריד מ-PowerShell Gallery.
במאמר זה אראה כיצד מבצעים הכל בעזרת הסקריפט.

שלב 1 – התקנת המודול על השרת הרלוונטי ע”י הרצת הפקודה הבאה (Install-Script נתמך ב-PS5.0):

Install-Script -Name:"New-OnPremiseHybridWorker" -RequiredVersion 1.0;

 

Worker1

לאחר התקנת המודול נוכל להתקין 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"
Worker2

לאחר הרצת הסקריפט בהצלחה נוכל לראות סוכן חדש תחת Hybrid Worker Groups בשירות Azure Automation ו-Monitoring Agent פעיל מול OMS תחת Control Panel של השרת.

Worker3

יצירת תהליך לדוגמה

בשלב זה אני רוצה להראות כמה פשוט להפעיל תהליכי אוטומציה על הסביבות המקומיות בעזרת Hybrid Woker, התהליכים נשארו אותם תהליכים רק שבמקום לרוץ ב-“Azure” נבחר להריצם ב-Hybrid Worker.
לדוגמה: נבנה תהליך שמייצר משתמש ב-AD המקומי, מוסיף אותו לקבוצות AD, בונה למשתמש Home Folder ושולח מייל.
בשלב ראשון, נבנה את התהליך (Runbook) שמבצע את הפעולות מול ה-AD ע”י הוספת תהליך חדש

Worker4

שלב שני, נכתוב את הסקריפט שיבצע את הפעולות מול ה-AD, שרת הקבצים וכו’ (הסקריפט נכתבים ב-PowerShell ולכן אפשר לקחת גם סקריפטים קיימים)..

Worker5

אני בחרתי לכתוב תהליך שדורש לקבל 3 פרמטרים מהמשתמש (שם פרטי, שם משפחה, ושם חשבון).

הרצת תהליך לדוגמה

לאחר שיצרנו את התהליך נוכל להריץ אותו תחת Test Plan או במידה וכבר פרסמנו את התוכנית אז בעזרת לחיצה על כפתור Start.
לאחר שלחצנו “Start” נגדיר את הפרמטרים ליצירת המשתמש (שימו לב ב-Run Settings בחרתי ב-Hybrid Worker וב-Hybrid Worker Group שיצרנו מקודם).

Worker6

לאחר שלחצנו OK, למעשה התהליך נכנס ל-Queued וה-Hybrid Worker מתחיל בתהליך עצמו (נוכל לעקוב אחרי התהליך תחת ה-Job שנוצר).

Worker7

לסיכום:

במאמר זה ראינו מה זה Hybrid Worker ואיך הפתרון עובד מבחינת הפעלת השירות, התקנה ודרישות Firewall.
בנוסף, ראינו כמה “פשוט” להגדיר את תהליכים מול הסביבה המקומית אם זה תהליכים שמקבלים פרמטרים מהמשתמש ו/או תהליכים שירוצו בתזמון קבוע לביצוע משימות קבועות.
שירות Azure Automation ביחד עם Hybrid Worker מאפשרים לנו לבצע פעולות פשוטות ו/או מורכבות מול סביבות הענן והסביבות המקומיות.
פעולות אלו מספקות לנו מספר יתרונות כמו החלפת פעולות ידניות, הפחתת הסיכונים בתוצאות בלתי צפויות, הרצת תהליכים מול מספר מוצרים/ממשקים ועוד.
Azure Automation מאפשר לנו לנהל את כל התהליכים במקום מרכזי אחד והדבר החשוב ביותר הוא שאנחנו מקבלים את הפתרון כשירות דבר שמונע מאיתנו תחזוקה, שרידות וכו’.

ממליץ לכם בחום להתחיל לנהל את התהליכים שלכם ובמיוחד את המשימות שרצות בתזמון קבוע בעזרת שירות Azure Automation Smile.

הוסף תגובה
facebook linkedin twitter email

Leave a Reply

Your email address will not be published. Required fields are marked *