Domena Amazon SageMaker v načinu samo VPC za podporo SageMaker Studio s samodejnim izklopom, konfiguracijo življenjskega cikla in SageMaker Canvas s Terraform | Spletne storitve Amazon

Domena Amazon SageMaker v načinu samo VPC za podporo SageMaker Studio s samodejnim izklopom, konfiguracijo življenjskega cikla in SageMaker Canvas s Terraform | Spletne storitve Amazon

Domena Amazon SageMaker podpira okolja strojnega učenja (ML) SageMaker, vključno s SageMaker Studio in SageMaker Canvas. Studio SageMaker je popolnoma integrirano razvojno okolje (IDE), ki ponuja enoten spletni vizualni vmesnik, kjer lahko dostopate do namensko izdelanih orodij za izvajanje vseh razvojnih korakov ML, od priprave podatkov do gradnje, usposabljanja in uvajanja vaših modelov ML, izboljšanje podatkovne znanosti produktivnost ekipe do 10x. SageMaker Canvas razširja dostop do strojnega učenja tako, da poslovnim analitikom nudi vizualni vmesnik, ki jim omogoča, da sami ustvarijo natančne napovedi ML – ne da bi potrebovali izkušnje z ML ali napisali eno vrstico kode.

HashiCorp Terraform je orodje za infrastrukturo kot kodo (IaC), ki vam omogoča organiziranje vaše infrastrukture v modulih kode za večkratno uporabo. Stranke AWS se za načrtovanje, razvoj in upravljanje svoje infrastrukture v oblaku, kot so domene SageMaker, zanašajo na IAC. IaC zagotavlja, da so infrastruktura in storitve za stranke dosledne, razširljive in ponovljive, pri tem pa sledi najboljšim praksam na področju razvojnih operacij (DevOps). Z uporabo Terraforma lahko razvijate in upravljate svojo domeno SageMaker in njeno podporno infrastrukturo na dosleden in ponovljiv način.

V tej objavi prikazujemo izvedbo Terraform za uvedbo domene SageMaker in Navidezni zasebni oblak Amazon (Amazon VPC), s katerim se povezuje. Rešitev bo uporabila Terraform za ustvarjanje:

  • VPC s podomrežji, varnostnimi skupinami in končnimi točkami VPC za podporo samo načinu VPC za domeno SageMaker.
  • Domena SageMaker v načinu samo VPC z uporabniškim profilom.
  • Ključ AWS Key Management Service (AWS KMS) za šifriranje nosilca Amazon Elastic File System (Amazon EFS) SageMaker Studio.
  • Konfiguracija življenjskega cikla, pritrjena na domeno SageMaker za samodejno zaustavitev nedejavnih primerkov prenosnika Studio.
  • Vloga izvajanja domene SageMaker in pravilniki IAM za omogočanje funkcij SageMaker Studio in Canvas.

Rešitev, opisana v tej objavi, je na voljo tukaj GitHub repo.

Pregled rešitev

Naslednja slika prikazuje domeno SageMaker samo v načinu VPC.

sagemaker_domain_vpc_only

Z zagonom domene SageMaker v vašem VPC lahko nadzirate pretok podatkov iz okolij SageMaker Studio in Canvas. To vam omogoča, da omejite dostop do interneta, spremljate in pregledujete promet z uporabo standardnih omrežnih in varnostnih zmogljivosti AWS ter se povežete z drugimi viri AWS prek končnih točk VPC.

Zahteve VPC za uporabo načina samo VPC

