Generatív adatintelligencia

Integrálja a HyperPod-fürtöket az Active Directoryval a zökkenőmentes többfelhasználós bejelentkezés érdekében | Amazon webszolgáltatások

Találka:

Amazon SageMaker HyperPod Az alapmodell (FM) képzésének felgyorsítására készült, eltávolítva a differenciálatlan nehézemelést, amely egy nagy képzési számítási klaszter kezeléséhez és optimalizálásához jár. A SageMaker HyperPod segítségével hetekig és hónapokig oktathatja az FM-eket megszakítás nélkül.

A HyperPod-fürtöket általában több felhasználó használja: gépi tanulással (ML) foglalkozó kutatók, szoftvermérnökök, adattudósok és fürtrendszergazdák. Szerkesztik saját fájljaikat, saját munkáikat végzik, és el akarják kerülni, hogy egymás munkáját befolyásolják. Ennek a többfelhasználós környezetnek a megvalósításához kihasználhatja a Linux felhasználói és csoportos mechanizmusait, és statikusan több felhasználót hozhat létre minden példányon életciklus-szkriptek segítségével. Ennek a megközelítésnek azonban az a hátránya, hogy a felhasználói és csoportbeállítások a fürt több példányában megkettőződnek, ami megnehezíti azok konzisztens konfigurálását az összes példányon, például amikor új csapattag csatlakozik.

Ennek a fájdalompontnak a megoldására használhatjuk Lightweight Directory Access Protocol (LDAP) és a LDAP TLS/SSL-n keresztül (LDAPS) integrálni egy címtárszolgáltatással, mint pl AWS címtárszolgáltatás a Microsoft Active Directoryhoz. A címtárszolgáltatással központilag karbantarthatja a felhasználókat és csoportokat, valamint jogosultságaikat.

Ebben a bejegyzésben bemutatunk egy megoldást a HyperPod-fürtök integrálására az AWS által felügyelt Microsoft AD-vel, és elmagyarázzuk, hogyan lehet zökkenőmentesen többfelhasználós bejelentkezési környezetet elérni központilag karbantartott címtárral.

Megoldás áttekintése

A megoldás a következő AWS-szolgáltatásokat és erőforrásokat használja:

Azt is használjuk AWS felhőképződés egy verem telepítése a HyperPod-fürt előfeltételeinek létrehozásához: VPC, alhálózatok, biztonsági csoport és Amazon FSx Lusterhez hangerő.

A következő diagram a magas szintű megoldás architektúráját mutatja be.

Architektúra diagram a HyperPod és az Active Directory integrációjához

Ebben a megoldásban a HyperPod-fürtpéldányok az LDAPS protokollt használják az AWS által felügyelt Microsoft AD-hez való csatlakozáshoz egy NLB-n keresztül. Használjuk TLS leállás tanúsítvány telepítésével az NLB-hez. Az LDAPS konfigurálásához a HyperPod-fürtpéldányokban az életciklus-szkript telepíti és konfigurálja System Security Services Daemon (SSSD)– nyílt forráskódú kliensszoftver LDAP/LDAPS számára.

Előfeltételek

Ez a bejegyzés feltételezi, hogy már tudja, hogyan hozhat létre alapvető HyperPod-fürtöt SSSD nélkül. A HyperPod-fürtök létrehozásával kapcsolatos további részletekért lásd: A SageMaker HyperPod használatának első lépései és a HyperPod workshop.

Ezenkívül a beállítási lépésekben Linux-gépet kell használnia egy önaláírt tanúsítvány létrehozására, és egy obfuszkált jelszó beszerzésére az AD-olvasó felhasználója számára. Ha nem rendelkezik Linux-géppel, létrehozhat egy EC2 Linux-példányt vagy -használatot AWS CloudShell.

Hozzon létre egy VPC-t, alhálózatokat és biztonsági csoportot

Kövesse a Saját fiók szakasza a HyperPod műhelyben. Telepíteni fog egy CloudFormation veremet, és előfeltétel erőforrásokat hoz létre, például VPC-t, alhálózatokat, biztonsági csoportot és FSx for Luster kötetet. A CloudFormation verem telepítésekor létre kell hoznia egy elsődleges alhálózatot és egy tartalék alhálózatot is, mert Az AWS által felügyelt Microsoft AD legalább két alhálózatot igényel különböző elérhetőségi zónákkal.

