Generatiivinen tiedustelu

Integroi HyperPod-klusterit Active Directoryn kanssa saumattoman monen käyttäjän kirjautumisen varmistamiseksi | Amazon Web Services

Treffi:

Amazon SageMaker HyperPod on suunniteltu nopeuttamaan perusmallin (FM) harjoittelua poistamalla erottumattomat raskasnostot, jotka liittyvät suuren harjoituslaskentaklusterin hallintaan ja optimointiin. SageMaker HyperPodilla voit harjoitella FM-ääniä viikkoja ja kuukausia keskeytyksettä.

Tyypillisesti HyperPod-klustereita käyttävät useat käyttäjät: koneoppimisen (ML) tutkijat, ohjelmistosuunnittelijat, datatutkijat ja klusterin ylläpitäjät. He muokkaavat omia tiedostojaan, suorittavat omia töitään ja haluavat välttää vaikuttamasta toistensa työhön. Tämän monen käyttäjän ympäristön saavuttamiseksi voit hyödyntää Linuxin käyttäjä- ja ryhmämekanismia ja luoda staattisesti useita käyttäjiä jokaiseen esiintymään elinkaarikomentosarjojen avulla. Tämän lähestymistavan haittapuolena on kuitenkin se, että käyttäjä- ja ryhmäasetukset ovat päällekkäisiä useissa klusterin esiintymissä, mikä vaikeuttaa niiden määrittämistä johdonmukaisesti kaikissa tapauksissa, esimerkiksi kun uusi tiimin jäsen liittyy.

Tämän kipupisteen ratkaisemiseksi voimme käyttää Kevyt Directory Access Protocol (LDAP) ja LDAP yli TLS/SSL (LDAPS) integroidaksesi hakemistopalveluun, kuten AWS-hakemistopalvelu Microsoft Active Directorylle. Hakemistopalvelun avulla voit ylläpitää keskitetysti käyttäjiä ja ryhmiä sekä heidän käyttöoikeuksiaan.

Tässä viestissä esittelemme ratkaisun HyperPod-klusterien integroimiseen AWS Managed Microsoft AD:n kanssa ja selitämme, kuinka luodaan saumaton usean käyttäjän kirjautumisympäristö keskitetysti ylläpidetyllä hakemistolla.

Ratkaisun yleiskatsaus

Ratkaisu käyttää seuraavia AWS-palveluita ja resursseja:

Käytämme myös AWS-pilven muodostuminen ottaa käyttöön pinon HyperPod-klusterin edellytysten luomiseksi: VPC, aliverkot, suojausryhmä ja Amazon FSx Lusterille tilavuus.

Seuraava kaavio havainnollistaa korkean tason ratkaisuarkkitehtuuria.

HyperPodin ja Active Directoryn integroinnin arkkitehtuurikaavio

Tässä ratkaisussa HyperPod-klusteriesiintymät käyttävät LDAPS-protokollaa muodostaakseen yhteyden AWS:n hallinnoimaan Microsoft AD:hen NLB:n kautta. Käytämme TLS irtisanominen asentamalla varmenteen NLB:lle. LDAPS:n määrittämiseksi HyperPod-klusteriinstanssissa elinkaarikomentosarja asentaa ja määrittää System Security Services Daemon (SSSD)—avoimen lähdekoodin asiakasohjelmisto LDAP/LDAPS:lle.

Edellytykset

Tämä viesti olettaa, että tiedät jo kuinka luoda perushyperPod-klusteri ilman SSSD:tä. Lisätietoja HyperPod-klustereiden luomisesta on kohdassa SageMaker HyperPodin käytön aloittaminen ja HyperPod työpaja.

Lisäksi käytät asennusvaiheissa Linux-konetta itseallekirjoitetun varmenteen luomiseen ja hämärän salasanan hankkimiseen AD-lukijan käyttäjälle. Jos sinulla ei ole Linux-konetta, voit luoda EC2 Linuxin esiintymän tai käytön AWS CloudShell.

Luo VPC, aliverkot ja suojausryhmä