Ustvarjanje domene SageMaker samo v načinu VPC zahteva VPC z naslednjimi konfiguracijami:

  1. Vsaj dve zasebni podomrežji, vsako v drugem območju razpoložljivosti, da zagotovite visoko razpoložljivost.
  2. Zagotovite, da imajo vaša podomrežja potrebno število naslovov IP. Priporočamo od dva do štiri naslove IP na uporabnika. Skupna zmogljivost naslova IP za domeno Studio je vsota razpoložljivih naslovov IP za vsako podomrežje, podano ob ustvarjanju domene.
  3. Nastavite eno ali več varnostnih skupin z vhodnimi in izhodnimi pravili, ki skupaj dovoljujejo naslednji promet:
    • Promet NFS prek TCP na vratih 2049 med domeno in nosilcem Amazon EFS.
    • TCP promet znotraj varnostne skupine. To je potrebno za povezljivost med aplikacijo JupyterServer in aplikacijami KernelGateway. Dovoliti morate dostop vsaj do vrat v območju 8192–65535.
  4. Ustvarite končno točko prehoda za Amazon Simple Storage Service (Amazon S3). SageMaker Studio mora dostopati do Amazon S3 iz vašega VPC prek končnih točk Gateway VPC. Ko ustvarite končno točko prehoda, jo morate dodati kot cilj v tabeli poti za promet, namenjen iz vašega VPC v Amazon S3.
  5. Ustvarite končne točke vmesnika VPC (AWS PrivateLink), da Studiu omogočite dostop do naslednjih storitev z ustreznimi imeni storitev. Prav tako morate povezati varnostno skupino za vaš VPC s temi končnimi točkami, da omogočite ves vhodni promet iz vrat 443:
    • API SageMaker: com.amazonaws.region.sagemaker.api. To je potrebno za komunikacijo z API-jem SageMaker.
    • Čas izvajanja SageMaker: com.amazonaws.region.sagemaker.runtime. To je potrebno za zagon prenosnih računalnikov Studio ter za usposabljanje in gostovanje modelov.
    • Trgovina s funkcijami SageMaker: com.amazonaws.region.sagemaker.featurestore-runtime. To je potrebno za uporabo SageMaker Feature Store.
    • Projekti SageMaker: com.amazonaws.region.servicecatalog. To je potrebno za uporabo projektov SageMaker.

Dodatne končne točke VPC za uporabo SageMaker Canvas

Za uporabo SageMaker Canvas morate poleg prej omenjenih končnih točk VPC ustvariti tudi naslednje končne točke vmesnika VPC:

  • Amazon Forecast in Amazon Forecast Query: com.amazonaws.region.forecast in com.amazonaws.region.forecastquery. Ti so potrebni za uporabo Amazon Forecast.
  • Amazonovo priznanje: com.amazonaws.region.rekognition. To je potrebno za uporabo Amazon Rekognition.
  • Amazonovo besedilo: com.amazonaws.region.textract. To je potrebno za uporabo Amazon Texttract.
  • Amazon Comprehend: com.amazonaws.region.comprehend. To je potrebno za uporabo Amazon Comprehend.
  • Storitev varnostnih žetonov AWS (AWS STS): com.amazonaws.region.sts. To je potrebno, ker SageMaker Canvas uporablja AWS STS za povezovanje z viri podatkov.
  • Amazon Athena in AWS Glue: com.amazonaws.region.athena in com.amazonaws.region.glue. To je potrebno za povezavo z AWS Glue Data Catalog prek Amazon Athena.
  • Rdeči premik Amazona: com.amazonaws.region.redshift-data. To je potrebno za povezavo z virom podatkov Amazon Redshift.

Če si želite ogledati vse končne točke VPC za vsako storitev, ki jo lahko uporabljate s SageMaker Canvas, obiščite Konfigurirajte Amazon SageMaker Canvas v VPC brez dostopa do interneta.

Šifriranje AWS KMS za nosilec EFS SageMaker Studio

Ko se uporabnik iz vaše ekipe prvič vključi v SageMaker Studio, SageMaker ustvari nosilec EFS za ekipo. Domači imenik se ustvari v nosilcu za vsakega uporabnika, ki se vključi v Studio kot del vaše ekipe. Datoteke zvezkov in podatkovne datoteke so shranjene v teh imenikih.

Nosilec EFS vašega SageMaker Studio lahko šifrirate s ključem KMS, tako da so podatki vaših domačih imenikov šifrirani v mirovanju. Ta rešitev Terraform ustvari ključ KMS in ga uporabi za šifriranje nosilca EFS SageMaker Studio.

Konfiguracija življenjskega cikla domene SageMaker za samodejno zaustavitev nedejavnih prenosnikov Studio

sagemaker_auto_shutdown

Konfiguracije življenjskega cikla so lupinski skripti, ki jih sprožijo dogodki življenjskega cikla Amazon SageMaker Studio, kot je zagon novega prenosnika Studio. Konfiguracije življenjskega cikla lahko uporabite za avtomatizacijo prilagajanja za okolje Studio.

