אינטליגנציה של נתונים גנרטיביים

שלב אשכולות HyperPod עם Active Directory לכניסה חלקה מרובת משתמשים | שירותי האינטרנט של אמזון

תאריך:

Amazon SageMaker HyperPod נבנה ייעודי להאצת אימון מודל היסוד (FM), הסרת ההרמה הכבדה הבלתי מובחנת הכרוכה בניהול ואופטימיזציה של אשכול מחשוב אימון גדול. עם SageMaker HyperPod, אתה יכול לאמן FMs במשך שבועות וחודשים ללא הפרעה.

בדרך כלל, אשכולות HyperPod משמשים מספר משתמשים: חוקרי למידת מכונה (ML), מהנדסי תוכנה, מדעני נתונים ומנהלי אשכולות. הם עורכים את הקבצים שלהם, מנהלים את העבודות שלהם ורוצים להימנע מהשפעה זה על עבודתו של זה. כדי להשיג סביבה מרובת משתמשים זו, אתה יכול לנצל את מנגנון המשתמש והקבוצה של לינוקס וליצור באופן סטטי מספר משתמשים בכל מופע באמצעות סקריפטים של מחזור חיים. עם זאת, החיסרון בגישה זו הוא שהגדרות המשתמש והקבוצה משוכפלות על פני מספר מופעים באשכול, מה שמקשה על תצורתן באופן עקבי בכל המופעים, כגון כאשר חבר צוות חדש מצטרף.

כדי לפתור את נקודת הכאב הזו, אנחנו יכולים להשתמש פרוטוקול גישה קל לספרייה (LDAP) ו LDAP על TLS/SSL (LDAPS) להשתלב עם שירות מדריכים כגון AWS Directory Service עבור Microsoft Active Directory. עם שירות הספריות, תוכל לתחזק באופן מרכזי משתמשים וקבוצות, וההרשאות שלהם.

בפוסט זה, אנו מציגים פתרון לשילוב אשכולות HyperPod עם AWS Managed Microsoft AD, ומסבירים כיצד להשיג סביבת התחברות מרובת משתמשים חלקה עם ספרייה מתוחזקת מרכזית.

סקירת פתרונות

הפתרון משתמש בשירותים ובמשאבים הבאים של AWS:

אנו גם משתמשים AWS CloudFormation לפרוס מחסנית כדי ליצור את התנאים המוקדמים עבור אשכול HyperPod: VPC, רשתות משנה, קבוצת אבטחה ו אמזון FSx עבור ברק נפח.

התרשים הבא ממחיש את ארכיטקטורת הפתרון ברמה גבוהה.

דיאגרמת ארכיטקטורה לשילוב HyperPod ו-Active Directory

בפתרון זה, מופעי אשכול HyperPod משתמשים בפרוטוקול LDAPS כדי להתחבר ל-AWS Managed Microsoft AD באמצעות NLB. אנו משתמשים סיום TLS על ידי התקנת אישור ל-NLB. כדי להגדיר LDAPS במופעי אשכול HyperPod, סקריפט מחזור החיים מתקין ומוגדר System Security Services Daemon (SSSD)-תוכנת לקוח בקוד פתוח עבור LDAP/LDAPS.

תנאים מוקדמים

פוסט זה מניח שאתה כבר יודע איך ליצור אשכול HyperPod בסיסי ללא SSSD. לפרטים נוספים כיצד ליצור אשכולות HyperPod, עיין ב תחילת העבודה עם SageMaker HyperPod ו סדנת HyperPod.

כמו כן, בשלבי ההגדרה, תשתמש במכונת לינוקס כדי ליצור אישור בחתימה עצמית ולקבל סיסמה מעורפלת עבור משתמש הקורא AD. אם אין לך מכשיר לינוקס, אתה יכול ליצור מופע EC2 Linux או להשתמש בו AWS CloudShell.

צור VPC, רשתות משנה וקבוצת אבטחה

בצע את ההוראות בסעיף בעל חשבון חלק בסדנת HyperPod. אתה תפרוס מחסנית CloudFormation ותיצור משאבים מוקדמים כגון VPC, רשתות משנה, קבוצת אבטחה ונפח FSx עבור Luster. עליך ליצור גם תת-רשת ראשי וגם תת-רשת גיבוי בעת פריסת מחסנית CloudFormation, מכיוון AWS Managed Microsoft AD דורשת לפחות שתי רשתות משנה עם אזורי זמינות שונים.