Seuraa ohjeita Oma tili HyperPod-työpajan osa. Otat käyttöön CloudFormation-pinon ja luot tarvittavat resurssit, kuten VPC, aliverkot, suojausryhmän ja FSx for Luster-volyymin. Sinun on luotava sekä ensisijainen aliverkko että varaaliverkko, kun otat CloudFormation-pinon käyttöön, koska AWS Managed Microsoft AD vaatii vähintään kaksi aliverkkoa eri saatavuusvyöhykkeillä.

Tässä viestissä käytämme yksinkertaisuuden vuoksi samaa VPC:tä, aliverkkoja ja suojausryhmää sekä HyperPod-klusterille että hakemistopalvelulle. Jos sinun on käytettävä eri verkkoja klusterin ja hakemistopalvelun välillä, varmista, että suojausryhmät ja reittitaulukot on määritetty niin, että ne voivat viestiä keskenään.

Luo AWS-hallittu Microsoft AD hakemistopalveluun

Suorita seuraavat vaiheet määrittääksesi hakemistosi:

  1. On Hakemistopalvelukonsoli, valitse Hakemistot navigointipaneelissa.
  2. Valita Määritä hakemisto.
  3. varten Hakemistotyyppivalitse AWS:n hallinnoima Microsoft AD.
  4. Valita seuraava.
    Hakemistotyypin valintanäyttö
  5. varten Painosvalitse Standard Edition.
  6. varten Hakemiston DNS-nimi, anna haluamasi hakemiston DNS-nimi (esim. hyperpod.abc123.com).
  7. varten Admin-salasana¸ aseta salasana ja tallenna se myöhempää käyttöä varten.
  8. Valita seuraava.
    Hakemiston luontimääritysnäyttö
  9. In Networking -osiossa määritä VPC ja kaksi luomaasi yksityistä aliverkkoa.
  10. Valita seuraava.
    Hakemiston verkkoasetusnäyttö
  11. Tarkista kokoonpano ja hinnat ja valitse sitten Luo hakemisto.
    Hakemiston luomisen vahvistusnäyttö
    Hakemiston luominen alkaa. Odota, kunnes tila muuttuu Luominen että Aktiiviset, joka voi kestää 20–30 minuuttia.
  12. Kun tila muuttuu Aktiiviset, avaa hakemiston lisätietosivu ja merkitse DNS-osoitteet muistiin myöhempää käyttöä varten.Hakemiston tiedot -näyttö

Luo NLB hakemistopalvelun eteen

Luo NLB suorittamalla seuraavat vaiheet:

  1. On Amazon EC2 konsoli, valitse Kohderyhmät navigointipaneelissa.
  2. Valita Luo kohderyhmiä.
  3. Luo kohderyhmä seuraavilla parametreilla:
    1. varten Valitse kohdetyyppivalitse IP-osoitteita.
    2. varten Kohderyhmän nimi, tulla sisään LDAP.
    3. varten Protokolla: Portti, valitse TCP ja kirjoita 389.
    4. varten IP-osoitteen tyyppivalitse IPv4.
    5. varten VPC, valitse SageMaker HyperPod VPC (jonka loit CloudFormation-mallilla).
    6. varten Terveystarkastusprotokolla, valitse TCP.
  4. Valita seuraava.
    Kuormantasauksen kohteen luontimääritysnäyttö
  5. In Rekisteröi kohteet -osiossa rekisteröi hakemistopalvelun DNS-osoitteet kohteiksi.
  6. varten Portit, valitse Sisällytä odottavana alla.Kuormantasauksen kohteen rekisteröintinäyttöOsoitteet lisätään kohtaan Tarkista tavoitteet osio kanssa Odotustilassa tila.
  7. Valita Luo kohderyhmä.Kuormituksen tasapainotustavoitteen tarkistusnäyttö
  8. On Load Balancers -konsoli, valitse Luo kuormituksen tasapainotin.
  9. Alle Network Load Balancer, valitse luoda.Kuormantasauslaitteen tyypin valintanäyttö
  10. Määritä NLB seuraavilla parametreilla:
    1. varten Kuormantasaajan nimi, kirjoita nimi (esimerkiksi nlb-ds).
    2. varten ohjelmavalitse Sisäinen.
    3. varten IP-osoitteen tyyppivalitse IPv4.NLB:n luomisen perusasetusosio
    4. varten VPC, valitse SageMaker HyperPod VPC (jonka loit CloudFormation-mallilla).
    5. Alle Kartoitukset, valitse kaksi yksityistä aliverkkoa ja niiden CIDR-alueet (jotka loit CloudFormation-mallilla).
    6. varten Suojausryhmät, valitse CfStackName-SecurityGroup-XYZXYZ (jonka loit CloudFormation-mallilla).NLB-luonnin verkkokartoitus ja suojausryhmien konfiguraatiot
  11. In Kuuntelijat ja reititys -osiossa määritä seuraavat parametrit:
    1. varten Protokolla, valitse TCP.
    2. varten portti, tulla sisään 389.
    3. varten Oletustoiminto, valitse nimetty kohderyhmä LDAP.

    Täällä lisäämme kuuntelijan LDAP:lle. Lisäämme LDAPSin myöhemmin.

  12. Valita Luo kuormituksen tasapainotin.NLB-kuuntelijoiden reitityksen määritysnäyttöOdota, kunnes tila muuttuu provisioinnin aktiiviseen, mikä voi kestää 3–5 minuuttia.
  13. Kun tila muuttuu Aktiiviset, avaa varustetun NLB:n tietosivu ja pane muistiin DNS-nimi (xyzxyz.elb.region-name.amazonaws.com) myöhempää käyttöä varten.NLB-tietonäyttö

