Amazon SageMaker Domain i kun VPC-tilstand for at understøtte SageMaker Studio med automatisk shutdown Lifecycle Configuration og SageMaker Canvas med Terraform | Amazon Web Services

Amazon SageMaker Domain i kun VPC-tilstand for at understøtte SageMaker Studio med automatisk shutdown Lifecycle Configuration og SageMaker Canvas med Terraform | Amazon Web Services

Amazon SageMaker-domæne understøtter SageMaker machine learning (ML) miljøer, herunder SageMaker Studio og SageMaker Canvas. SageMaker Studio er et fuldt integreret udviklingsmiljø (IDE), der giver en enkelt webbaseret visuel grænseflade, hvor du kan få adgang til specialbyggede værktøjer til at udføre alle ML-udviklingstrin, fra forberedelse af data til opbygning, træning og implementering af dine ML-modeller, hvilket forbedrer datavidenskaben teamets produktivitet med op til 10x. SageMaker lærred udvider adgangen til maskinlæring ved at give virksomhedsanalytikere en visuel grænseflade, der giver dem mulighed for at generere nøjagtige ML-forudsigelser på egen hånd – uden at kræve nogen ML-erfaring eller at skulle skrive en enkelt linje kode.

HashiCorp Terraform er et infrastruktur som kode (IaC) værktøj, der lader dig organisere din infrastruktur i genanvendelige kodemoduler. AWS-kunder er afhængige af IaC til at designe, udvikle og administrere deres cloud-infrastruktur, såsom SageMaker Domains. IaC sikrer, at kundernes infrastruktur og tjenester er konsistente, skalerbare og reproducerbare, mens de følger bedste praksis inden for udviklingsoperationer (DevOps). Ved at bruge Terraform kan du udvikle og administrere dit SageMaker-domæne og dets understøttende infrastruktur på en ensartet og gentagelig måde.

I dette indlæg demonstrerer vi Terraform-implementeringen til at implementere et SageMaker-domæne og Amazon Virtual Private Cloud (Amazon VPC) den forbinder med. Løsningen vil bruge Terraform til at skabe:

  • En VPC med undernet, sikkerhedsgrupper samt VPC-endepunkter for at understøtte kun VPC-tilstand for SageMaker-domænet.
  • Et SageMaker-domæne i kun VPC-tilstand med en brugerprofil.
  • En AWS Key Management Service (AWS KMS) nøgle til at kryptere SageMaker Studios Amazon Elastic File System (Amazon EFS) volumen.
  • En livscykluskonfiguration knyttet til SageMaker-domænet for automatisk at lukke inaktive Studio-notebook-forekomster ned.
  • En SageMaker Domain-udførelsesrolle og IAM-politikker for at aktivere SageMaker Studio- og Canvas-funktionaliteter.

Løsningen beskrevet i dette indlæg er tilgængelig her GitHub repo.

Løsningsoversigt

Følgende billede viser SageMaker Domain i kun VPC-tilstand.

sagemaker_domain_vpc_only

Ved at lancere SageMaker Domain i din VPC kan du styre datastrømmen fra dine SageMaker Studio- og Canvas-miljøer. Dette giver dig mulighed for at begrænse internetadgang, overvåge og inspicere trafik ved hjælp af standard AWS-netværks- og sikkerhedsfunktioner og oprette forbindelse til andre AWS-ressourcer gennem VPC-slutpunkter.

VPC-krav for at bruge kun VPC-tilstand