בפוסט זה, למען הפשטות, אנו משתמשים באותה VPC, רשתות משנה וקבוצת אבטחה גם עבור אשכול HyperPod וגם עבור שירות ספריות. אם אתה צריך להשתמש ברשתות שונות בין שירות האשכול והספריות, ודא שקבוצות אבטחה וטבלאות מסלול מוגדרות כך שיוכלו לתקשר זה עם זה.

צור AWS מנוהל Microsoft AD בשירות ספריות

השלם את השלבים הבאים כדי להגדיר את הספרייה שלך:

  1. על מסוף שירות ספריות, בחר מדריכים בחלונית הניווט.
  2. בחרו הגדר ספרייה.
  3. בעד סוג ספרייה, בחר AWS מנוהל Microsoft AD.
  4. בחרו הַבָּא.
    מסך בחירת סוג ספריה
  5. בעד מַהֲדוּרָה, בחר מהדורה רגילה.
  6. בעד שם DNS של ספרייה, הזן את שם ה-DNS המועדף עליך (לדוגמה, hyperpod.abc123.com).
  7. בעד סיסמת מנהל¸ הגדר סיסמה ושמור אותה לשימוש מאוחר יותר.
  8. בחרו הַבָּא.
    מסך תצורת יצירת ספריות
  9. ב רישות בסעיף, ציין את ה-VPC ושתי רשתות משנה פרטיות שיצרת.
  10. בחרו הַבָּא.
    מסך תצורת רשת ספריות
  11. בדוק את התצורה והתמחור ולאחר מכן בחר ליצור תיקייה.
    מסך אישור יצירת ספריה
    יצירת הספרייה מתחילה. המתן עד שהסטטוס ישתנה מ יוצרים ל Active, שיכול לקחת 20-30 דקות.
  12. כאשר הסטטוס משתנה ל Active, פתח את דף הפרטים של הספרייה וציין את כתובות ה-DNS לשימוש מאוחר יותר.מסך פרטי ספרייה

צור NLB מול שירות Directory

כדי ליצור את ה-NLB, בצע את השלבים הבאים:

  1. על קונסולת אמזון EC2, בחר קבוצות יעד בחלונית הניווט.
  2. בחרו יצירת קבוצות יעד.
  3. צור קבוצת יעד עם הפרמטרים הבאים:
    1. בעד בחר סוג יעד, בחר כתובות IP.
    2. בעד שם קבוצת היעד, להיכנס LDAP.
    3. בעד פרוטוקול: נמל, בחר TCP והזן 389.
    4. בעד סוג כתובת IP, בחר IPv4.
    5. בעד VPC, בחר SageMaker HyperPod VPC (שיצרת עם תבנית CloudFormation).
    6. בעד פרוטוקול בדיקת בריאות, בחר TCP.
  4. בחרו הַבָּא.
    מסך תצורת יעד יצירת איזון עומסים
  5. ב רשום יעדים בקטע, רשום את כתובות ה-DNS של שירות הספריות כיעדים.
  6. בעד נמלים, בחר כלול בהמתנה למטה.מסך רישום יעד איזון עומסיםהכתובות מתווספות ב- סקור יעדים קטע עם ממתין ל מעמד.
  7. בחרו יצירת קבוצת יעד.מסך סקירת יעד איזון עומסים
  8. על קונסולת מאזני עומסים, בחר צור מאזן עומסים.
  9. תַחַת איזון עומסי רשת, בחר צור.מסך בחירת סוג איזון עומסים
  10. הגדר NLB עם הפרמטרים הבאים:
    1. בעד שם מאזן עומסים, הזן שם (לדוגמה, nlb-ds).
    2. בעד תָכְנִית, בחר פנימי.
    3. בעד סוג כתובת IP, בחר IPv4.סעיף תצורה בסיסי ליצירת NLB
    4. בעד VPC, בחר SageMaker HyperPod VPC (שיצרת עם תבנית CloudFormation).
    5. תַחַת מיפויים, בחר את שתי רשתות המשנה הפרטיות ואת טווחי ה-CIDR שלהן (שיצרת עם תבנית CloudFormation).
    6. בעד קבוצות אבטחה, בחר CfStackName-SecurityGroup-XYZXYZ (שיצרת עם תבנית CloudFormation).יצירת NLB מיפוי רשתות ותצורות קבוצות אבטחה
  11. ב מאזינים וניתוב סעיף, ציין את הפרמטרים הבאים:
    1. בעד פרוטוקול, בחר TCP.
    2. בעד נָמָל, להיכנס 389.
    3. בעד פעולת ברירת מחדל, בחר את קבוצת היעד ששמה LDAP.

    כאן, אנו מוסיפים מאזין עבור LDAP. נוסיף LDAPS מאוחר יותר.

  12. בחרו צור מאזן עומסים.מסך תצורת ניתוב מאזיני NLBהמתן עד שהסטטוס ישתנה מ הפרשות ל-Active, שיכול לקחת 3-5 דקות.
  13. כאשר הסטטוס משתנה ל Active, פתח את דף הפרטים של ה-NLB המסופק ושים לב לשם ה-DNS (xyzxyz.elb.region-name.amazonaws.com) לשימוש מאוחר יותר.מסך פרטי NLB