Ebben a bejegyzésben az egyszerűség kedvéért ugyanazt a VPC-t, alhálózatokat és biztonsági csoportot használjuk mind a HyperPod-fürthöz, mind a címtárszolgáltatáshoz. Ha különböző hálózatokat kell használnia a fürt és a címtárszolgáltatás között, győződjön meg arról, hogy a biztonsági csoportok és az útvonaltáblázatok úgy vannak beállítva, hogy kommunikálni tudjanak egymással.

Hozzon létre AWS által felügyelt Microsoft AD-t a Directory Service szolgáltatásban

A címtár beállításához hajtsa végre a következő lépéseket:

  1. A Címtárszolgáltatás konzol, választ Könyvtárak a navigációs ablaktáblában.
  2. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Állítsa be a könyvtárat.
  3. A Könyvtár típusaválassza AWS által felügyelt Microsoft AD.
  4. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Következő.
    Könyvtártípus-választó képernyő
  5. A Kiadásválassza Standard Edition.
  6. A Könyvtár DNS-név, írja be az előnyben részesített könyvtár DNS-nevét (például hyperpod.abc123.com).
  7. A Rendszergazda jelszó¸ állítson be egy jelszót, és mentse el későbbi használatra.
  8. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Következő.
    Címtár létrehozási konfigurációs képernyő
  9. A hálózatépítés szakaszban adja meg a létrehozott VPC-t és két privát alhálózatot.
  10. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Következő.
    Címtár hálózati konfigurációs képernyő
  11. Tekintse át a konfigurációt és az árakat, majd válasszon Könyvtár létrehozása.
    A címtár létrehozását megerősítő képernyő
    Megkezdődik a könyvtár létrehozása. Várja meg, amíg az állapot megváltozik létrehozása nak nek Aktív, ami 20-30 percig is eltarthat.
  12. Amikor az állapot a következőre változik Aktív, nyissa meg a címtár részletes oldalát, és jegyezze fel a DNS-címeket későbbi használatra.Címtár részletei képernyő

Hozzon létre egy NLB-t a Címtárszolgáltatás előtt

Az NLB létrehozásához hajtsa végre a következő lépéseket:

  1. A Amazon EC2 konzol, választ Célcsoportok a navigációs ablaktáblában.
  2. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Hozzon létre célcsoportokat.
  3. Hozzon létre egy célcsoportot a következő paraméterekkel:
    1. A Válasszon céltípustválassza IP-címeket.
    2. A Célcsoport neve, belép LDAP.
    3. A Protokoll: Port, választ TCP és írja be 389.
    4. A IP-cím típusaválassza IPv4.
    5. A VPC, választ SageMaker HyperPod VPC (amelyet a CloudFormation sablonnal hozott létre).
    6. A Egészségügyi ellenőrzési protokoll, választ TCP.
  4. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Következő.
    Terheléselosztási cél létrehozási konfigurációs képernyő
  5. A Célok regisztrálása szakaszban regisztrálja a címtárszolgáltatás DNS-címeit célként.
  6. A Portok, választ Belefoglalás alább függőben.Terheléselosztási cél regisztrációs képernyőA címek a Tekintse át a célokat szekcióval Függőben levő állapotát.
  7. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Célcsoport létrehozása.Terheléselosztási cél felülvizsgálati képernyő
  8. A Load Balancers konzol, választ Hozzon létre terheléselosztót.
  9. Alatt Hálózati terheléselosztó, választ Teremt.A terheléselosztó típusának kiválasztása képernyő
  10. Konfiguráljon egy NLB-t a következő paraméterekkel:
    1. A A terheléselosztó neve, írjon be egy nevet (például nlb-ds).
    2. A Rendszerválassza belső.
    3. A IP-cím típusaválassza IPv4.Az NLB létrehozásának alapkonfigurációs szakasza
    4. A VPC, választ SageMaker HyperPod VPC (amelyet a CloudFormation sablonnal hozott létre).
    5. Alatt Leképezések, válassza ki a két privát alhálózatot és azok CIDR-tartományait (amelyeket a CloudFormation sablonnal hozott létre).
    6. A Biztonsági csoportok, választ CfStackName-SecurityGroup-XYZXYZ (amelyet a CloudFormation sablonnal hozott létre).NLB létrehozása hálózati leképezés és biztonsági csoportok konfigurációi
  11. A Figyelők és útválasztás szakaszban adja meg a következő paramétereket:
    1. A Protokoll, választ TCP.
    2. A Kikötő, belép 389.
    3. A Alapértelmezett művelet, válassza ki a megnevezett célcsoportot LDAP.

    Itt hozzáadunk egy figyelőt az LDAP számára. Később hozzáadjuk az LDAPS-t.

  12. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Hozzon létre terheléselosztót.Az NLB figyelők útválasztási konfigurációs képernyőjeVárja meg, amíg az állapot megváltozik Provisioning az Aktívra, ami 3–5 percig is eltarthat.
  13. Amikor az állapot a következőre változik Aktív, nyissa meg a kiépített NLB részletes oldalát, és jegyezze fel a DNS-nevet (xyzxyz.elb.region-name.amazonaws.com) későbbi használatra.NLB részletek képernyő