Oprettelse af et SageMaker-domæne i kun VPC-tilstand kræver en VPC med følgende konfigurationer:

  1. Mindst to private undernet, hver i en anden tilgængelighedszone, for at sikre høj tilgængelighed.
  2. Sørg for, at dine undernet har det nødvendige antal IP-adresser. Vi anbefaler mellem to og fire IP-adresser pr. bruger. Den samlede IP-adressekapacitet for et Studio-domæne er summen af ​​tilgængelige IP-adresser for hvert undernet, der leveres, når domænet oprettes.
  3. Konfigurer en eller flere sikkerhedsgrupper med indgående og udgående regler, der tilsammen tillader følgende trafik:
    • NFS-trafik over TCP på port 2049 mellem domænet og Amazon EFS-volumenet.
    • TCP-trafik inden for sikkerhedsgruppen. Dette er nødvendigt for forbindelse mellem JupyterServer-appen og KernelGateway-apps. Du skal tillade adgang til mindst porte i området 8192–65535.
  4. Opret et gateway-endepunkt til Amazon Simple Storage Service (Amazon S3). SageMaker Studio skal have adgang til Amazon S3 fra din VPC ved hjælp af Gateway VPC-endepunkter. Når du har oprettet gateway-endepunktet, skal du tilføje det som et mål i din rutetabel for trafik, der er bestemt fra din VPC til Amazon S3.
  5. Opret grænseflade VPC-slutpunkter (AWS PrivateLink) for at give Studio adgang til følgende tjenester med de tilsvarende tjenestenavne. Du skal også knytte en sikkerhedsgruppe til din VPC til disse endepunkter for at tillade al indgående trafik fra port 443:
    • SageMaker API: com.amazonaws.region.sagemaker.api. Dette er nødvendigt for at kommunikere med SageMaker API.
    • SageMaker køretid: com.amazonaws.region.sagemaker.runtime. Dette er påkrævet for at køre Studio-notebooks og for at træne og være vært for modeller.
    • SageMaker Feature Store: com.amazonaws.region.sagemaker.featurestore-runtime. Dette er påkrævet for at bruge SageMaker Feature Store.
    • SageMaker projekter: com.amazonaws.region.servicecatalog. Dette er påkrævet for at bruge SageMaker Projects.

Yderligere VPC-slutpunkter for at bruge SageMaker Canvas

Ud over de tidligere nævnte VPC-endepunkter, for at bruge SageMaker Canvas, skal du også oprette følgende grænseflade VPC-endepunkter:

  • Amazon Forecast og Amazon Forecast Query: com.amazonaws.region.forecast , com.amazonaws.region.forecastquery. Disse er nødvendige for at bruge Amazon Forecast.
  • Amazon-anerkendelse: com.amazonaws.region.rekognition. Dette er påkrævet for at bruge Amazon Rekognition.
  • Amazon Textract: com.amazonaws.region.textract. Dette er nødvendigt for at bruge Amazon Textract.
  • Amazon forstår: com.amazonaws.region.comprehend. Dette er påkrævet for at bruge Amazon Comprehend.
  • AWS Security Token Service (AWS STS): com.amazonaws.region.sts. Dette er påkrævet, fordi SageMaker Canvas bruger AWS STS til at oprette forbindelse til datakilder.
  • Amazon Athena og AWS Lim: com.amazonaws.region.athena , com.amazonaws.region.glue. Dette er påkrævet for at oprette forbindelse til AWS Glue Data Catalog gennem Amazon Athena.
  • Amazon Redshift: com.amazonaws.region.redshift-data. Dette er nødvendigt for at oprette forbindelse til Amazon Redshift-datakilden.

For at se alle VPC-slutpunkter for hver tjeneste, du kan bruge med SageMaker Canvas, skal du gå til Konfigurer Amazon SageMaker Canvas i en VPC uden internetadgang.

AWS KMS-kryptering til SageMaker Studios EFS-volumen

Første gang en bruger på dit team går ombord på SageMaker Studio, opretter SageMaker en EFS-volumen til teamet. Der oprettes en hjemmemappe i volumen for hver bruger, der går ombord på Studio som en del af dit team. Notebook-filer og datafiler gemmes i disse mapper.

Du kan kryptere din SageMaker Studios EFS-volumen med en KMS-nøgle, så dine hjemmemappers data krypteres i hvile. Denne Terraform-løsning opretter en KMS-nøgle og bruger den til at kryptere SageMaker Studios EFS-volumen.

SageMaker Domain Lifecycle Configuration for automatisk at lukke inaktive Studio-notebooks ned

sagemaker_auto_shutdown