Luo itseallekirjoitettu varmenne ja tuo se Certificate Manageriin

Voit luoda itse allekirjoitetun varmenteen suorittamalla seuraavat vaiheet:

  1. Suorita Linux-pohjaisessa ympäristössäsi (paikallinen kannettava tietokone, EC2 Linux-instanssi tai CloudShell) seuraava OpenSSL komennot itseallekirjoitetun varmenteen ja yksityisen avaimen luomiseksi:
    $ 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. On Certificate Manager -konsoli, valitse Tuo.
  3. Anna varmenteen runko ja yksityinen avain sisällöstä ldaps.crt ja ldaps.key vastaavasti.
  4. Valita seuraava.Varmenteen tuontinäyttö
  5. Lisää valinnaiset tunnisteet ja valitse sitten seuraava.Varmennetunnisteen muokkausnäyttö
  6. Tarkista kokoonpano ja valitse Tuo.Varmenteen tuonnin tarkistusnäyttö

Lisää LDAPS-kuuntelija

Lisäsimme LDAP-kuuntelijan jo NLB:ssä. Nyt lisäämme LDAPS-kuuntelijan tuodulla varmenteella. Suorita seuraavat vaiheet:

  1. On Load Balancers -konsoli, siirry NLB:n tietosivulle.
  2. On kuuntelijoita välilehti, valitse Lisää kuuntelija.NLB listers -näyttö, jossa on Lisää kuuntelija -painike
  3. Määritä kuuntelija seuraavilla parametreilla:
    1. varten Protokolla, valitse TLS.
    2. varten portti, tulla sisään 636.
    3. varten Oletustoiminto, valitse LDAP.
    4. varten Varmenteen lähdevalitse ACM:ltä.
    5. varten Todistus, kirjoita tuomasi ACM:ään.
  4. Valita Lisää.NLB-kuuntelijan asetusnäyttöNyt NLB kuuntelee sekä LDAP:ta että LDAPS:ia. On suositeltavaa poistaa LDAP-kuuntelija, koska se lähettää tietoja ilman salausta, toisin kuin LDAPS.NLB:n listaajien luettelo LDAP:lla ja LDAPS:llä

Luo EC2 Windows -esiintymä käyttäjien ja ryhmien hallintaa varten AD:ssa