צור אישור בחתימה עצמית וייבא אותו למנהל האישורים

כדי ליצור אישור בחתימה עצמית, בצע את השלבים הבאים:

  1. בסביבה המבוססת על לינוקס (מחשב נייד מקומי, מופע EC2 Linux או CloudShell), הפעל את הפעולות הבאות OpenSSL פקודות ליצירת תעודה בחתימה עצמית ומפתח פרטי:
    $ openssl genrsa 2048 > ldaps.key
    
    $ openssl req -new -key ldaps.key -out ldaps_server.csr
    
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [AU]:US
    State or Province Name (full name) [Some-State]:Washington
    Locality Name (eg, city) []:Bellevue
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:CorpName
    Organizational Unit Name (eg, section) []:OrgName
    Common Name (e.g., server FQDN or YOUR name) []:nlb-ds-abcd1234.elb.region.amazonaws.com
    Email Address []:[email protected]
    
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:
    
    $ openssl x509 -req -sha256 -days 365 -in ldaps_server.csr -signkey ldaps.key -out ldaps.crt
    
    Certificate request self-signature ok
    subject=C = US, ST = Washington, L = Bellevue, O = CorpName, OU = OrgName, CN = nlb-ds-abcd1234.elb.region.amazonaws.com, emailAddress = [email protected]
    
    $ chmod 600 ldaps.key

  2. על קונסולת מנהל האישורים, בחר תבואו.
  3. הזן את גוף האישור ואת המפתח הפרטי, מתוך התוכן של ldaps.crt ו ldaps.key בהתאמה.
  4. בחרו הַבָּא.מסך ייבוא ​​אישורים
  5. הוסף כל תגיות אופציונליות ולאחר מכן בחר הַבָּא.מסך עריכת תג תעודה
  6. סקור את התצורה ובחר תבואו.מסך סקירת ייבוא ​​אישורים

הוסף מאזין LDAPS

הוספנו מאזין עבור LDAP כבר ב-NLB. כעת אנו מוסיפים מאזין עבור LDAPS עם התעודה המיובאת. השלם את השלבים הבאים:

  1. על קונסולת מאזני עומסים, נווט לדף הפרטים של NLB.
  2. על מאזינים בחר, בחר הוסף מאזין.מסך NLB listers עם כפתור הוסף מאזין
  3. הגדר את המאזין עם הפרמטרים הבאים:
    1. בעד פרוטוקול, בחר TLS.
    2. בעד נָמָל, להיכנס 636.
    3. בעד פעולת ברירת מחדל, בחר LDAP.
    4. בעד מקור תעודה, בחר מאת ACM.
    5. בעד תעודה, הזן את מה שייבאת ב-ACM.
  4. בחרו להוסיף.מסך תצורת מאזינים NLBכעת ה-NLB מאזין ל-LDAP וגם ל-LDAPS. מומלץ למחוק את המאזין LDAP כי הוא מעביר נתונים ללא הצפנה, בניגוד ל-LDAPS.רשימת המאזינים של NLB עם LDAP ו-LDAPS