Livscykluskonfigurationer er shell-scripts, der udløses af Amazon SageMaker Studio livscyklusbegivenheder, såsom at starte en ny Studio-notesbog. Du kan bruge Lifecycle Configurations til at automatisere tilpasning til dit Studio-miljø.

Denne Terraform-løsning opretter en SageMaker-livscykluskonfiguration til at detektere og stoppe ledige ressourcer, der medfører omkostninger i Studio ved hjælp af en Jupyter-udvidelse med automatisk nedlukning. Under emhætten oprettes eller konfigureres følgende ressourcer for at opnå det ønskede resultat:

  1. Opret en S3-bøtte, og upload den seneste version af udvidelsen til automatisk nedlukning sagemaker_studio_autoshutdown-0.1.5.tar.gz. Senere vil auto-shutdown scriptet køre s3 cp kommando for at downloade udvidelsesfilen fra S3-bøtten på Jupyter Server-start-ups. Se venligst følgende GitHub-repos for mere information om udvidelse til automatisk nedlukning , auto-shutdown script.
  2. Opret en aws_sagemaker_studio_lifecycle_config ressource "auto_shutdown”. Denne ressource vil kode autoshutdown-script.sh med base 64 og opret en livscykluskonfiguration for SageMaker-domænet.
  3. For SageMaker Domain-standardbrugerindstillinger skal du angive Lifecycle Configuration arn og indstille det som standard.

SageMaker-udførelsesrolle IAM-tilladelser

Som en administreret service udfører SageMaker operationer på dine vegne på AWS-hardwaren, der administreres af SageMaker. SageMaker kan kun udføre operationer, som brugeren tillader.

En SageMaker-bruger kan give disse tilladelser med en IAM-rolle (benævnt en eksekveringsrolle). Når du opretter et SageMaker Studio-domæne, giver SageMaker dig mulighed for at oprette udførelsesrollen som standard. Du kan begrænse adgangen til brugerprofiler ved at ændre SageMaker-brugerprofilrollen. Denne Terraform-løsning knytter følgende IAM-politikker til SageMaker-udførelsesrollen:

  • SageMaker klarede AmazonSageMakerFullAccess politik. Denne politik giver udførerrollen fuld adgang til at bruge SageMaker Studio.
  • En kundeadministreret IAM-politik for at få adgang til KMS-nøglen, der bruges til at kryptere SageMaker Studios EFS-volumen.
  • SageMaker klarede AmazonSageMakerCanvasFullAccess , AmazonSageMakerCanvasAIServicesAccess politikker. Disse politikker giver udførerrollen fuld adgang til at bruge SageMaker Canvas.
  • For at aktivere tidsserieanalyse i SageMaker Canvas skal du også tilføje IAM-tillidspolitikken for Amazon Forecast.

Gennemgang af løsning

I dette blogindlæg demonstrerer vi, hvordan Terraform-løsningen implementeres. Før du udfører implementeringen, skal du sørge for at opfylde følgende forudsætninger:

Forudsætninger

  • En AWS-konto
  • En IAM-bruger med administrativ adgang

Implementeringstrin

For at give brugere, der følger denne vejledning, en samlet implementeringsoplevelse, demonstrerer vi implementeringsprocessen med AWS CloudShell. Ved at bruge CloudShell, en browserbaseret shell, kan du hurtigt køre scripts med AWS Command Line Interface (AWS CLI), eksperimentere med service-API'er ved hjælp af AWS CLI og bruge andre værktøjer til at øge din produktivitet.

Udfør følgende trin for at implementere Terraform-løsningen:

CloudShell-lanceringsindstillinger

  • Log ind på AWS Management Console, og vælg CloudShell-tjenesten.
  • Vælg i navigationslinjen i områdevælgeren US East (N. Virginia).

Din browser åbner CloudShell-terminalen.

Installer Terraform

De næste trin skal udføres i en CloudShell-terminal.

Check (Skak) denne Hashicorp-guide for opdaterede instruktioner til installation af Terraform til Amazon Linux:

  • Installer yum-config-manager at administrere dine depoter.