Voit luoda ja ylläpitää käyttäjiä ja ryhmiä AD:ssa suorittamalla seuraavat vaiheet:

  1. Valitse Amazon EC2 -konsolissa instansseja navigointipaneelissa.
  2. Valita Käynnistä instanssit.
  3. varten Nimi, anna esiintymällesi nimi.
  4. varten Amazonin konekuva, valitse Microsoft Windows Server 2022 Base.
  5. varten Ilmentymän tyyppi, valitse t2.micro.
  6. In Verkkoasetukset osiossa, anna seuraavat parametrit:
    1. varten VPC, valitse SageMaker HyperPod VPC (jonka loit CloudFormation-mallilla).
    2. varten aliverkon, valitse jompikumpi kahdesta CloudFormation-mallilla luomastasi aliverkosta.
    3. varten Yleiset turvaryhmät, valitse CfStackName-SecurityGroup-XYZXYZ (jonka loit CloudFormation-mallilla).
  7. varten Määritä tallennustila, aseta tallennustilaksi 30 Gt gp2.
  8. In Lisätiedot osa, varten Verkkotunnuksen liittymishakemisto¸ valitse luomasi mainos.
  9. varten IAM-instanssiprofiili, valitse AWS-henkilöllisyyden ja käyttöoikeuksien hallinta (IAM) rooli vähintään AmazonSSMManagedEC2InstanceDefaultPolicy politiikkaa.
  10. Tarkista yhteenveto ja valitse Käynnistä ilmentymä.

Luo käyttäjiä ja ryhmiä AD:ssa käyttämällä EC2 Windows -esiintymää

Kanssa Remote Desktop, muodosta yhteys edellisessä vaiheessa luomaasi EC2 Windows -esiintymään. RDP-asiakkaan käyttöä suositellaan selainpohjaisen etätyöpöydän sijaan, jotta voit vaihtaa leikepöydän sisällön paikallisen koneen kanssa käyttämällä kopioi-liitä-toimintoja. Lisätietoja yhteyden muodostamisesta EC2 Windows -esiintymiin on kohdassa Yhdistä Windows-esiintymääsi.

Jos sinua pyydetään antamaan kirjautumistiedot, käytä hyperpodAdmin (missä hyperpod on hakemistosi DNS-nimen ensimmäinen osa) käyttäjänimenä ja käytä hakemistopalvelulle määrittämääsi järjestelmänvalvojan salasanaa.

  1. Kun Windowsin työpöytänäyttö avautuu, valitse Server Manager mistä Aloita valikosta.Palvelinhallinnan hallintapaneelinäyttö
  2. Valita Paikallinen palvelin siirtymisruudussa ja varmista, että toimialue on se, jonka määritit hakemistopalvelulle.Paikallinen palvelin -näyttö Palvelinhallinnassa
  3. On hoitaa valikosta, valitse Lisää rooleja ja ominaisuuksia.Pudotusvalikko avautuu Hallinta-painikkeesta
  4. Valita seuraava kunnes olet osoitteessa Ominaisuudet sivu.Lisää ohjatun roolit ja ominaisuudet
  5. Laajenna ominaisuutta Etäpalvelimen hallintatyökalut, laajenna Roolin hallintatyökalut, ja valitse AD DS ja AD LDS -työkalut ja Active Directory -oikeuksien hallintapalvelu.
  6. Valita seuraava ja install.Ominaisuuksien valintanäyttöOminaisuuden asennus alkaa.
  7. Kun asennus on valmis, valitse lähellä.Ominaisuuden asennuksen edistymisnäyttö
  8. avoin Active Directory-käyttäjät ja tietokoneet mistä Aloita valikosta.Active Directoryn käyttäjät ja tietokoneet -ikkuna
  9. Alle hyperpod.abc123.com, laajenna hyperpod.
  10. Valitse (napsauta hiiren oikeaa painiketta) hyperpod, valitse Uusi, ja valitse Organisaation yksikkö.Kontekstivalikko avattiin organisaatioyksikön luomiseksi
  11. Luo organisaatioyksikkö nimeltä Groups.Organisaatioyksikön lopettamisen valintaikkuna
  12. Valitse (napsauta hiiren oikeaa painiketta) Ryhmät, valitse Uusi, ja valitse Ryhmä.Kontekstivalikko avattiin ryhmien luomista varten
  13. Luo ryhmä nimeltä ClusterAdmin.Ryhmän luontiikkuna ClusterAdminille
  14. Luo toinen ryhmä nimeltä ClusterDev.Ryhmän luontiikkuna ClusterDeville
  15. Valitse (napsauta hiiren oikeaa painiketta) käyttäjät, valitse Uusi, ja valitse käyttäjä.
  16. Luo uusi käyttäjä.Käyttäjän luontiikkuna
  17. Valitse (klikkaa hiiren oikealla painikkeella) käyttäjä ja valitse Lisää ryhmään.Kontekstivalikko avattiin käyttäjän lisäämiseksi ryhmään
  18. Lisää käyttäjäsi ryhmiin ClusterAdmin or ClusterDev.Ryhmän valintanäyttö käyttäjän lisäämiseksi ryhmäänKäyttäjät lisätty ClusterAdmin ryhmällä tulee olemaan sudo klusterin etuoikeus.