Hozzon létre egy önaláírt tanúsítványt, és importálja a Tanúsítványkezelőbe

Önaláírt tanúsítvány létrehozásához hajtsa végre a következő lépéseket:

  1. Linux-alapú környezetben (helyi laptop, EC2 Linux-példány vagy CloudShell) futtassa a következőt OpenSSL parancsok önaláírt tanúsítvány és privát kulcs létrehozásához:
    $ 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. A Tanúsítványkezelő konzol, választ import.
  3. Adja meg a tanúsítvány törzsét és a privát kulcsot a tartalmából ldaps.crt és a ldaps.key illetőleg.
  4. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Következő.Tanúsítvány importáló képernyő
  5. Adjon hozzá bármilyen opcionális címkét, majd válassza ki Következő.Tanúsítványcímke szerkesztő képernyő
  6. Tekintse át a konfigurációt, és válassza ki import.Tanúsítványimportálási ellenőrzési képernyő

Adjon hozzá egy LDAPS-figyelőt

Már az NLB-ben hozzáadtunk egy figyelőt az LDAP számára. Most hozzáadunk egy figyelőt az LDAPS-hez az importált tanúsítvánnyal. Hajtsa végre a következő lépéseket:

  1. A Load Balancers konzol, lépjen az NLB részletes oldalára.
  2. A hallgatók lapot választani Hallgató hozzáadása.Az NLB listák képernyője figyelő hozzáadása gombbal
  3. Állítsa be a figyelőt a következő paraméterekkel:
    1. A Protokoll, választ TLS.
    2. A Kikötő, belép 636.
    3. A Alapértelmezett művelet, választ LDAP.
    4. A Tanúsítvány forrásaválassza Az ACM-től.
    5. A Bizonyítvány, írja be, hogy mit importált az ACM-ben.
  4. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a hozzáad.NLB figyelő konfigurációs képernyőAz NLB most az LDAP-t és az LDAPS-t is figyeli. Javasoljuk, hogy törölje az LDAP figyelőt, mert az LDAPS-sel ellentétben titkosítás nélkül továbbítja az adatokat.Az NLB listázók listája LDAP és LDAPS segítségével

Hozzon létre egy EC2 Windows-példányt a felhasználók és csoportok adminisztrálásához az AD-ben