Ta rešitev Terraform ustvari konfiguracijo življenjskega cikla SageMaker za odkrivanje in zaustavitev nedejavnih virov, ki povzročajo stroške v Studiu, z uporabo razširitve Jupyter za samodejno zaustavitev. Pod pokrovom so naslednji viri ustvarjeni ali konfigurirani za doseganje želenega rezultata:

  1. Ustvarite vedro S3 in naložite najnovejšo različico razširitve za samodejno zaustavitev sagemaker_studio_autoshutdown-0.1.5.tar.gz. Kasneje se bo zagnal skript za samodejno zaustavitev s3 cp ukaz za prenos razširitvene datoteke iz vedra S3 pri zagonih Jupyter Server. Za več informacij o razširitev za samodejni izklop in skript za samodejni izklop.
  2. Ustvari aws_sagemaker_studio_lifecycle_config vir "auto_shutdown”. Ta vir bo kodiral autoshutdown-script.sh z osnovo 64 in ustvarite konfiguracijo življenjskega cikla za domeno SageMaker.
  3. Za privzete uporabniške nastavitve domene SageMaker določite arn za konfiguracijo življenjskega cikla in jo nastavite kot privzeto.

Dovoljenja IAM za izvršilno vlogo SageMaker

Kot upravljana storitev SageMaker izvaja operacije v vašem imenu na strojni opremi AWS, ki jo upravlja SageMaker. SageMaker lahko izvaja samo operacije, ki jih dovoli uporabnik.

Uporabnik SageMaker lahko podeli ta dovoljenja z vlogo IAM (imenovano vloga izvajanja). Ko ustvarite domeno SageMaker Studio, vam SageMaker omogoča, da privzeto ustvarite vlogo izvajanja. Dostop do uporabniških profilov lahko omejite tako, da spremenite vlogo uporabniškega profila SageMaker. Ta rešitev Terraform priloži naslednje pravilnike IAM izvršilni vlogi SageMaker:

  • SageMaker upravlja AmazonSageMakerFullAccess politika. Ta pravilnik podeljuje izvršilni vlogi popoln dostop do uporabe SageMaker Studio.
  • Politika IAM, ki jo upravlja stranka, za dostop do ključa KMS, ki se uporablja za šifriranje nosilca EFS programa SageMaker Studio.
  • SageMaker upravlja AmazonSageMakerCanvasFullAccess in AmazonSageMakerCanvasAIServicesAccess pravila. Ti pravilniki podeljujejo izvršilni vlogi popoln dostop do uporabe SageMaker Canvas.
  • Če želite omogočiti analizo časovnih vrst v SageMaker Canvas, morate dodati tudi pravilnik zaupanja IAM za Amazon Forecast.

Rešitev za rešitev

V tem blogu prikazujemo, kako uvesti rešitev Terraform. Pred uvedbo zagotovite, da so izpolnjeni naslednji predpogoji:

Predpogoji

  • AWS račun
  • Uporabnik IAM z skrbniškim dostopom

Koraki uvajanja

Da bi uporabnikom, ki upoštevajo ta vodnik, omogočili enotno izkušnjo uvajanja, prikazujemo postopek uvajanja z AWS CloudShell. Z uporabo CloudShell, lupine, ki temelji na brskalniku, lahko hitro izvajate skripte z vmesnikom ukazne vrstice AWS (AWS CLI), eksperimentirate s storitvenimi API-ji z ​​uporabo AWS CLI in uporabite druga orodja za povečanje produktivnosti.

Za namestitev rešitve Terraform izvedite naslednje korake:

Nastavitve zagona CloudShell

  • Prijavite se v konzolo za upravljanje AWS in izberite storitev CloudShell.
  • V navigacijski vrstici v izbirniku regije izberite Ameriški vzhod (N. Virginija).

Vaš brskalnik bo odprl terminal CloudShell.

Namestite Terraform

Naslednje korake je treba izvesti v terminalu CloudShell.

Preveri ta vodnik Hashicorp za najnovejša navodila za namestitev Terraform za Amazon Linux:

  • namestitev yum-config-manager za upravljanje vaših repozitorijev.
sudo yum install -y yum-utils

  • Uporaba yum-config-manager za dodajanje uradnega repozitorija HashiCorp Linux.
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.repo

  • Namestite Terraform iz novega repozitorija.
sudo yum -y install terraform

  • Preverite, ali je namestitev delovala, tako da navedete razpoložljive podukaze Terraform.
terraform -help

Pričakovani rezultat:

Usage: terraform [-version] [-help] <command> [args] The available commands for execution are listed below. The most common, useful commands are shown first, followed by less common or more advanced commands. If you’re just getting started with Terraform, stick with the common commands. For the other commands, please read the help and docs before usage. …

Klonirajte repo kode

Izvedite naslednje korake v terminalu CloudShell.

  • Klonirajte repo in se pomaknite do mape sagemaker-domain-vpconly-canvas-with-terraform:
git clone https://github.com/aws-samples/sagemaker-domain-vpconly-canvas-with-terraform.git cd sagemaker-domain-vpconly-canvas-with-terraform

  • Prenesite razširitev za samodejno zaustavitev in jo postavite v assets/auto_shutdown_template mapa:
wget https://github.com/aws-samples/sagemaker-studio-auto-shutdown-extension/raw/main/sagemaker_studio_autoshutdown-0.1.5.tar.gz -P assets/auto_shutdown_template

Namestite rešitev Terraform

V terminalu CloudShell zaženite naslednje ukaze Terraform:

terraform init

Morali bi videti sporočilo o uspehu, kot je:

Terraform has been successfully initialized! You may now begin working with Terraform. Try running "terraform plan" to see any changes that are required for your infrastructure. All Terraform commands should now work...

Zdaj lahko izvajate:

terraform plan

Ko ste zadovoljni z viri, ki jih je treba ustvariti v načrtu, lahko zaženete:

terraform apply

Vnesite »ja«, ko boste pozvani, da potrdite uvedbo.

Če ste uspešno razmestili, bi morali videti rezultat, ki je videti tako:

Apply complete! Resources: X added, 0 changed, 0 destroyed.

Dostop do SageMaker Studio in Canvas

Zdaj imamo domeno Studio, povezano z našim VPC, in uporabniški profil v tej domeni.

domena_sagemaker

Če želite uporabljati konzolo SageMaker Studio, na nadzorni plošči Studio poiščite svoje uporabniško ime (moralo bi biti defaultuser) in izberite Odprti studio.

Uspelo nam je! Zdaj lahko uporabite svoj brskalnik za povezavo z okoljem SageMaker Studio. Po nekaj minutah Studio konča ustvarjanje vašega okolja in pozdravi vas zaslon zaganjalnika.

studio_pristajalna_stran

Če želite uporabljati konzolo SageMaker Canvas, na nadzorni plošči Canvas poiščite svoje uporabniško ime (mora biti defaultuser) in izberite Odpri platno.

Zdaj se lahko s svojim brskalnikom povežete z okoljem SageMaker Canvas. Po nekaj minutah Canvas konča ustvarjanje vašega okolja in pozdravi vas zaslon zaganjalnika.

canvas_landing_page

Prosto raziščite celotno funkcionalnost, ki jo ponujata SageMaker Studio in Canvas! Prosimo, glejte razdelek Zaključek za dodatne delavnice in vadnice, ki jih lahko uporabite, če želite izvedeti več o SageMakerju.

Čiščenje

Zaženite naslednji ukaz za čiščenje virov:

terraform destroy

Nasvet: Če nastavite politiko hrambe Amazon EFS kot »Retain« (privzeto), boste med »terraform destroy«, ker Terraform poskuša izbrisati podomrežja in VPC, ko nosilec EFS in z njim povezane varnostne skupine (ki jih je ustvaril SageMaker) še vedno obstajajo. Če želite to popraviti, najprej ročno izbrišite nosilec EFS in nato ročno izbrišite podomrežja in VPC v konzoli AWS.

zaključek

Rešitev v tej objavi vam omogoča ustvarjanje domene SageMaker za podporo okolj ML, vključno s SageMaker Studio in SageMaker Canvas s Terraform. SageMaker Studio ponuja popolnoma upravljan IDE, ki odpravlja težko delo v procesu ML. S SageMaker Canvas lahko naši poslovni uporabniki preprosto raziskujejo in gradijo modele ML za natančne napovedi brez pisanja kode. Z možnostjo zagona programa Studio in Canvas znotraj VPC in uporabo ključa KMS za šifriranje nosilca EFS lahko stranke uporabljajo okolja SageMaker ML z izboljšano varnostjo. Konfiguracija življenjskega cikla samodejnega izklopa pomaga strankam prihraniti stroške pri nedejavnih primerkih prenosnih računalnikov Studio.

Pojdite preizkusiti to rešitev in nam sporočite svoje mnenje. Za več informacij o uporabi SageMaker Studio in Sagemaker Canvas glejte naslednje:


O Author

chen_yang_awsChen Yang je inženir strojnega učenja pri Amazon Web Services. Je del ekipe AWS Professional Services in se osredotoča na gradnjo varnih okolij strojnega učenja za stranke. V prostem času uživa v teku in pohodništvu po pacifiškem severozahodu.

Časovni žig:

Več od Strojno učenje AWS