Amazon SageMaker Domain i kun VPC-modus for å støtte SageMaker Studio med automatisk avstenging Lifecycle Configuration og SageMaker Canvas med Terraform | Amazon Web Services

Amazon SageMaker Domain i kun VPC-modus for å støtte SageMaker Studio med automatisk avstenging Lifecycle Configuration og SageMaker Canvas med Terraform | Amazon Web Services

Amazon SageMaker-domene støtter SageMaker maskinlæringsmiljøer (ML), inkludert SageMaker Studio og SageMaker Canvas. SageMaker Studio er et fullt integrert utviklingsmiljø (IDE) som gir et enkelt nettbasert visuelt grensesnitt der du kan få tilgang til spesialbygde verktøy for å utføre alle ML-utviklingstrinn, fra å forberede data til å bygge, trene og distribuere ML-modellene dine, og forbedre datavitenskapen. teamproduktivitet med opptil 10x. SageMaker Canvas utvider tilgangen til maskinlæring ved å gi forretningsanalytikere et visuelt grensesnitt som lar dem generere nøyaktige ML-spådommer på egenhånd – uten å kreve noen ML-erfaring eller å måtte skrive en enkelt linje med kode.

HashiCorp Terraform er et infrastruktur som kode (IaC)-verktøy som lar deg organisere infrastrukturen din i gjenbrukbare kodemoduler. AWS-kunder er avhengige av IaC for å designe, utvikle og administrere skyinfrastrukturen deres, for eksempel SageMaker Domains. IaC sikrer at kundenes infrastruktur og tjenester er konsistente, skalerbare og reproduserbare, mens de følger beste praksis innen utviklingsoperasjoner (DevOps). Ved å bruke Terraform kan du utvikle og administrere SageMaker Domain og dets støttende infrastruktur på en konsistent og repeterbar måte.

I dette innlegget demonstrerer vi Terraform-implementeringen for å distribuere et SageMaker-domene og Amazon Virtual Private Cloud (Amazon VPC) den assosieres med. Løsningen vil bruke Terraform til å lage:

  • En VPC med undernett, sikkerhetsgrupper, samt VPC-endepunkter for å støtte kun VPC-modus for SageMaker-domenet.
  • Et SageMaker-domene i kun VPC-modus med en brukerprofil.
  • En AWS Key Management Service (AWS KMS) nøkkel for å kryptere SageMaker Studios Amazon Elastic File System (Amazon EFS) volum.
  • En livssykluskonfigurasjon knyttet til SageMaker-domenet for automatisk å slå av inaktive Studio-notebook-forekomster.
  • En SageMaker Domain-utførelsesrolle og IAM-policyer for å aktivere SageMaker Studio og Canvas-funksjonalitet.

Løsningen beskrevet i dette innlegget er tilgjengelig her GitHub repo.

Løsningsoversikt

Følgende bilde viser SageMaker Domain i kun VPC-modus.

sagemaker_domain_vpc_only

Ved å starte SageMaker Domain i VPC-en din kan du kontrollere dataflyten fra SageMaker Studio- og Canvas-miljøene. Dette lar deg begrense internettilgang, overvåke og inspisere trafikk ved å bruke standard AWS-nettverks- og sikkerhetsfunksjoner, og koble til andre AWS-ressurser gjennom VPC-endepunkter.

VPC-krav for å bruke kun VPC-modus