Felhasználók és csoportok létrehozásához és karbantartásához az AD-ben hajtsa végre a következő lépéseket:

  1. Az Amazon EC2 konzolon válassza a lehetőséget Példányok a navigációs ablaktáblában.
  2. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Példányok indítása.
  3. A Név, adja meg a példány nevét.
  4. A Amazon gép képe, választ Microsoft Windows Server 2022 Base.
  5. A Példánytípus, választ t2.mikro.
  6. A hálózati beállítások szakaszban adja meg a következő paramétereket:
    1. A VPC, választ SageMaker HyperPod VPC (amelyet a CloudFormation sablonnal hozott létre).
    2. A alhálózati, válassza ki a CloudFormation sablonnal létrehozott két alhálózat egyikét.
    3. A Gyakori biztonsági csoportok, választ CfStackName-SecurityGroup-XYZXYZ (amelyet a CloudFormation sablonnal hozott létre).
  7. A Tárhely konfigurálása, állítsa be a tárhelyet 30 GB gp2-re.
  8. A Speciális részletek szakasz, for Domain csatlakozási könyvtár¸ válassza ki a létrehozott hirdetést.
  9. A IAM példányprofil, válasszon egy lehetőséget AWS Identity and Access Management (IAM) szerepköre legalább a AmazonSSMManagedEC2InstanceDefaultPolicy irányelv.
  10. Tekintse át az összefoglalót, és válasszon Indítsa el a példányt.

Hozzon létre felhasználókat és csoportokat az AD-ben az EC2 Windows-példány használatával

A távoli asztal, csatlakozzon az előző lépésben létrehozott EC2 Windows-példányhoz. Az RDP kliens használata javasolt a böngésző alapú Remote Desktop használata helyett, hogy a vágólap tartalmát másolás-beillesztés műveletekkel kicserélhesse a helyi gépre. Az EC2 Windows-példányokhoz való csatlakozással kapcsolatos további részletekért lásd: Csatlakozzon a Windows-példányhoz.

Ha a rendszer kéri a bejelentkezési hitelesítő adatokat, használja hyperpodAdmin (hol hyperpod a címtár DNS-nevének első része) felhasználónévként, és használja a címtárszolgáltatáshoz beállított rendszergazdai jelszót.

  1. Amikor megnyílik a Windows asztali képernyője, válassza a lehetőséget Server Manager tól Rajt menüben.Irányítópult képernyő a Kiszolgálókezelőben
  2. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Helyi szerver a navigációs ablakban, és győződjön meg arról, hogy a tartomány megegyezik a címtárszolgáltatásban megadottakkal.Helyi szerver képernyő a Kiszolgálókezelőben
  3. A kezel menüben válasszon Szerepek és szolgáltatások hozzáadása.A Kezelés gombról megnyitott legördülő menü
  4. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Következő amíg nem vagy a Jellemzők cimre.Szerepkörök és szolgáltatások hozzáadása varázsló
  5. Bővítse ki a funkciót Távoli kiszolgáló felügyeleti eszközök, kiterjed Szerepkör-felügyeleti eszközök, és válassza ki AD DS és AD LDS eszközök és a Active Directory jogkezelési szolgáltatás.
  6. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Következő és a felszerel.Jellemzők kiválasztása képernyőElindul a szolgáltatás telepítése.
  7. Ha a telepítés befejeződött, válassza a lehetőséget közel.A szolgáltatás telepítési folyamatának képernyője
  8. Nyisd ki Active Directory felhasználók és számítógépek tól Rajt menüben.Active Directory felhasználók és számítógépek ablak
  9. Alatt hyperpod.abc123.com, kiterjed hyperpod.
  10. Válasszon (jobb gombbal) hyperpod, választ Új, és válasszon Szervezeti egység.Megnyílt a helyi menü a szervezeti egység létrehozásához
  11. Hozzon létre egy szervezeti egységet Groups.Szervezeti egység megszüntetése párbeszédpanel
  12. Válasszon (jobb gombbal) Csoportok, választ Új, és válasszon Csoport.Helyi menü megnyitva csoportok létrehozásához
  13. Hozzon létre egy csoportot ClusterAdmin.Csoportlétrehozási párbeszédpanel a ClusterAdmin számára
  14. Hozzon létre egy második csoportot ClusterDev.Csoportlétrehozási párbeszédpanel a ClusterDev számára
  15. Válasszon (jobb gombbal) felhasználók, választ Új, és válasszon használó.
  16. Hozzon létre egy új felhasználót.Felhasználó létrehozási párbeszédpanel
  17. Válassza ki (jobb gombbal) a felhasználót, és válassza ki Hozzáadás egy csoporthoz.Megnyílt a helyi menü egy felhasználó csoporthoz való hozzáadásához
  18. Adja hozzá felhasználóit a csoportokhoz ClusterAdmin or ClusterDev.Csoportválasztó képernyő felhasználó hozzáadásához a csoporthozFelhasználók hozzáadva a ClusterAdmin csoportnak lesz sudo privilégium a klaszteren.

