Amazon SageMaker Domain în modul numai VPC pentru a accepta SageMaker Studio cu închidere automată Lifecycle Configuration și SageMaker Canvas cu Terraform | Amazon Web Services

Amazon SageMaker Domain în modul numai VPC pentru a accepta SageMaker Studio cu închidere automată Lifecycle Configuration și SageMaker Canvas cu Terraform | Amazon Web Services

Domeniul Amazon SageMaker acceptă mediile de învățare automată (ML) SageMaker, inclusiv SageMaker Studio și SageMaker Canvas. SageMaker Studio este un mediu de dezvoltare complet integrat (IDE) care oferă o interfață vizuală unică bazată pe web, unde puteți accesa instrumente special create pentru a efectua toți pașii de dezvoltare ML, de la pregătirea datelor până la construirea, instruirea și implementarea modelelor dvs. ML, îmbunătățirea științei datelor. productivitatea echipei de până la 10 ori. SageMaker Canvas extinde accesul la învățarea automată, oferind analiștilor de afaceri o interfață vizuală care le permite să genereze singuri predicții ML precise – fără a necesita experiență ML sau a fi nevoie să scrie o singură linie de cod.

HashiCorp Terraform este un instrument de infrastructură ca cod (IaC) care vă permite să vă organizați infrastructura în module de cod reutilizabile. Clienții AWS se bazează pe IaC pentru a proiecta, dezvolta și gestiona infrastructura lor cloud, cum ar fi SageMaker Domains. IaC asigură că infrastructura și serviciile clienților sunt consecvente, scalabile și reproductibile, respectând în același timp cele mai bune practici în domeniul operațiunilor de dezvoltare (DevOps). Folosind Terraform, puteți dezvolta și gestiona domeniul dvs. SageMaker și infrastructura de suport într-o manieră consecventă și repetabilă.

În această postare, demonstrăm implementarea Terraform pentru a implementa un domeniu SageMaker și Cloud virtual virtual Amazon (Amazon VPC) cu care se asociază. Soluția va folosi Terraform pentru a crea:

  • Un VPC cu subrețele, grupuri de securitate, precum și puncte finale VPC pentru a accepta modul numai VPC pentru domeniul SageMaker.
  • Un domeniu SageMaker în modul numai VPC cu un profil de utilizator.
  • O cheie AWS Key Management Service (AWS KMS) pentru a cripta volumul Amazon Elastic File System (Amazon EFS) al SageMaker Studio.
  • O configurație de ciclu de viață atașată la domeniul SageMaker pentru a închide automat instanțele de notebook Studio inactive.
  • Un rol de execuție a domeniului SageMaker și politici IAM pentru a activa funcționalitățile SageMaker Studio și Canvas.

Soluția descrisă în această postare este disponibilă la aceasta GitHub repo.

Prezentare generală a soluțiilor

Următoarea imagine arată domeniul SageMaker în modul numai VPC.

sagemaker_domain_vpc_only

Lansând SageMaker Domain în VPC-ul dvs., puteți controla fluxul de date din mediile dvs. SageMaker Studio și Canvas. Acest lucru vă permite să restricționați accesul la internet, să monitorizați și să inspectați traficul utilizând capabilitățile standard de securitate și rețele AWS și să vă conectați la alte resurse AWS prin punctele finale VPC.

Cerințe VPC pentru a utiliza numai modul VPC