צור מופע EC2 Windows לניהול משתמשים וקבוצות ב-AD

כדי ליצור ולתחזק משתמשים וקבוצות ב-AD, בצע את השלבים הבאים:

  1. בקונסולת אמזון EC2, בחר מקרים בחלונית הניווט.
  2. בחרו הפעל מקרים.
  3. בעד שם, הזן שם עבור המופע שלך.
  4. בעד תמונת מכונת אמזון, בחר Microsoft Windows Server 2022 Base.
  5. בעד סוג מופע, בחר t2.micro.
  6. ב הגדרות רשת סעיף, ספק את הפרמטרים הבאים:
    1. בעד VPC, בחר SageMaker HyperPod VPC (שיצרת עם תבנית CloudFormation).
    2. בעד תת רשת, בחר אחת משתי רשתות המשנה שיצרת עם תבנית CloudFormation.
    3. בעד קבוצות אבטחה נפוצות, בחר CfStackName-SecurityGroup-XYZXYZ (שיצרת עם תבנית CloudFormation).
  7. בעד הגדר אחסון, הגדר את האחסון ל-30 GB gp2.
  8. ב פרטים מתקדמים קטע, עבור ספריית הצטרפות לדומיין¸ בחר את המודעה שיצרת.
  9. בעד פרופיל מופע IAM, בחר AWS זהות וניהול גישה (IAM) תפקיד עם לפחות את AmazonSSMManagedEC2InstanceDefaultPolicy מדיניות.
  10. עיין בתקציר ובחר הפעל מופע.

צור משתמשים וקבוצות ב-AD באמצעות מופע EC2 Windows

עם שולחן עבודה מרוחק, התחבר למופע EC2 Windows שיצרת בשלב הקודם. מומלץ להשתמש בלקוח RDP על פני שימוש בשולחן עבודה מרוחק מבוסס דפדפן, כך שתוכל להחליף את תוכן הלוח עם המחשב המקומי שלך באמצעות פעולות העתק-הדבק. לפרטים נוספים על התחברות למופעי EC2 Windows, עיין ב התחבר למופע של Windows שלך.

אם תתבקש להזין אישור כניסה, השתמש hyperpodAdmin (איפה hyperpod הוא החלק הראשון של שם ה-DNS של הספרייה שלך) בתור שם המשתמש, והשתמש בסיסמת המנהל שהגדרת לשירות הספריות.

  1. כאשר מסך שולחן העבודה של Windows נפתח, בחר מנהל שרתים מ הַתחָלָה תפריט.מסך לוח המחוונים במנהל השרת
  2. בחרו שרת מקומי בחלונית הניווט, ואשר שהדומיין הוא מה שציינת לשירות הספריות.מסך שרת מקומי במנהל השרת
  3. על ניהול בתפריט, בחר הוסף תפקידים ותכונות.תפריט נפתח שנפתח מכפתור ניהול
  4. בחרו הַבָּא עד שאתה ב- תכונות עמוד.אשף הוספת תפקידים ותכונות
  5. הרחב את התכונה כלי ניהול שרת מרחוק, להרחיב כלי ניהול תפקידים, ובחר כלים AD DS ו-AD LDS ו שירות ניהול זכויות Active Directory.
  6. בחרו הַבָּא ו התקן.כולל מסך בחירההתקנת התכונות מתחילה.
  7. בסיום ההתקנה, בחר סְגוֹר.מסך התקדמות התקנת התכונות
  8. להרחיב משתמשי Active Directory ומחשבים מ הַתחָלָה תפריט.חלון משתמשי ומחשבים של Active Directory
  9. תַחַת hyperpod.abc123.com, להרחיב hyperpod.
  10. בחר (לחץ לחיצה ימנית) hyperpod, בחר חדש, ולבחור יחידה ארגונית.תפריט ההקשר נפתח ליצירת יחידה ארגונית
  11. צור יחידה ארגונית בשם Groups.דו-שיח להקמת יחידה ארגונית
  12. בחר (לחץ לחיצה ימנית) קבוצות, בחר חדש, ולבחור קְבוּצָה.תפריט ההקשר נפתח ליצירת קבוצות
  13. צור קבוצה בשם ClusterAdmin.דו-שיח ליצירת קבוצה עבור ClusterAdmin
  14. צור קבוצה שנייה בשם ClusterDev.דו-שיח ליצירת קבוצה עבור ClusterDev
  15. בחר (לחץ לחיצה ימנית) משתמש, בחר חדש, ולבחור משתמש.
  16. צור משתמש חדש.דו-שיח ליצירת משתמש
  17. בחר (לחץ לחיצה ימנית) על המשתמש ובחר הוסף לקבוצה.תפריט ההקשר נפתח כדי להוסיף משתמש לקבוצה
  18. הוסף את המשתמשים שלך לקבוצות ClusterAdmin or ClusterDev.מסך בחירת קבוצה להוספת משתמש לקבוצהמשתמשים שנוספו ל- ClusterAdmin לקבוצה יהיו sudo פריבילגיה על האשכול.