Hozzon létre egy csak olvasható felhasználót az AD-ben

Hozzon létre egy felhasználót ReadOnly alatt Users Az ReadOnly felhasználót használja a fürt a felhasználók és csoportok programozott eléréséhez az AD-ben.

Felhasználó létrehozási párbeszédpanel a Csak olvasható felhasználó létrehozásához

Jegyezze fel a jelszót későbbi használatra.

Jelszó beviteli képernyő csak olvasható felhasználó számára

(Nyilvános SSH-kulcsos hitelesítéshez) Adjon hozzá nyilvános SSH-kulcsokat a felhasználókhoz

Ha egy nyilvános SSH-kulcsot tárol egy felhasználó számára az AD-ben, akkor jelszó megadása nélkül jelentkezhet be. Használhat egy meglévő kulcspárt, vagy hozhat létre új kulcspárt az OpenSSH segítségével ssh-keygen parancs. A kulcspár létrehozásával kapcsolatos további információkért lásd: Hozzon létre egy kulcspárt az Amazon EC2 példányához.

  1. In Active Directory felhasználók és számítógépek, Be a Megnézem menü, engedélyezze Speciális funkciók.Megnyílik a Nézet menü a Speciális funkciók engedélyezéséhez
  2. Nyissa meg a Ingatlanok a felhasználó párbeszédablakát.
  3. A Attribútumszerkesztő lapot választani altSecurityIdentities választani szerkesztése.Attribútumszerkesztő lapon a Felhasználói tulajdonságok párbeszédpanelen
  4. A Hozzáadandó érték, választ hozzáad.
  5. A Értékek, adjon hozzá egy nyilvános SSH-kulcsot.
  6. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a OK.Attribútumszerkesztő párbeszédpanel az altSecurityIdentities számáraGyőződjön meg arról, hogy a nyilvános SSH kulcs attribútumként jelenik meg.Attribútumszerkesztő lap az altSecurityIdentities konfigurálásával

Szerezzen be egy homályos jelszót a csak olvasható felhasználó számára

Annak elkerülése érdekében, hogy az SSSD konfigurációs fájlban egyszerű szöveges jelszó szerepeljen, homályosítsa a jelszót. Ehhez a lépéshez Linux-környezetre (helyi laptopra, EC2 Linux-példányra vagy CloudShellre) van szüksége.

Telepítse a sssd-tools csomagot a Linux gépen a Python modul telepítéséhez pysss az elhomályosításhoz:

# Ubuntu
$ sudo apt install sssd-tools

# Amazon Linux
$ sudo yum install sssd-tools

Futtassa a következő egysoros Python-szkriptet. Adja meg a jelszavát ReadOnly felhasználó. Meg fogja kapni a homályos jelszót.

$ 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....

Hozzon létre egy HyperPod-fürtöt SSSD-kompatibilis életciklus-szkripttel

Ezután hozzon létre egy HyperPod-fürtöt LDAPS/Active Directory integrációval.

  1. Keresse meg a konfigurációs fájlt config.py életciklus-szkriptkönyvtárában nyissa meg a szövegszerkesztővel, és szerkessze a tulajdonságokat a Config osztály és SssdConfig osztály:
    1. Készlet True mert enable_sssd az SSSD beállításának engedélyezéséhez.
    2. A SssdConfig osztály tartalmazza az SSSD konfigurációs paramétereit.
    3. Győződjön meg arról, hogy a homályos jelszót használja a ldap_default_authtok tulajdonság, nem egyszerű szöveges jelszó.
    # 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. Másolja a tanúsítványfájlt ldaps.crt ugyanabba a könyvtárba (ahol config.py létezik).
  3. Töltse fel a módosított életciklus-szkript fájlokat a saját Amazon egyszerű tárolási szolgáltatás (Amazon S3) vödröt, és hozzon létre vele egy HyperPod-fürtöt.
  4. Várja meg, amíg az állapot a következőre változik Szolgálatban.