Crearea unui domeniu SageMaker în modul numai VPC necesită un VPC cu următoarele configurații:

  1. Cel puțin două subrețele private, fiecare într-o zonă de disponibilitate diferită, pentru a asigura o disponibilitate ridicată.
  2. Asigurați-vă că subrețelele dvs. au numărul necesar de adrese IP necesare. Vă recomandăm între două și patru adrese IP pentru fiecare utilizator. Capacitatea totală de adrese IP pentru un domeniu Studio este suma adreselor IP disponibile pentru fiecare subrețea furnizată la crearea domeniului.
  3. Configurați unul sau mai multe grupuri de securitate cu reguli de intrare și de ieșire care, împreună, permit următorul trafic:
    • Trafic NFS prin TCP pe portul 2049 între domeniu și volumul Amazon EFS.
    • Trafic TCP în cadrul grupului de securitate. Acest lucru este necesar pentru conectivitatea dintre aplicația JupyterServer și aplicațiile KernelGateway. Trebuie să permiteți accesul la cel puțin porturi din intervalul 8192–65535.
  4. Creați un punct final gateway pentru Amazon Simple Storage Service (Amazon S3). SageMaker Studio trebuie să acceseze Amazon S3 de pe VPC-ul dvs. utilizând punctele finale VPC Gateway. După ce creați punctul final al gateway-ului, trebuie să îl adăugați ca țintă în tabelul de rute pentru traficul destinat de la VPC la Amazon S3.
  5. Creați puncte finale VPC de interfață (AWS PrivateLink) pentru a permite Studioului să acceseze următoarele servicii cu numele de servicii corespunzătoare. De asemenea, trebuie să asociați un grup de securitate pentru VPC-ul dvs. cu aceste puncte finale pentru a permite tot traficul de intrare de la portul 443:
    • SageMaker API: com.amazonaws.region.sagemaker.api. Acest lucru este necesar pentru a comunica cu API-ul SageMaker.
    • Timp de rulare SageMaker: com.amazonaws.region.sagemaker.runtime. Acest lucru este necesar pentru a rula notebook-uri Studio și pentru a instrui și găzdui modele.
    • Magazin de caracteristici SageMaker: com.amazonaws.region.sagemaker.featurestore-runtime. Acest lucru este necesar pentru a utiliza Magazinul de funcții SageMaker.
    • Proiecte SageMaker: com.amazonaws.region.servicecatalog. Acest lucru este necesar pentru a utiliza SageMaker Projects.

Puncte finale VPC suplimentare pentru a utiliza SageMaker Canvas

Pe lângă punctele finale VPC menționate anterior, pentru a utiliza SageMaker Canvas, trebuie să creați și următoarele puncte finale VPC de interfață:

  • Amazon Forecast și Amazon Forecast Query: com.amazonaws.region.forecast și com.amazonaws.region.forecastquery. Acestea sunt necesare pentru a utiliza Amazon Forecast.
  • Recunoaștere Amazon: com.amazonaws.region.rekognition. Acest lucru este necesar pentru a utiliza Amazon Rekognition.
  • Text Amazon: com.amazonaws.region.textract. Acest lucru este necesar pentru a utiliza Amazon Text.
  • Amazon Comprehend: com.amazonaws.region.comprehend. Acest lucru este necesar pentru a utiliza Amazon Comprehend.
  • AWS Security Token Service (AWS STS): com.amazonaws.region.sts. Acest lucru este necesar deoarece SageMaker Canvas utilizează AWS STS pentru a se conecta la sursele de date.
  • Amazon Athena și AWS Glue: com.amazonaws.region.athena și com.amazonaws.region.glue. Acest lucru este necesar pentru a vă conecta la AWS Glue Data Catalog prin Amazon Athena.
  • Amazon Redshift: com.amazonaws.region.redshift-data. Acest lucru este necesar pentru a vă conecta la sursa de date Amazon Redshift.

Pentru a vedea toate punctele finale VPC pentru fiecare serviciu pe care îl puteți utiliza cu SageMaker Canvas, accesați Configurați Amazon SageMaker Canvas într-un VPC fără acces la internet.

Criptare AWS KMS pentru volumul EFS al SageMaker Studio

Prima dată când un utilizator din echipa ta se integrează la SageMaker Studio, SageMaker creează un volum EFS pentru echipă. Un director principal este creat în volum pentru fiecare utilizator care se integrează la Studio ca parte a echipei dvs. Fișierele notebook și fișierele de date sunt stocate în aceste directoare.

Puteți cripta volumul EFS al SageMaker Studio cu o cheie KMS, astfel încât datele directoarelor dvs. de acasă să fie criptate în repaus. Această soluție Terraform creează o cheie KMS și o folosește pentru a cripta volumul EFS al SageMaker Studio.

SageMaker Domain Lifecycle Configuration pentru a închide automat blocnotesurile Studio inactive

sagemaker_auto_shutdown