Å opprette et SageMaker-domene i kun VPC-modus krever en VPC med følgende konfigurasjoner:

  1. Minst to private undernett, hver i en annen tilgjengelighetssone, for å sikre høy tilgjengelighet.
  2. Sørg for at undernettene har det nødvendige antallet IP-adresser. Vi anbefaler mellom to og fire IP-adresser per bruker. Den totale IP-adressekapasiteten for et Studio-domene er summen av tilgjengelige IP-adresser for hvert subnett oppgitt når domenet opprettes.
  3. Sett opp én eller flere sikkerhetsgrupper med innkommende og utgående regler som sammen tillater følgende trafikk:
    • NFS-trafikk over TCP på port 2049 mellom domenet og Amazon EFS-volumet.
    • TCP-trafikk innenfor sikkerhetsgruppen. Dette er nødvendig for tilkobling mellom JupyterServer-appen og KernelGateway-appene. Du må tillate tilgang til minst porter i området 8192–65535.
  4. Opprett et gateway-endepunkt for Amazon Simple Storage Service (Amazon S3). SageMaker Studio må få tilgang til Amazon S3 fra VPC-en din ved å bruke Gateway VPC-endepunkter. Etter at du har opprettet gateway-endepunktet, må du legge det til som et mål i rutetabellen for trafikk destinert fra din VPC til Amazon S3.
  5. Opprett grensesnitt VPC-endepunkter (AWS PrivateLink) for å gi Studio tilgang til følgende tjenester med de tilsvarende tjenestenavnene. Du må også knytte en sikkerhetsgruppe for din VPC til disse endepunktene for å tillate all innkommende trafikk fra port 443:
    • SageMaker API: com.amazonaws.region.sagemaker.api. Dette er nødvendig for å kommunisere med SageMaker API.
    • SageMaker kjøretid: com.amazonaws.region.sagemaker.runtime. Dette kreves for å kjøre Studio-notatbøker og for å trene og være vert for modeller.
    • SageMaker Feature Store: com.amazonaws.region.sagemaker.featurestore-runtime. Dette kreves for å bruke SageMaker Feature Store.
    • SageMaker-prosjekter: com.amazonaws.region.servicecatalog. Dette kreves for å bruke SageMaker Projects.

Ytterligere VPC-endepunkter for å bruke SageMaker Canvas

I tillegg til de tidligere nevnte VPC-endepunktene, for å bruke SageMaker Canvas, må du også opprette følgende grensesnitt VPC-endepunkter:

  • Amazon Forecast og Amazon Forecast Query: com.amazonaws.region.forecast og com.amazonaws.region.forecastquery. Disse kreves for å bruke Amazon Forecast.
  • Amazon-gjenkjenning: com.amazonaws.region.rekognition. Dette kreves for å bruke Amazon Rekognition.
  • Amazon Textract: com.amazonaws.region.textract. Dette kreves for å bruke Amazon Textract.
  • Amazon forstår: com.amazonaws.region.comprehend. Dette kreves for å bruke Amazon Comprehend.
  • AWS Security Token Service (AWS STS): com.amazonaws.region.sts. Dette er nødvendig fordi SageMaker Canvas bruker AWS STS for å koble til datakilder.
  • Amazon Athena og AWS Lim: com.amazonaws.region.athena og com.amazonaws.region.glue. Dette er nødvendig for å koble til AWS Glue Data Catalog gjennom Amazon Athena.
  • Amazon Redshift: com.amazonaws.region.redshift-data. Dette er nødvendig for å koble til Amazon Redshift-datakilden.

For å se alle VPC-endepunkter for hver tjeneste du kan bruke med SageMaker Canvas, gå til Konfigurer Amazon SageMaker Canvas i en VPC uten internettilgang.

AWS KMS-kryptering for SageMaker Studios EFS-volum

Første gang en bruker på teamet ditt går ombord på SageMaker Studio, oppretter SageMaker et EFS-volum for teamet. En hjemmekatalog opprettes i volumet for hver bruker som går ombord i Studio som en del av teamet ditt. Notebook-filer og datafiler lagres i disse katalogene.

Du kan kryptere SageMaker Studios EFS-volum med en KMS-nøkkel slik at hjemmekatalogens data blir kryptert i hvile. Denne Terraform-løsningen lager en KMS-nøkkel og bruker den til å kryptere SageMaker Studios EFS-volum.

SageMaker Domain Lifecycle Configuration for automatisk å slå av ledige Studio-notatbøker

sagemaker_auto_shutdown

Livssykluskonfigurasjoner er shell-skript som utløses av Amazon SageMaker Studio livssyklushendelser, for eksempel å starte en ny Studio-notatbok. Du kan bruke Lifecycle Configurations for å automatisere tilpasning for Studio-miljøet ditt.