Igazolás

Ellenőrizzük a megoldást úgy, hogy SSH-val bejelentkezünk a fürtbe. Mivel a fürt privát alhálózatban jött létre, az SSH-t nem lehet közvetlenül a fürtbe belépni a helyi környezetből. Két lehetőség közül választhat a fürthöz való csatlakozáshoz.

1. lehetőség: SSH bejelentkezés az AWS Systems Manageren keresztül

Használhatja AWS rendszermenedzser az SSH kapcsolat proxyjaként. Adjon hozzá egy gazdagép bejegyzést az SSH konfigurációs fájlhoz ~/.ssh/config a következő példa segítségével. A HostName mezőben adja meg a Systems Manger cél nevét a következő formátumban sagemaker-cluster:[cluster-id]_[instance-group-name]-[instance-id]. A IdentityFile mezőben adja meg a felhasználó SSH privát kulcsának elérési útját. Ez a mező nem kötelező, ha a jelszavas hitelesítést választotta.

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

Futtassa a ssh parancsot a megadott gazdagépnév használatával. Erősítse meg, hogy a megadott felhasználóval be tud jelentkezni a példányba.

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

Ezen a ponton a felhasználók továbbra is használhatják a Systems Manager alapértelmezett shell-munkamenetét a fürtbe való bejelentkezéshez ssm-user rendszergazdai jogosultságokkal. Az alapértelmezett Systems Manager shell-hozzáférés blokkolásához és az SSH-hozzáférés kényszerítéséhez konfigurálhatja az IAM-házirendet a következő példa alapján:

{
    "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"
                }
            }
        }
    ]
}

Az SSH-hozzáférés kényszerítésével kapcsolatos további részletekért lásd: Indítson el egy munkamenetet egy dokumentummal úgy, hogy megadja a munkamenet-dokumentumokat az IAM-házirendekben.

2. lehetőség: SSH bejelentkezés a bastion hoston keresztül