Configurațiile ciclului de viață sunt scripturi shell declanșate de evenimentele ciclului de viață Amazon SageMaker Studio, cum ar fi pornirea unui nou notebook Studio. Puteți utiliza Configurațiile ciclului de viață pentru a automatiza personalizarea pentru mediul dvs. Studio.

Această soluție Terraform creează o configurație de ciclu de viață SageMaker pentru a detecta și opri resursele inactive care implică costuri în Studio folosind o extensie Jupyter cu oprire automată. Sub capotă, următoarele resurse sunt create sau configurate pentru a obține rezultatul dorit:

  1. Creați un compartiment S3 și încărcați cea mai recentă versiune a extensiei de oprire automată sagemaker_studio_autoshutdown-0.1.5.tar.gz. Mai târziu, scriptul de închidere automată va rula s3 cp comandă pentru a descărca fișierul de extensie din compartimentul S3 la pornirile Jupyter Server. Vă rugăm să consultați următoarele repoziții GitHub pentru mai multe informații despre extensie de oprire automată și script de oprire automată.
  2. Creați o aws_sagemaker_studio_lifecycle_config resursă”auto_shutdown”. Această resursă va codifica autoshutdown-script.sh cu baza 64 și creați o configurație ciclului de viață pentru domeniul SageMaker.
  3. Pentru setările de utilizator implicite ale domeniului SageMaker, specificați Configurația ciclului de viață și setați-o ca implicită.

Permisiuni IAM pentru rol de execuție SageMaker

Ca serviciu gestionat, SageMaker efectuează operațiuni în numele dvs. pe hardware-ul AWS care este gestionat de SageMaker. SageMaker poate efectua numai operațiuni pe care utilizatorul le permite.

Un utilizator SageMaker poate acorda aceste permisiuni cu un rol IAM (denumit rol de execuție). Când creați un domeniu SageMaker Studio, SageMaker vă permite să creați rolul de execuție în mod implicit. Puteți restricționa accesul la profilurile de utilizator schimbând rolul profilului de utilizator SageMaker. Această soluție Terraform atașează următoarele politici IAM la rolul de execuție SageMaker:

  • SageMaker a reușit AmazonSageMakerFullAccess politică. Această politică acordă rolului de execuție acces complet pentru a utiliza SageMaker Studio.
  • O politică IAM gestionată de client pentru a accesa cheia KMS utilizată pentru a cripta volumul EFS al SageMaker Studio.
  • SageMaker a reușit AmazonSageMakerCanvasFullAccess și AmazonSageMakerCanvasAIServicesAccess politici. Aceste politici acordă rolului de execuție acces complet pentru a utiliza SageMaker Canvas.
  • Pentru a activa analiza seriilor temporale în SageMaker Canvas, trebuie să adăugați și politica de încredere IAM pentru Amazon Forecast.

Rezolvare soluție

În această postare de blog, demonstrăm cum să implementăm soluția Terraform. Înainte de a efectua implementarea, asigurați-vă că îndepliniți următoarele cerințe preliminare:

Cerințe preliminare

  • Un cont AWS
  • Un utilizator IAM cu acces administrativ

Etape de implementare

Pentru a oferi utilizatorilor care urmează acest ghid o experiență de implementare unificată, demonstrăm procesul de implementare cu AWS CloudShell. Folosind CloudShell, un shell bazat pe browser, puteți rula rapid scripturi cu AWS Command Line Interface (AWS CLI), puteți experimenta cu API-uri de serviciu folosind AWS CLI și puteți utiliza alte instrumente pentru a vă crește productivitatea.

Pentru a implementa soluția Terraform, parcurgeți următorii pași:

Setări de lansare CloudShell

  • Conectați-vă la AWS Management Console și selectați serviciul CloudShell.
  • În bara de navigare, în selectorul de regiune, alegeți SUA est (N. Virginia).

Browserul dvs. va deschide terminalul CloudShell.

Instalați Terraform

Următorii pași ar trebui să fie executați într-un terminal CloudShell.

Verifica acest ghid Hashicorp pentru instrucțiuni actualizate pentru a instala Terraform pentru Amazon Linux:

  • Instala yum-config-manager pentru a vă gestiona depozitele.