Denne Terraform-løsningen oppretter en SageMaker-livssykluskonfigurasjon for å oppdage og stoppe ledige ressurser som medfører kostnader i Studio ved å bruke en Jupyter-utvidelse for automatisk avslutning. Under panseret opprettes eller konfigureres følgende ressurser for å oppnå ønsket resultat:

  1. Opprett en S3-bøtte og last opp den nyeste versjonen av utvidelsen for automatisk avslutning sagemaker_studio_autoshutdown-0.1.5.tar.gz. Senere vil skriptet for automatisk avslutning kjøre s3 cp kommandoen for å laste ned utvidelsesfilen fra S3-bøtten på Jupyter Server-oppstarter. Vennligst se følgende GitHub-repos for mer informasjon om utvidelse for automatisk avslutning og skript for automatisk avslutning.
  2. Lag en aws_sagemaker_studio_lifecycle_config ressurs "auto_shutdown". Denne ressursen vil kode autoshutdown-script.sh med base 64 og lag en livssykluskonfigurasjon for SageMaker-domenet.
  3. For SageMaker Domain standard brukerinnstillinger, spesifiser Lifecycle Configuration arn og sett den som standard.

SageMaker utførelsesrolle IAM-tillatelser

Som en administrert tjeneste utfører SageMaker operasjoner på dine vegne på AWS-maskinvaren som administreres av SageMaker. SageMaker kan kun utføre operasjoner som brukeren tillater.

En SageMaker-bruker kan gi disse tillatelsene med en IAM-rolle (referert til som en utførelsesrolle). Når du oppretter et SageMaker Studio-domene, lar SageMaker deg opprette utførelsesrollen som standard. Du kan begrense tilgangen til brukerprofiler ved å endre SageMaker-brukerprofilrollen. Denne Terraform-løsningen knytter følgende IAM-policyer til SageMaker-utførelsesrollen:

  • SageMaker klarte AmazonSageMakerFullAccess Politikk. Denne policyen gir utførelsesrollen full tilgang til å bruke SageMaker Studio.
  • En kundeadministrert IAM-policy for å få tilgang til KMS-nøkkelen som brukes til å kryptere SageMaker Studios EFS-volum.
  • SageMaker klarte AmazonSageMakerCanvasFullAccess og AmazonSageMakerCanvasAIServicesAccess retningslinjer. Disse retningslinjene gir utførelsesrollen full tilgang til å bruke SageMaker Canvas.
  • For å aktivere tidsserieanalyse i SageMaker Canvas, må du også legge til IAM-tillitspolicyen for Amazon Forecast.

Gjennomgang av løsningen

I dette blogginnlegget viser vi hvordan du distribuerer Terraform-løsningen. Før du foretar utrullingen, må du sørge for å tilfredsstille følgende forutsetninger:

Forutsetninger

  • En AWS-konto
  • En IAM-bruker med administrativ tilgang

Implementeringstrinn

For å gi brukere som følger denne veiledningen en enhetlig distribusjonsopplevelse, demonstrerer vi distribusjonsprosessen med AWS CloudShell. Ved å bruke CloudShell, et nettleserbasert skall, kan du raskt kjøre skript med AWS Command Line Interface (AWS CLI), eksperimentere med tjeneste-APIer ved å bruke AWS CLI og bruke andre verktøy for å øke produktiviteten.

For å distribuere Terraform-løsningen, fullfør følgende trinn:

CloudShell lanseringsinnstillinger

  • Logg på AWS Management Console og velg CloudShell-tjenesten.
  • I navigasjonslinjen, i regionvelgeren, velg USAs øst (N. Virginia).

Nettleseren din åpner CloudShell-terminalen.

Installer Terraform

De neste trinnene skal utføres i en CloudShell-terminal.

Trykk her denne Hashicorp-guiden for oppdaterte instruksjoner for å installere Terraform for Amazon Linux:

  • Install yum-config-manager for å administrere depotene dine.
sudo yum install -y yum-utils

  • Bruk yum-config-manager for å legge til det offisielle HashiCorp Linux-depotet.
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.repo

  • Installer Terraform fra det nye depotet.
sudo yum -y install terraform

  • Bekreft at installasjonen fungerte ved å liste opp Terraforms tilgjengelige underkommandoer.