Egy másik lehetőség a fürt elérésére az a bástya gazdája meghatalmazottként. Ezt a beállítást akkor használhatja, ha a felhasználónak nincs engedélye a Systems Manager munkamenetek használatára, vagy ha a Systems Manager nem működik hibaelhárításra.

  1. Hozzon létre egy bástyás biztonsági csoportot, amely lehetővé teszi a bejövő SSH-hozzáférést (22-es TCP-port) a helyi környezetből.
  2. Frissítse a fürt biztonsági csoportját, hogy engedélyezze a bejövő SSH-hozzáférést a bástyás biztonsági csoportból.
  3. Hozzon létre egy EC2 Linux-példányt.
  4. A Amazon gép képe, választ Ubuntu Server 20.04LTS.
  5. A Példánytípus, választ t3.kicsi.
  6. A hálózati beállítások szakaszban adja meg a következő paramétereket:
    1. A VPC, választ SageMaker HyperPod VPC (amelyet a CloudFormation sablonnal hozott létre).
    2. A alhálózati, válassza ki a CloudFormation sablonnal létrehozott nyilvános alhálózatot.
    3. A Gyakori biztonsági csoportok, válassza ki a létrehozott bástya biztonsági csoportot.
  7. A Tárhely konfigurálása, állítsa be a tárhelyet 8 GB-ra.
  8. Határozza meg a bástya gazdagép nyilvános IP-címét és a célpéldány privát IP-címét (például a fürt bejelentkezési csomópontja), és adjon hozzá két gazdagép-bejegyzést az SSH-konfigurációhoz a következő példa alapján:
    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. Futtassa a ssh parancsot a korábban megadott célállomásnév használatával, és erősítse meg, hogy a megadott felhasználóval be tud jelentkezni a példányba:
    $ ssh MyCluster-LoginNode-with-Proxy
       :
       :
       ____              __  ___     __             __ __                  ___          __
      / __/__ ____ ____ /  |/  /__ _/ /_____ ____  / // /_ _____  ___ ____/ _ ___  ___/ /
     _ / _ `/ _ `/ -_) /|_/ / _ `/  '_/ -_) __/ / _  / // / _ / -_) __/ ___/ _ / _  /
    /___/_,_/_, /__/_/  /_/_,_/_/___/_/   /_//_/_, / .__/__/_/ /_/   ___/_,_/
             /___/                                    /___/_/
    You're on the controller
    Instance Type: ml.m5.xlarge
    user1@ip-10-1-111-222:~$

Tisztítsuk meg

Tisztítsa meg az erőforrásokat a következő sorrendben:

  1. Törölje a HyperPod-fürtöt.
  2. Törölje a Hálózati terheléselosztót.
  3. Törölje a terheléselosztás célcsoportját.
  4. Törölje a Tanúsítványkezelőbe importált tanúsítványt.
  5. Törölje az EC2 Windows-példányt.
  6. Törölje a bastion gazdagép EC2 Linux példányát.
  7. Törölje az AWS által felügyelt Microsoft AD-t.
  8. Törölje a VPC, az alhálózatok, a biztonsági csoport és az FSx for Luster kötet CloudFormation veremét.

Következtetés

Ez a bejegyzés lépéseket tartalmaz az Active Directoryval integrált HyperPod-fürt létrehozásához. Ez a megoldás megszünteti a felhasználói karbantartással járó gondokat a nagyméretű fürtökön, és lehetővé teszi a felhasználók és csoportok központi kezelését egy helyen.

A HyperPoddal kapcsolatos további információkért tekintse meg a HyperPod workshop és a SageMaker HyperPod fejlesztői útmutató. Hagyja meg véleményét erről a megoldásról a megjegyzések részben.


A szerzőkről

Tomonori Shimomura Senior Solutions Architect az Amazon SageMaker csapatánál, ahol mélyreható műszaki tanácsadást nyújt a SageMaker ügyfeleinek, és termékfejlesztéseket javasol a termékcsapatnak. Mielőtt csatlakozott volna az Amazonhoz, a videojáték-konzolok beágyazott szoftvereinek tervezésén és fejlesztésén dolgozott, most pedig a felhőalapú technológia terén kamatoztatja mélyreható készségeit. Szabadidejében szeret videojátékokkal játszani, könyveket olvasni és szoftvereket írni.

Giuseppe Angelo Porcelli az Amazon Web Services vezető gépi tanulási specialistája. Több éves szoftverfejlesztéssel és ML háttérrel dolgozik bármilyen méretű ügyféllel, hogy megértse üzleti és műszaki igényeiket, és olyan AI és ML megoldásokat tervezzen, amelyek a lehető legjobban használják ki az AWS Cloud és az Amazon Machine Learning veremét. Különböző területeken dolgozott projekteken, beleértve az MLOps-t, a számítógépes látást és az NLP-t, amelyek az AWS-szolgáltatások széles körét foglalják magukban. Szabadidejében Giuseppe szívesen focizik.

Monidipa Chakraborty jelenleg az Amazon Web Services (AWS) vezető szoftverfejlesztő mérnökeként szolgál, különösen a SageMaker HyperPod csapatán belül. Elkötelezte magát amellett, hogy segítse ügyfeleit robusztus és méretezhető rendszerek tervezésével és bevezetésével, amelyek a működési kiválóságot demonstrálják. A közel egy évtizedes szoftverfejlesztési tapasztalattal a Monidipa az Amazon különböző szektoraiban működött közre, köztük a Video, a Retail, az Amazon Go és az AWS SageMaker.

Satish Pasumarthi az Amazon Web Services szoftverfejlesztője. Több éves szoftvermérnöki tapasztalatával és ML háttérrel szereti áthidalni a szakadékot az ML és a rendszerek között, és szenvedélyesen épít olyan rendszereket, amelyek lehetővé teszik a nagyszabású modellképzést. Számos területen dolgozott projekteken, beleértve a gépi tanulási keretrendszereket, a modell-benchmarkingot, az AWS-szolgáltatások széles körét magában foglaló hyperpod bétaverziót. Szabadidejében Satish szívesen tollaszik.

spot_img

Legújabb intelligencia

spot_img

Beszélj velünk

Szia! Miben segíthetek?