צור משתמש לקריאה בלבד ב-AD

צור משתמש בשם ReadOnly תחת Users. ה ReadOnly משתמש משמש את האשכול לגישה תוכניתית למשתמשים ולקבוצות ב-AD.

דו-שיח ליצירת משתמש ליצירת משתמש לקריאה בלבד

שימו לב לסיסמה לשימוש מאוחר יותר.

מסך הזנת סיסמה למשתמש לקריאה בלבד

(עבור אימות מפתח ציבורי SSH) הוסף מפתחות SSH ציבוריים למשתמשים

על ידי אחסון מפתח SSH ציבורי למשתמש ב-AD, אתה יכול להיכנס מבלי להזין סיסמה. אתה יכול להשתמש בזוג מפתחות קיים, או שאתה יכול ליצור זוג מפתחות חדש עם OpenSSH ssh-keygen פקודה. למידע נוסף על יצירת צמד מפתחות, עיין ב צור זוג מפתחות עבור מופע Amazon EC2 שלך.

  1. In משתמשי Active Directory ומחשבים, על לצפיה תפריט, אפשר תכונות מתקדמות.תפריט תצוגה נפתח כדי להפעיל תכונות מתקדמות
  2. פתח את מאפיין דיאלוג של המשתמש.
  3. על עורך תכונות בחר, בחר altSecurityIdentities לבחור ערוך.כרטיסיית עורך תכונות בתיבת הדו-שיח של מאפייני משתמש
  4. בעד ערך להוסיף, בחר להוסיף.
  5. בעד ערכים, הוסף מפתח SSH ציבורי.
  6. בחרו OK.תיבת דו-שיח לעריכת מאפיינים עבור altSecurityIdentitiesאשר שהמפתח הציבורי של SSH מופיע כתכונה.כרטיסיית עורך תכונות עם תצורת altSecurityIdentities

קבל סיסמה מעורפלת למשתמש ReadOnly

כדי למנוע הכללת סיסמת טקסט רגיל בקובץ התצורה של SSSD, אתה מטשטש את הסיסמה. עבור שלב זה, אתה צריך סביבת לינוקס (מחשב נייד מקומי, מופע EC2 Linux או CloudShell).

התקן את sssd-tools חבילה במחשב לינוקס להתקנת מודול Python pysss עבור ערפול:

# Ubuntu
$ sudo apt install sssd-tools

# Amazon Linux
$ sudo yum install sssd-tools

הפעל את הסקריפט הבא של Python בשורה אחת. הזן את הסיסמה של ReadOnly מִשׁתַמֵשׁ. תקבל את הסיסמה המעורפלת.

$ python3 -c "import getpass,pysss; print(pysss.password().encrypt(getpass.getpass('AD reader user password: ').strip(), pysss.password().AES_256))"
AD reader user password: (Enter ReadOnly user password) 
AAAQACK2....

צור אשכול HyperPod עם סקריפט מחזור חיים התומך ב-SSSD