terraform -help

Forventet utgang:

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

Klone koden repo

Utfør følgende trinn i en CloudShell-terminal.

  • Klon repoen og naviger til sagemaker-domene-vpconly-canvas-with-terraform-mappen:
git clone https://github.com/aws-samples/sagemaker-domain-vpconly-canvas-with-terraform.git cd sagemaker-domain-vpconly-canvas-with-terraform

  • Last ned utvidelsen for automatisk avslutning og plasser den i assets/auto_shutdown_template mappe:
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

Implementer Terraform-løsningen

I CloudShell-terminalen, kjør følgende Terraform-kommandoer:

terraform init

Du bør se en suksessmelding som:

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

Nå kan du løpe:

terraform plan

Etter at du er fornøyd med ressursene planen skisserer som skal opprettes, kan du kjøre:

terraform apply

Tast inn "ja" når du blir bedt om å bekrefte distribusjonen.

Hvis implementert vellykket, bør du se en utgang som ser slik ut:

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

Tilgang til SageMaker Studio og Canvas

Vi har nå et Studio-domene tilknyttet vår VPC og en brukerprofil i dette domenet.

sagemaker_domene

For å bruke SageMaker Studio-konsollen, på Studio-kontrollpanelet, finn brukernavnet ditt (det skal være det defaultuser) og velg Åpne Studio.

Vi klarte det! Nå kan du bruke nettleseren til å koble til SageMaker Studio-miljøet. Etter noen minutter fullfører Studio opprettelsen av miljøet ditt, og du blir møtt med startskjermen.

studio_landingsside

For å bruke SageMaker Canvas-konsollen, på Canvas Control Panel, finn brukernavnet ditt (skal være defaultuser) og velg Open Canvas.

Nå kan du bruke nettleseren til å koble til SageMaker Canvas-miljøet. Etter noen minutter fullfører Canvas å lage miljøet ditt, og du blir møtt av startskjermen.

canvas_landing_page

Utforsk gjerne den fulle funksjonaliteten SageMaker Studio og Canvas har å tilby! Se konklusjonsdelen for flere workshops og veiledninger du kan bruke for å lære mer om SageMaker.

Rydd opp

Kjør følgende kommando for å rydde opp i ressursene dine:

terraform destroy

Tips: Hvis du angir Amazons EFS-oppbevaringspolicy som "Retain" (standard), vil du få problemer under "terraform destroy” fordi Terraform prøver å slette subnettene og VPC når EFS-volumet samt tilhørende sikkerhetsgrupper (opprettet av SageMaker) fortsatt eksisterer. For å fikse dette, må du først slette EFS-volumet manuelt og deretter slette subnettene og VPC manuelt i AWS-konsollen.

konklusjonen

Løsningen i dette innlegget gir deg muligheten til å lage et SageMaker-domene for å støtte ML-miljøer, inkludert SageMaker Studio og SageMaker Canvas med Terraform. SageMaker Studio gir en fullstendig administrert IDE som fjerner de tunge løftene i ML-prosessen. Med SageMaker Canvas kan våre forretningsbrukere enkelt utforske og bygge ML-modeller for å lage nøyaktige spådommer uten å skrive noen kode. Med muligheten til å starte Studio og Canvas inne i en VPC og bruk av en KMS-nøkkel for å kryptere EFS-volumet, kan kunder bruke SageMaker ML-miljøer med forbedret sikkerhet. Autoavstenging Livssykluskonfigurasjon hjelper kundene med å spare kostnader på inaktive Studio-notebook-forekomster.

Test denne løsningen og fortell oss hva du synes. For mer informasjon om hvordan du bruker SageMaker Studio og Sagemaker Canvas, se følgende:


om forfatteren

chen_yang_awsChen Yang er maskinlæringsingeniør hos Amazon Web Services. Hun er en del av AWS Professional Services-teamet, og har fokusert på å bygge sikre maskinlæringsmiljøer for kunder. På fritiden liker hun å løpe og gå på fotturer i Pacific Northwest.

Tidstempel:

Mer fra AWS maskinlæring