Luo vain luku -käyttäjä AD:ssa

Luo käyttäjä nimeltä ReadOnly varten Users. ReadOnly klusteri käyttää käyttäjää päästäkseen ohjelmallisesti käyttäjiin ja ryhmiin AD:ssa.

Käyttäjän luontivalintaikkuna Vain luku -käyttäjän luomiseksi

Ota salasana muistiin myöhempää käyttöä varten.

Salasanan syöttönäyttö Vain luku -käyttäjälle

(Julkisen SSH-avaimen todennus) Lisää käyttäjille julkiset SSH-avaimet

Tallentamalla julkisen SSH-avaimen käyttäjälle AD:ssa voit kirjautua sisään ilman salasanaa. Voit käyttää olemassa olevaa avainparia tai luoda uuden avainparin OpenSSH:n avulla ssh-keygen komento. Lisätietoja avainparin luomisesta on kohdassa Luo avainpari Amazon EC2 -esiintymällesi.

  1. In Active Directory-käyttäjät ja tietokoneetPuolesta Näytä valikko, ota käyttöön Lisäominaisuudet.Näytä-valikko avattiin, jotta lisäominaisuudet otetaan käyttöön
  2. Avaa Kiinteistöt käyttäjän valintaikkuna.
  3. On Ominaisuuseditori välilehti, valitse altSecurityIdentities valita muokata.Attribuuttieditori-välilehti Käyttäjän ominaisuudet -valintaikkunassa
  4. varten Lisäarvoa, valitse Lisää.
  5. varten arvot, lisää julkinen SSH-avain.
  6. Valita OK.Attribuuttien muokkausikkuna altSecurityIdentitiesilleVarmista, että julkinen SSH-avain näkyy attribuuttina.Attribuuttieditori-välilehti, jossa altSecurityIdentities on määritetty

Hanki hämärä salasana Vain luku -käyttäjälle

Voit välttää pelkän tekstisalasanan sisällyttämisen SSSD-määritystiedostoon hämärtämällä salasanan. Tätä vaihetta varten tarvitset Linux-ympäristön (paikallinen kannettava tietokone, EC2 Linux-instanssi tai CloudShell).

Asenna sssd-tools paketti Linux-koneeseen Python-moduulin asentamiseksi pysss hämärtymistä varten:

# Ubuntu
$ sudo apt install sssd-tools

# Amazon Linux
$ sudo yum install sssd-tools

Suorita seuraava yksirivinen Python-skripti. Syötä käyttäjän salasana ReadOnly käyttäjä. Saat hämärän salasanan.

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

Luo HyperPod-klusteri SSSD-yhteensopivalla elinkaariskriptillä

Seuraavaksi luot HyperPod-klusterin, jossa on LDAPS/Active Directory -integraatio.

  1. Etsi määritystiedosto config.py elinkaariskriptihakemistossasi, avaa se tekstieditorillasi ja muokkaa sen ominaisuuksia Config luokka ja SssdConfig luokka:
    1. Asettaa True varten enable_sssd ottaaksesi käyttöön SSSD:n asettamisen.
    2. - SssdConfig luokka sisältää konfigurointiparametrit SSSD:lle.
    3. Varmista, että käytät salattua salasanaa ldap_default_authtok ominaisuus, ei pelkkä tekstisalasana.
    # 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. Kopioi varmennetiedosto ldaps.crt samaan hakemistoon (missä config.py olemassa).
  3. Lataa muokatut elinkaaren komentosarjatiedostot omaan Amazonin yksinkertainen tallennuspalvelu (Amazon S3) ämpäri ja luo sen avulla HyperPod-klusteri.
  4. Odota, kunnes tila muuttuu muotoon Palveluksessa.

Vahvistus