sudo yum install -y yum-utils

  • Brug yum-config-manager for at tilføje det officielle HashiCorp Linux-lager.
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.repo

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

  • Bekræft, at installationen fungerede ved at angive Terraforms tilgængelige underkommandoer.
terraform -help

Forventet output:

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

Klon koden repo

Udfør følgende trin i en CloudShell-terminal.

  • Klon repoen og naviger til sagemaker-domænet-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

  • Download auto-shutdown-udvidelsen og placer den i assets/auto_shutdown_template folder:
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

Kør følgende Terraform-kommandoer i CloudShell-terminalen:

terraform init

Du bør se en succesmeddelelse 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...

Nu kan du køre:

terraform plan

Når du er tilfreds med de ressourcer, planen skitserer, der skal oprettes, kan du køre:

terraform apply

Gå ind "Ja“ når du bliver bedt om at bekræfte implementeringen.

Hvis det lykkes at implementere, bør du se et output, der ser sådan ud:

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

Adgang til SageMaker Studio og Canvas

Vi har nu et Studio-domæne tilknyttet vores VPC og en brugerprofil på dette domæne.

sagemaker_domæne

For at bruge SageMaker Studio-konsollen skal du finde dit brugernavn i Studio Kontrolpanel (det burde være defaultuser) og vælg Åben Studio.

Vi klarede det! Nu kan du bruge din browser til at oprette forbindelse til SageMaker Studio-miljøet. Efter et par minutter afslutter Studio oprettelsen af ​​dit miljø, og du bliver mødt af startskærmen.

studio_landing_page

For at bruge SageMaker Canvas-konsollen skal du på Canvas Kontrolpanel finde dit brugernavn (skal være defaultuser) og vælg Åbn lærred.

Nu kan du bruge din browser til at oprette forbindelse til SageMaker Canvas-miljøet. Efter et par minutter afslutter Canvas oprettelsen af ​​dit miljø, og du bliver mødt af startskærmen.

canvas_landing_page

Du er velkommen til at udforske den fulde funktionalitet, SageMaker Studio og Canvas har at tilbyde! Se venligst afsnittet Konklusion for yderligere workshops og tutorials, du kan bruge til at lære mere om SageMaker.

Ryd op

Kør følgende kommando for at rydde op i dine ressourcer:

terraform destroy

Tip: Hvis du indstiller Amazon EFS-opbevaringspolitikken som "Retain" (standard), vil du støde på problemer under "terraform destroy” fordi Terraform forsøger at slette undernettene og VPC, når EFS-volumenet samt dets tilknyttede sikkerhedsgrupper (oprettet af SageMaker) stadig eksisterer. For at løse dette skal du først slette EFS-volumen manuelt og derefter slette undernettene og VPC manuelt i AWS-konsollen.

Konklusion

Løsningen i dette indlæg giver dig mulighed for at oprette et SageMaker Domain til at understøtte ML-miljøer, herunder SageMaker Studio og SageMaker Canvas med Terraform. SageMaker Studio leverer en fuldt administreret IDE, der fjerner de tunge løft i ML-processen. Med SageMaker Canvas kan vores forretningsbrugere nemt udforske og bygge ML-modeller for at lave præcise forudsigelser uden at skrive nogen kode. Med muligheden for at starte Studio og Canvas inde i en VPC og brugen af ​​en KMS-nøgle til at kryptere EFS-volumen, kan kunder bruge SageMaker ML-miljøer med forbedret sikkerhed. Auto shutdown Lifecycle Configuration hjælper kunder med at spare omkostninger på inaktive Studio-notebook-forekomster.

Prøv denne løsning og lad os vide, hvad du synes. For mere information om, hvordan du bruger SageMaker Studio og Sagemaker Canvas, se følgende:


Om forfatteren

chen_yang_awsChen Yang er Machine Learning Engineer hos Amazon Web Services. Hun er en del af AWS Professional Services-teamet og har fokuseret på at bygge sikre maskinlæringsmiljøer for kunderne. I sin fritid nyder hun at løbe og vandre i Pacific Northwest.

Tidsstempel:

Mere fra AWS maskinindlæring