לאחר מכן, אתה יוצר אשכול HyperPod עם שילוב LDAPS/Active Directory.

  1. מצא את קובץ התצורה config.py בספריית הסקריפטים של מחזור החיים שלך, פתח אותה עם עורך הטקסט שלך וערוך את המאפיינים ב- Config כיתה ו SssdConfig מעמד:
    1. לקבוע True ל enable_sssd כדי לאפשר הגדרת SSSD.
    2. השמיים SssdConfig המחלקה מכילה פרמטרים של תצורה עבור SSSD.
    3. ודא שאתה משתמש בסיסמה המעורפלת עבור ה ldap_default_authtok מאפיין, לא סיסמת טקסט רגיל.
    # Basic configuration parameters
    class Config:
             :
        # Set true if you want to install SSSD for ActiveDirectory/LDAP integration.
        # You need to configure parameters in SssdConfig as well.
        enable_sssd = True
    # Configuration parameters for ActiveDirectory/LDAP/SSSD
    class SssdConfig:
    
        # Name of domain. Can be default if you are not sure.
        domain = "default"
    
        # Comma separated list of LDAP server URIs
        ldap_uri = "ldaps://nlb-ds-xyzxyz.elb.us-west-2.amazonaws.com"
    
        # The default base DN to use for performing LDAP user operations
        ldap_search_base = "dc=hyperpod,dc=abc123,dc=com"
    
        # The default bind DN to use for performing LDAP operations
        ldap_default_bind_dn = "CN=ReadOnly,OU=Users,OU=hyperpod,DC=hyperpod,DC=abc123,DC=com"
    
        # "password" or "obfuscated_password". Obfuscated password is recommended.
        ldap_default_authtok_type = "obfuscated_password"
    
        # You need to modify this parameter with the obfuscated password, not plain text password
        ldap_default_authtok = "placeholder"
    
        # SSH authentication method - "password" or "publickey"
        ssh_auth_method = "publickey"
    
        # Home directory. You can change it to "/home/%u" if your cluster doesn't use FSx volume.
        override_homedir = "/fsx/%u"
    
        # Group names to accept SSH login
        ssh_allow_groups = {
            "controller" : ["ClusterAdmin", "ubuntu"],
            "compute" : ["ClusterAdmin", "ClusterDev", "ubuntu"],
            "login" : ["ClusterAdmin", "ClusterDev", "ubuntu"],
        }
    
        # Group names for sudoers
        sudoers_groups = {
            "controller" : ["ClusterAdmin", "ClusterDev"],
            "compute" : ["ClusterAdmin", "ClusterDev"],
            "login" : ["ClusterAdmin", "ClusterDev"],
        }
    

  2. העתק את קובץ האישור ldaps.crt לאותה ספרייה (היכן config.py קיים).
  3. העלה את קבצי הסקריפט של מחזור החיים שהשתנו אל שלך שירות אחסון פשוט של אמזון (Amazon S3) דלי, וליצור איתו אשכול HyperPod.
  4. המתן עד שהסטטוס ישתנה ל בשירות.

אימות

בואו לאמת את הפתרון על ידי כניסה לאשכול עם SSH. מכיוון שהאשכול נוצר ברשת משנה פרטית, אינך יכול ישירות SSH לתוך האשכול מהסביבה המקומית שלך. אתה יכול לבחור משתי אפשרויות להתחבר לאשכול.

אפשרות 1: כניסה ל-SSH דרך AWS Systems Manager

אתה יכול להשתמש מנהל מערכות AWS כפרוקסי לחיבור SSH. הוסף ערך מארח לקובץ התצורה של SSH ~/.ssh/config באמצעות הדוגמה הבאה. בשביל ה HostName בשדה, ציין את שם היעד של מנהל המערכות בפורמט של sagemaker-cluster:[cluster-id]_[instance-group-name]-[instance-id]. בשביל ה IdentityFile בשדה, ציין את נתיב הקובץ למפתח ה-SSH הפרטי של המשתמש. שדה זה אינו נדרש אם בחרת באימות סיסמה.

Host MyCluster-LoginNode
    HostName sagemaker-cluster:abcd1234_LoginGroup-i-01234567890abcdef
    User user1
    IdentityFile ~/keys/my-cluster-ssh-key.pem
    ProxyCommand aws --profile default --region us-west-2 ssm start-session --target %h --document-name AWS-StartSSHSession --parameters portNumber=%p

הפעל את ssh פקודה באמצעות שם המארח שציינת. אשר שאתה יכול להיכנס למופע עם המשתמש שצוין.