Varmistetaan ratkaisu kirjautumalla klusteriin SSH:lla. Koska klusteri luotiin yksityisessä aliverkossa, et voi suoraan SSH:ta klusteriin paikallisesta ympäristöstäsi. Voit valita kahdesta vaihtoehdosta muodostaaksesi yhteyden klusteriin.

Vaihtoehto 1: SSH-kirjautuminen AWS Systems Managerin kautta

Voit käyttää AWS-järjestelmien päällikkö välityspalvelimena SSH-yhteydelle. Lisää isäntämerkintä SSH-määritystiedostoon ~/.ssh/config käyttämällä seuraavaa esimerkkiä. Varten HostName -kenttään määritä Systems Manger -kohteen nimi muodossa sagemaker-cluster:[cluster-id]_[instance-group-name]-[instance-id]. Varten IdentityFile -kentässä määritä tiedostopolku käyttäjän yksityiseen SSH-avaimeen. Tämä kenttä ei ole pakollinen, jos valitsit salasanatodennuksen.

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

Suorita ssh komento käyttämällä määrittämääsi isäntänimeä. Vahvista, että voit kirjautua sisään ilmentymään määritetyllä käyttäjällä.

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

Tässä vaiheessa käyttäjät voivat edelleen käyttää Systems Managerin oletuskuoriistuntoa kirjautuakseen klusteriin nimellä ssm-user järjestelmänvalvojan oikeuksilla. Voit estää Systems Managerin oletuskäyttöliittymän käyttöoikeuden ja pakottaa SSH-käytön määrittämällä IAM-käytäntösi seuraavan esimerkin avulla:

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

Lisätietoja SSH-käytön pakottamisesta on kohdassa Aloita istunto asiakirjalla määrittämällä istuntoasiakirjat IAM-käytännöissä.

Vaihtoehto 2: SSH-kirjautuminen bastionisännän kautta