sudo yum install -y yum-utils

  • Utilizare yum-config-manager pentru a adăuga depozitul oficial HashiCorp Linux.
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.repo

  • Instalați Terraform din noul depozit.
sudo yum -y install terraform

  • Verificați dacă instalarea a funcționat listând subcomenzile disponibile Terraform.
terraform -help

Rezultat așteptat:

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

Clonează depozitul de cod

Efectuați următorii pași într-un terminal CloudShell.

  • Clonați depozitul și navigați la folderul 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

  • Descărcați extensia de oprire automată și plasați-o în assets/auto_shutdown_template pliant:
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

Implementați soluția Terraform

În terminalul CloudShell, rulați următoarele comenzi Terraform:

terraform init

Ar trebui să vedeți un mesaj de succes precum:

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

Acum puteți rula:

terraform plan

După ce sunteți mulțumit de resursele pe care planul le conturează, puteți rula:

terraform apply

Introduce "da„ când vi se solicită să confirmați implementarea.

Dacă este implementat cu succes, ar trebui să vedeți o ieșire care arată astfel:

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

Accesarea SageMaker Studio și Canvas

Acum avem un domeniu Studio asociat cu VPC-ul nostru și un profil de utilizator în acest domeniu.

sagemaker_domain

Pentru a utiliza consola SageMaker Studio, în Panoul de control Studio, găsiți numele dvs. de utilizator (ar trebui să fie defaultuser) și alegeți Deschide Studio.

Am reușit! Acum vă puteți folosi browserul pentru a vă conecta la mediul SageMaker Studio. După câteva minute, Studio termină de a crea mediul tău și ești întâmpinat cu ecranul de lansare.

studio_landing_page

Pentru a utiliza consola SageMaker Canvas, în Panoul de control Canvas, găsiți numele dvs. de utilizator (ar trebui să fie defaultuser) și alegeți Open Canvas.

Acum vă puteți folosi browserul pentru a vă conecta la mediul SageMaker Canvas. După câteva minute, Canvas termină de a crea mediul tău și ești întâmpinat cu ecranul de lansare.

canvas_landing_page

Simțiți-vă liber să explorați funcționalitatea completă pe care SageMaker Studio și Canvas le oferă! Consultați secțiunea Concluzii pentru ateliere și tutoriale suplimentare pe care le puteți utiliza pentru a afla mai multe despre SageMaker.

A curăța

Rulați următoarea comandă pentru a vă curăța resursele:

terraform destroy

varful: Dacă setați politica de reținere Amazon EFS ca „Retain” (implicit), veți avea probleme în timpul „terraform destroy” deoarece Terraform încearcă să ștergă subrețelele și VPC-urile când volumul EFS, precum și grupurile de securitate asociate (create de SageMaker) încă mai există. Pentru a remedia acest lucru, mai întâi ștergeți manual volumul EFS, apoi ștergeți manual subrețelele și VPC-urile din consola AWS.

Concluzie

Soluția din această postare vă oferă posibilitatea de a crea un domeniu SageMaker pentru a suporta medii ML, inclusiv SageMaker Studio și SageMaker Canvas cu Terraform. SageMaker Studio oferă un IDE complet gestionat care elimină sarcinile grele din procesul ML. Cu SageMaker Canvas, utilizatorii noștri de afaceri pot explora și construi cu ușurință modele ML pentru a face predicții precise fără a scrie niciun cod. Cu capacitatea de a lansa Studio și Canvas într-un VPC și utilizarea unei chei KMS pentru a cripta volumul EFS, clienții pot folosi mediile SageMaker ML cu securitate sporită. Configurația ciclului de viață cu oprire automată îi ajută pe clienți să economisească costurile pentru instanțele de notebook Studio inactive.

Testați această soluție și spuneți-ne ce părere aveți. Pentru mai multe informații despre cum să utilizați SageMaker Studio și Sagemaker Canvas, consultați următoarele:


Despre autor

chen_yang_awsChen Yang este inginer de învățare automată la Amazon Web Services. Face parte din echipa AWS Professional Services și s-a concentrat pe construirea de medii sigure de învățare automată pentru clienți. În timpul liber, îi place să alerge și să facă drumeții în nord-vestul Pacificului.

Timestamp-ul:

Mai mult de la Învățare automată AWS