$ ssh MyCluster-LoginNode
   :
   :
   ____              __  ___     __             __ __                  ___          __
  / __/__ ____ ____ /  |/  /__ _/ /_____ ____  / // /_ _____  ___ ____/ _ ___  ___/ /
 _ / _ `/ _ `/ -_) /|_/ / _ `/  '_/ -_) __/ / _  / // / _ / -_) __/ ___/ _ / _  /
/___/_,_/_, /__/_/  /_/_,_/_/___/_/   /_//_/_, / .__/__/_/ /_/   ___/_,_/
         /___/                                    /___/_/
You're on the controller
Instance Type: ml.m5.xlarge
user1@ip-10-1-111-222:~$

בשלב זה, משתמשים עדיין יכולים להשתמש בהפעלת מעטפת ברירת המחדל של מנהל המערכות כדי להיכנס לאשכול כ ssm-user עם הרשאות ניהול. כדי לחסום את ברירת המחדל של גישת מעטפת מנהל המערכות ולאכוף גישת SSH, תוכל להגדיר את מדיניות IAM שלך על ידי התייחסות לדוגמא הבאה:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:TerminateSession"
            ],
            "Resource": [
                "arn:aws:sagemaker:us-west-2:123456789012:cluster/abcd1234efgh",
                "arn:aws:ssm:us-west-2:123456789012:document/AWS-StartSSHSession"
            ],
            "Condition": {
                "BoolIfExists": {
                    "ssm:SessionDocumentAccessCheck": "true"
                }
            }
        }
    ]
}

לפרטים נוספים כיצד לאכוף גישת SSH, עיין ב התחל הפעלה עם מסמך על ידי ציון מסמכי ההפעלה במדיניות IAM.

אפשרות 2: כניסה ל-SSH דרך מארח bastion

אפשרות נוספת לגשת לאשכול היא להשתמש ב-a מארח מעוז בתור פרוקסי. אתה יכול להשתמש באפשרות זו כאשר למשתמש אין הרשאה להשתמש בהפעלות של מנהל מערכות, או כדי לפתור בעיות כאשר מנהל המערכות אינו פועל.

  1. צור קבוצת אבטחה בסטיונית המאפשרת גישת SSH נכנסת (יציאת TCP 22) מהסביבה המקומית שלך.
  2. עדכן את קבוצת האבטחה עבור האשכול כדי לאפשר גישת SSH נכנסת מקבוצת האבטחה של bastion.
  3. צור מופע EC2 Linux.
  4. בעד תמונת מכונת אמזון, בחר שרת אובונטו 20.04 LTS.
  5. בעד סוג מופע, בחר t3. קטן.
  6. ב הגדרות רשת סעיף, ספק את הפרמטרים הבאים:
    1. בעד VPC, בחר SageMaker HyperPod VPC (שיצרת עם תבנית CloudFormation).
    2. בעד תת רשת, בחר את רשת המשנה הציבורית שיצרת עם תבנית CloudFormation.
    3. בעד קבוצות אבטחה נפוצות, בחר את קבוצת האבטחה של הבסטיון שיצרת.
  7. בעד הגדר אחסון, הגדר אחסון ל-8 GB.
  8. זהה את כתובת ה-IP הציבורית של מארח הבסיס ואת כתובת ה-IP הפרטית של מופע היעד (לדוגמה, צומת הכניסה של האשכול), והוסף שני ערכי מארח בתצורת SSH, על ידי התייחסות לדוגמא הבאה:
    Host Bastion
        HostName 11.22.33.44
        User ubuntu
        IdentityFile ~/keys/my-bastion-ssh-key.pem
    
    Host MyCluster-LoginNode-with-Proxy
        HostName 10.1.111.222
        User user1
        IdentityFile ~/keys/my-cluster-ssh-key.pem
        ProxyCommand ssh -q -W %h:%p Bastion

  9. הפעל את ssh הפקודה באמצעות שם המארח היעד שציינת קודם לכן, ואשר שאתה יכול להיכנס למופע עם המשתמש שצוין:
    $ ssh MyCluster-LoginNode-with-Proxy
       :
       :
       ____              __  ___     __             __ __                  ___          __
      / __/__ ____ ____ /  |/  /__ _/ /_____ ____  / // /_ _____  ___ ____/ _ ___  ___/ /
     _ / _ `/ _ `/ -_) /|_/ / _ `/  '_/ -_) __/ / _  / // / _ / -_) __/ ___/ _ / _  /
    /___/_,_/_, /__/_/  /_/_,_/_/___/_/   /_//_/_, / .__/__/_/ /_/   ___/_,_/
             /___/                                    /___/_/
    You're on the controller
    Instance Type: ml.m5.xlarge
    user1@ip-10-1-111-222:~$