Toinen vaihtoehto päästäksesi klusteriin on käyttää a bastionin isäntä välityspalvelimena. Voit käyttää tätä vaihtoehtoa, kun käyttäjällä ei ole oikeutta käyttää Systems Manager -istuntoja tai tehdä vianmääritystä, kun Systems Manager ei toimi.

  1. Luo linnaketurvaryhmä, joka sallii saapuvan SSH-yhteyden (TCP-portti 22) paikallisesta ympäristöstäsi.
  2. Päivitä klusterin suojausryhmä salliaksesi saapuvan SSH-käytön bastionin suojausryhmästä.
  3. Luo EC2 Linux -esiintymä.
  4. varten Amazonin konekuva, valitse Ubuntu Server 20.04LTS.
  5. varten Ilmentymän tyyppi, valitse t3.pieni.
  6. In Verkkoasetukset osiossa, anna seuraavat parametrit:
    1. varten VPC, valitse SageMaker HyperPod VPC (jonka loit CloudFormation-mallilla).
    2. varten aliverkon, valitse julkinen aliverkko, jonka loit CloudFormation-mallilla.
    3. varten Yleiset turvaryhmät, valitse luomasi linnaketurvaryhmä.
  7. varten Määritä tallennustila, aseta tallennustilaksi 8 Gt.
  8. Tunnista linnakeisännän julkinen IP-osoite ja kohdeesiintymän yksityinen IP-osoite (esimerkiksi klusterin kirjautumissolmu) ja lisää kaksi isäntätietoa SSH-konfiguraatioon seuraavan esimerkin avulla:
    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. Suorita ssh -komento käyttämällä aiemmin määrittämääsi kohdeisäntänimeä ja vahvista, että voit kirjautua sisään ilmentymään määritetyllä käyttäjällä:
    $ ssh MyCluster-LoginNode-with-Proxy
       :
       :
       ____              __  ___     __             __ __                  ___          __
      / __/__ ____ ____ /  |/  /__ _/ /_____ ____  / // /_ _____  ___ ____/ _ ___  ___/ /
     _ / _ `/ _ `/ -_) /|_/ / _ `/  '_/ -_) __/ / _  / // / _ / -_) __/ ___/ _ / _  /
    /___/_,_/_, /__/_/  /_/_,_/_/___/_/   /_//_/_, / .__/__/_/ /_/   ___/_,_/
             /___/                                    /___/_/
    You're on the controller
    Instance Type: ml.m5.xlarge
    user1@ip-10-1-111-222:~$

Puhdistaa

Puhdista resurssit seuraavassa järjestyksessä:

  1. Poista HyperPod-klusteri.
  2. Poista Network Load Balancer.
  3. Poista kuormituksen tasapainotuksen kohderyhmä.
  4. Poista Certificate Manageriin tuotu varmenne.
  5. Poista EC2 Windows -esiintymä.
  6. Poista EC2 Linux -esiintymä linnakeisännästä.
  7. Poista AWS:n hallinnoima Microsoft AD.
  8. Poista VPC:n, aliverkkojen, suojausryhmän ja FSx:n CloudFormation-pino Luster-taltiolle.

Yhteenveto

Tämä viesti sisältää vaiheet Active Directoryyn integroidun HyperPod-klusterin luomiseksi. Tämä ratkaisu poistaa käyttäjien ylläpidon vaivan suurissa klustereissa ja mahdollistaa käyttäjien ja ryhmien hallinnan keskitetysti yhdessä paikassa.

Lisätietoja HyperPodista on osoitteessa HyperPod työpaja ja SageMaker HyperPod -kehittäjäopas. Jätä palautetta tästä ratkaisusta kommenttiosiossa.


Tietoja Tekijät

Tomonori Shimomura on vanhempi ratkaisuarkkitehti Amazon SageMaker -tiimissä, jossa hän tarjoaa perusteellista teknistä konsultointia SageMaker-asiakkaille ja ehdottaa tuoteparannuksia tuotetiimille. Ennen Amazonille tuloaan hän työskenteli videopelikonsoleiden sulautettujen ohjelmistojen suunnittelussa ja kehittämisessä, ja nyt hän hyödyntää syvällisiä taitojaan pilvipuolen teknologiassa. Vapaa-ajallaan hän pelaa videopelejä, lukee kirjoja ja kirjoittaa ohjelmistoja.

Giuseppe Angelo Porcelli on pääasiallinen koneoppimisen asiantuntijaratkaisuarkkitehti Amazon Web Servicesille. Hänellä on useiden vuosien ohjelmistokehitys ja ML-tausta. Hän työskentelee kaikenkokoisten asiakkaiden kanssa ymmärtääkseen heidän liiketoimintaansa ja teknisiä tarpeitaan sekä suunnitellakseen tekoäly- ja ML-ratkaisuja, jotka hyödyntävät AWS-pilviä ja Amazon Machine Learning -pinoa parhaalla mahdollisella tavalla. Hän on työskennellyt projekteissa eri aloilla, mukaan lukien MLOps, tietokonenäkö ja NLP, joihin liittyy laaja valikoima AWS-palveluita. Vapaa-ajallaan Giuseppe pelaa jalkapalloa.

Monidipa Chakraborty toimii tällä hetkellä vanhempana ohjelmistokehitysinsinöörinä Amazon Web Servicesissä (AWS), erityisesti SageMaker HyperPod -tiimissä. Hän on sitoutunut auttamaan asiakkaita suunnittelemalla ja toteuttamalla kestäviä ja skaalautuvia järjestelmiä, jotka osoittavat toiminnan erinomaisuutta. Monidipa on tuonut mukanaan lähes vuosikymmenen ohjelmistokehityskokemuksen, ja se on osallistunut eri aloilla Amazonissa, mukaan lukien Video, Retail, Amazon Go ja AWS SageMaker.

Satish Pasumarthi on ohjelmistokehittäjä Amazon Web Services -palvelussa. Hänellä on useiden vuosien ohjelmistokehitys ja ML-tausta. Hän rakastaa kuroa umpeen ML:n ja järjestelmien välistä kuilua ja on intohimoinen rakentamaan järjestelmiä, jotka mahdollistavat laajamittaisen mallikoulutuksen. Hän on työskennellyt projekteissa useilla eri aloilla, mukaan lukien koneoppimiskehykset, mallien benchmarking, hyperpodin betaversion rakentaminen, joka sisältää laajan joukon AWS-palveluita. Vapaa-ajallaan Satish nauttii sulkapallon pelaamisesta.

spot_img

Uusin älykkyys

spot_img

Keskustele kanssamme

Hei siellä! Kuinka voin olla avuksi?