לנקות את

נקה את המשאבים בסדר הבא:

  1. מחק את אשכול HyperPod.
  2. מחק את מאזן העומס ברשת.
  3. מחק את קבוצת היעד לאיזון עומסים.
  4. מחק את האישור שיובא למנהל האישורים.
  5. מחק את מופע EC2 Windows.
  6. מחק את מופע EC2 Linux עבור מארח ה-bastion.
  7. מחק את AWS Managed Microsoft AD.
  8. מחק את מחסנית CloudFormation עבור ה-VPC, רשתות המשנה, קבוצת האבטחה ו-FSx for Luster.

סיכום

פוסט זה סיפק שלבים ליצירת אשכול HyperPod המשולב עם Active Directory. פתרון זה מסיר את הטרחה של תחזוקת משתמשים באשכולות בקנה מידה גדול ומאפשר לך לנהל משתמשים וקבוצות באופן מרכזי במקום אחד.

למידע נוסף על HyperPod, עיין ב- סדנת HyperPod ו מדריך למפתחים של SageMaker HyperPod. השאר את המשוב שלך על פתרון זה בקטע ההערות.


על הכותבים

טומונורי שימומורה הוא אדריכל פתרונות בכיר בצוות אמזון SageMaker, שם הוא מספק ייעוץ טכני מעמיק ללקוחות SageMaker ומציע שיפורים במוצר לצוות המוצר. לפני שהצטרף לאמזון, הוא עבד על עיצוב ופיתוח תוכנות משובצות לקונסולות משחקי וידאו, וכעת הוא ממנף את כישוריו המעמיקים בטכנולוגיית Cloud side. בזמנו הפנוי הוא נהנה לשחק במשחקי וידאו, לקרוא ספרים ולכתוב תוכנות.

ג'וזפה אנג'לו פורצ'לי הוא ארכיטקט פתרונות מומחה ללימוד מכונה ראשי עבור שירותי האינטרנט של אמזון. עם מספר שנים של הנדסת תוכנה ורקע ML, הוא עובד עם לקוחות בכל סדר גודל כדי להבין את הצרכים העסקיים והטכניים שלהם ולתכנן פתרונות AI ו-ML שעושים את השימוש הטוב ביותר ב-AWS Cloud וב-Amazon Machine Learning. הוא עבד על פרויקטים בתחומים שונים, כולל MLOps, ראייה ממוחשבת ו-NLP, הכוללים מערך רחב של שירותי AWS. בזמנו הפנוי, ג'וזפה נהנה לשחק כדורגל.

Monidipa Chakraborty משמש כיום כמהנדס פיתוח תוכנה בכיר בחברת Amazon Web Services (AWS), במיוחד בתוך צוות SageMaker HyperPod. היא מחויבת לסייע ללקוחות על ידי תכנון ויישום מערכות חזקות וניתנות להרחבה המדגימות מצוינות תפעולית. עם ניסיון של כמעט עשור בפיתוח תוכנה, Monidipa תרמה למגזרים שונים באמזון, כולל וידאו, קמעונאות, Amazon Go ו-AWS SageMaker.

סאטיש פסומארתי הוא מפתח תוכנה ב- Amazon Web Services. עם מספר שנים של הנדסת תוכנה ורקע ML, הוא אוהב לגשר על הפער בין ה-ML למערכות ונלהב לבנות מערכות שמאפשרות הכשרת מודלים בקנה מידה גדול. הוא עבד על פרויקטים במגוון תחומים, כולל מסגרות למידת מכונה, מידוד מודלים, בניית Hyperpod Beta הכוללת מערך רחב של שירותי AWS. בזמנו הפנוי, סאטיש נהנה לשחק בדמינטון.

ספוט_ימג

המודיעין האחרון

ספוט_ימג

דבר איתנו

שלום שם! איך אני יכול לעזור לך?