Implementer RStudio på dit AWS-miljø og få adgang til din datasø ved hjælp af AWS Lake Formation-tilladelser PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Implementer RStudio på dit AWS-miljø og få adgang til din datasø ved hjælp af AWS Lake Formation-tilladelser

R er et populært analytisk programmeringssprog, der bruges af datavidenskabsmænd og analytikere til at udføre databehandling, udføre statistiske analyser, skabe datavisualiseringer og bygge modeller for maskinlæring (ML). RStudio, det integrerede udviklingsmiljø for R, leverer open source-værktøjer og virksomhedsklar professionel software, så teams kan udvikle og dele deres arbejde på tværs af deres organisation At bygge, sikre, skalere og vedligeholde RStudio selv er dog kedeligt og besværligt.

Implementering af RStudio-miljøet i AWS giver elasticitet og skalerbarhed, som du ikke har, når du implementerer on-prem, hvilket eliminerer behovet for at administrere denne infrastruktur. Du kan vælge den ønskede computer og hukommelse baseret på behandlingskrav og kan også skalere op eller ned for at arbejde med analytiske og ML-arbejdsbelastninger af forskellige størrelser uden forudgående investering. Dette giver dig mulighed for hurtigt at eksperimentere med nye datakilder og kode og udrulle nye analyseprocesser og ML-modeller til resten af ​​organisationen. Du kan også problemfrit integrere dine Data Lake-ressourcer for at gøre dem tilgængelige for udviklere og dataforskere og sikre dataene ved at bruge adgangskontrol på række- og kolonneniveau fra AWS søformation.

Dette indlæg præsenterer to måder til nemt at implementere og køre RStudio på AWS for at få adgang til data gemt i datasø:

  • Fuldt styret videre Amazon SageMaker
  • Selvvært på Amazon Elastic Compute Cloud (Amazon EC2)
    • Du kan vælge at implementere open source-versionen af ​​RStudio ved hjælp af en EC2-hostet tilgang, som vi også vil beskrive i dette indlæg. Den selv-hostede mulighed kræver, at administratoren opretter en EC2-instans og installerer RStudio manuelt eller ved hjælp af en AWS CloudFormation Der er også mindre fleksibilitet til at implementere brugeradgangskontroller i denne mulighed, da alle brugere har det samme adgangsniveau i denne type implementering.

RStudio på Amazon SageMaker

Du kan starte RStudio Workbench med et enkelt klik fra SageMaker. Med SageMaker behøver kunderne ikke at bære de operationelle omkostninger ved at bygge, installere, sikre, skalere og vedligeholde RStudio, de skal ikke betale for den kontinuerligt kørende RStudio Server (hvis de bruger t3.medium), og de betaler kun til RSession compute, når de bruger det. RStudio-brugere vil have fleksibilitet til dynamisk at skalere beregning ved at skifte instanser på farten. At køre RStudio på SageMaker kræver, at en administrator etablerer et SageMaker-domæne og tilhørende brugerprofiler. Du skal også have en passende RStudio-licens

Indenfor SageMaker kan du give adgang på RStudio-administrator- og RStudio-brugerniveau med forskellige tilladelser. Kun brugerprofiler tildelt en af ​​disse to roller kan få adgang til RStudio i SageMaker. For mere information om administratoropgaver til opsætning af RStudio på SageMaker, se Kom godt i gang med RStudio på Amazon SageMaker. Dette indlæg viser også processen med at vælge EC2-forekomster for hver session, og hvordan administratoren kan begrænse EC2-forekomstindstillinger for RStudio-brugere.

Fig1: Arkitekturdiagram, der viser interaktionen mellem forskellige AWS-tjenester

Brug Lake Formation sikkerhedsadgang på række- og kolonneniveau

Ud over at give dit team mulighed for at starte RStudio-sessioner på SageMaker, kan du også sikre datasøen ved at bruge adgangskontroller på række- og kolonneniveau fra Lake Formation. For mere information, se Effektive datasøer ved hjælp af AWS Lake Formation, del 4: Implementering af sikkerhed på celleniveau og rækkeniveau.

Gennem Lake Formations sikkerhedskontroller kan du sikre dig, at hver person har den rette adgang til dataene i datasøen. Overvej følgende to brugerprofiler i SageMaker-domænet, hver med en forskellig udførelsesrolle:

Bruger Profil Udførelsesrolle
rstudiouser-fullaccess AmazonSageMaker-ExecutionRole-FullAccess
rstudiouser-limitedaccess AmazonSageMaker-ExecutionRole-LimitedAccess

Følgende skærmbillede viser rstudiouser-limitedaccess profiloplysninger.

Fig. 2: Profildetaljer for rollen rstudiouser-limited access

Fig. 2: Profildetaljer for rollen rstudiouser-limited access

Følgende skærmbillede viser rstudiouser-fullaccess profiloplysninger.

Fig. 3: Profildetaljer for rollen rstudiouser-fullaccess

Fig. 3: Profildetaljer for rollen rstudiouser-fullaccess

Datasættet brugt til dette indlæg er en COVID-19 offentligt datasæt. Følgende skærmbillede viser et eksempel på dataene:

Fig4: COVID-19 Offentligt datasæt

Fig4: COVID-19 Offentligt datasæt

Når du har oprettet brugerprofilen og tildelt den den relevante rolle, kan du få adgang til Lake Formation til at gennemgå dataene med AWS Lim, opret metadata og tabel, og giv adgang til tabeldataene. For AmazonSageMaker-ExecutionRole-FullAccess rolle, giver du adgang til alle kolonnerne i tabellen og til AmazonSageMaker-ExecutionRole-LimitedAccess, giver du adgang ved hjælp af datafilteret USA_Filter. Vi bruger dette filter til at give kolonnetilladelser på række- og celleniveau (se Resource kolonne i det følgende skærmbillede).

Fig5: AWS Lake Formation Permissions for AmazonSageMaker-ExecutionRole -Fuld/Limited Access roller

Fig5: AWS Lake Formation Permissions for AmazonSageMaker-ExecutionRole -Fuld/Limited Access roller

Som vist på det følgende skærmbillede har den anden rolle begrænset adgang. Brugere tilknyttet denne rolle kan kun få adgang til continent, date, total_cases, total_deaths, new_cases, new_deathsog iso_codecolumns.

Fig6: AWS Lake Formation Kolonne-tilladelser for AmazonSageMaker-ExecutionRole-Limited Access-rollen

Fig6: AWS Lake Formation Kolonne-tilladelser for AmazonSageMaker-ExecutionRole-Limited Access-rollen

Med rolletilladelser knyttet til hver brugerprofil kan vi se, hvordan Lake Formation håndhæver de relevante tilladelser på række- og kolonneniveau. Du kan åbne RStudio Workbench fra Start app rullemenuen i den oprettede brugerliste, og vælg RStudio.

I det følgende skærmbillede starter vi appen som rstudiouser-limitedaccess user.

Fig7: Lancering af RStudio-session for rstudiobruger-begrænset adgangsbruger fra Amazon SageMaker Console

Fig7: Lancering af RStudio-session for rstudiobruger-begrænset adgangsbruger fra Amazon SageMaker Console

Du kan se RStudio Workbench-hjemmesiden og en liste over sessioner, projekter og offentliggjort indhold.

Fig8: R Studio Workbench-session for rstudiouser-bruger med begrænset adgang

Fig8: R Studio Workbench-session for rstudiouser-bruger med begrænset adgang

Vælg et sessionsnavn for at starte sessionen i SageMaker. Installer Paws (se vejledning tidligere i dette indlæg), så du kan få adgang til de relevante AWS-tjenester. Nu kan du køre en forespørgsel for at trække alle felterne fra datasættet via Amazonas Athena, ved hjælp af kommandoen “SELECT * FROM "databasename.tablename", og gem forespørgselsoutputtet i en Amazon Simple Storage Service (Amazon S3) spand.

Fig 9: Athena Query udførelse i R Studio session

Fig 9: Athena Query udførelse i R Studio session

Følgende skærmbillede viser outputfilerne i S3-bøtten.

Fig10: Athena Query-udførelse resulterer i Amazon S3 Bucket

Fig10: Athena Query-udførelse resulterer i Amazon S3 Bucket

Følgende skærmbillede viser dataene i disse outputfiler ved hjælp af Amazon S3 Vælg.

Fig11: Gennemgang af outputdata ved hjælp af Amazon S3 Select

Fig11: Gennemgang af outputdata ved hjælp af Amazon S3 Select

Kun USA data og kolonner kontinent, dato, total_cases, total_deaths, new_cases, new_deathsog iso_code er vist i resultatet for rstudiouser-limitedaccess bruger.

Lad os gentage de samme trin for rstudiouser-fullaccess bruger.

Fig12: Start af RStudio-session for rstudiouser-bruger med fuld adgang fra Amazon SageMaker Console

Fig12: Start af RStudio-session for rstudiouser-bruger med fuld adgang fra Amazon SageMaker Console

Du kan se RStudio Workbench-hjemmesiden og en liste over sessioner, projekter og offentliggjort indhold.

Fig13: R Studio Workbench-session for rstudiouser-bruger med fuld adgang

Fig13: R Studio Workbench-session for rstudiouser-bruger med fuld adgang

Lad os køre den samme forespørgsel “SELECT * FROM "databasename.tablename" ved hjælp af Athena.

Fig 14: Athena Query udførelse i R Studio session

Fig 14: Athena Query udførelse i R Studio session

Følgende skærmbillede viser outputfilerne i S3-bøtten.

Fig15: Athena Query-udførelse resulterer i Amazon S3 Bucket

Fig15: Athena Query-udførelse resulterer i Amazon S3 Bucket

Følgende skærmbillede viser dataene i disse outputfiler ved hjælp af Amazon S3 Vælg.

Fig16: Gennemgang af outputdata ved hjælp af Amazon S3 Select

Fig16: Gennemgang af outputdata ved hjælp af Amazon S3 Select

Som vist i dette eksempel er rstudiouser-fullaccess brugeren har adgang til alle kolonner og rækker i datasættet.

Selvvært på Amazon EC2

Hvis du vil begynde at eksperimentere med RStudios open source-version på AWS, kan du installere Rstudio på en EC2-instans. Denne CloudFormation-skabelon leveret i dette indlæg leverer EC2-instansen og installerer RStudio ved hjælp af brugerdatascriptet. Du kan køre skabelonen flere gange for at klargøre flere RStudio-instanser efter behov, og du kan bruge den i enhver AWS-region. Når du har implementeret CloudFormation-skabelonen, giver den dig en URL for at få adgang til RStudio fra en webbrowser. Amazon EC2 giver dig mulighed for at skalere op eller ned for at håndtere ændringer i datastørrelse og den nødvendige beregningskapacitet til at køre dine analyser.

Opret et nøgle-værdi-par for sikker adgang

AWS bruger offentlig nøglekryptering til at sikre loginoplysningerne til din EC2-instans. Du angiver navnet på nøgleparret i KeyPair parameter, når du starter CloudFormation-skabelonen. Så kan du bruge den samme nøgle til at logge ind på den klargjorte EC2-instans senere, hvis det er nødvendigt.

Før du kører CloudFormation-skabelonen, skal du sørge for, at du har Amazon EC2-nøgleparret på den AWS-konto, som du planlægger at bruge. Hvis ikke, så henvises til Opret et nøglepar ved hjælp af Amazon EC2 for instruktioner til at oprette en.

Start CloudFormation-skabelonenLog ind på CloudFormation-konsollen i us-east-1 Region og vælg Start stak.

Start stak-knap

Du skal indtaste flere parametre i CloudFormation-skabelonen:

  • InitialUser og InitialPassword – Brugernavnet og adgangskoden, som du bruger til at logge på RStudio-sessionen. Standardværdierne er rstudio , Rstudio@123, henholdsvis.
  • InstanceType – EC2-instanstypen, som RStudio-serveren skal installeres på. Skabelonen accepterer i øjeblikket alle instanser i t2-, m4-, c4-, r4-, g2-, p2- og g3-instansfamilierne og kan nemt inkorporere andre instansfamilier. Standardværdien er t2.micro.
  • Nøglepar – Nøgleparret, du bruger til at logge på EC2-instansen.
  • VpcId og SubnetId - Den Amazon Virtual Private Cloud (Amazon VPC) og undernet, hvor instansen skal startes.

Når du har indtastet disse parametre, skal du implementere CloudFormation-skabelonen. Når det er færdigt, er følgende ressourcer tilgængelige:

  • En EC2-instans med RStudio installeret på den.
  • En IAM-rolle med nødvendige tilladelser til at oprette forbindelse til andre AWS-tjenester.
  • En sikkerhedsgruppe med regler for at åbne port 8787 til RStudio-serveren.

Log ind på RStudio

Nu er du klar til at bruge RStudio! Gå til Udgange fanen for CloudFormation-stakken og kopier RStudio URL-værdien (den er i formatet http://ec2-XX-XX-XXX-XX.compute-1.amazonaws.com:8787/). Indtast denne URL i en webbrowser. Dette åbner din RStudio-session, som du kan logge ind på med det samme brugernavn og kodeord, som du angav, mens du kørte CloudFormation-skabelonen.

Få adgang til AWS-tjenester fra RStudio

Når du har adgang til RStudio-sessionen, skal du installere R-pakken til AWS (Paws). Dette lader dig oprette forbindelse til mange AWS-tjenester, inklusive tjenesterne og ressourcerne i din datasø. For at installere Paws skal du indtaste og køre følgende R-kode:

install.packages("paws")

For at bruge en AWS-tjeneste skal du oprette en klient og få adgang til tjenestens operationer fra den klient. Når du tilgår AWS API'er, skal du angive dine legitimationsoplysninger og region. Paws søger efter legitimationsoplysningerne og regionen ved hjælp af AWS-godkendelseskæden:

  • Eksplicit givet adgangsnøgle, hemmelig nøgle, sessionstoken, profil eller region
  • R miljøvariabler
  • Operativsystems miljøvariabler
  • AWS delte legitimationsoplysninger og konfigurationsfiler i .aws/credentials , .aws/config
  • Container IAM-rolle
  • Eksempel IAM-rolle

Fordi du kører på en EC2-instans med en tilknyttet IAM-rolle, bruger Paws automatisk dine IAM-rolleoplysninger til at godkende AWS API-anmodninger.

# To interact with an Amazon S3 service, first create an S3 client then list the objects within your bucket by invoking: rstudio-XXXXXXXXXX
s3 <- paws::s3(config = list(region = 'us-east-1'))s3$list_objects(Bucket = "rstudio-XXXXXXXXXX")
# Let’s see how we can interactively query data from your data lake using Amazon Athena.
athena <- paws::athena(config = list(region = 'us-east-1'))
athena$start_query_execution(QueryString = "SELECT * FROM "databasename.tablename" limit 10;",QueryExecutionContext = list(Database = "databasename", Catalog = "catalogname"),ResultConfiguration = list(OutputLocation = "S3 Bucket",EncryptionConfiguration = list(EncryptionOption = "SSE_S3")), WorkGroup = "workgroup name")
$QueryExecutionId[1] 
"17ccec8a-d196-4b4c-b31c-314fab8939f3"

Til produktionsmiljø anbefaler vi at bruge den skalerbare Rstudio-løsning, der er beskrevet i denne blog.

Konklusion

Du lærte, hvordan du implementerer dit RStudio-miljø i AWS. Vi demonstrerede fordelene ved at bruge RStudio på Amazon SageMaker, og hvordan du kan komme i gang. Du lærte også, hvordan du hurtigt begynder at eksperimentere med open source-versionen af ​​RStudio ved hjælp af en selv-hostet installation ved hjælp af Amazon EC2. Vi demonstrerede også, hvordan du integrerer RStudio i dine datasø-arkitekturer og implementerer finmasket adgangskontrol på en datasø-tabel ved hjælp af sikkerhedsfunktionen på række- og celleniveau i Lake Formation.

I vores næste indlæg vil vi demonstrere, hvordan man containeriserer R-scripts og kører dem ved hjælp af AWS Lambda.


Om forfatterne

Implementer RStudio på dit AWS-miljø og få adgang til din datasø ved hjælp af AWS Lake Formation-tilladelser PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Venkata Kampana er Senior Solutions Architect i AWS Health and Human Services-teamet og er baseret i Sacramento, CA. I den rolle hjælper han offentlige kunder med at nå deres missionsmål med veldesignede løsninger på AWS.

Implementer RStudio på dit AWS-miljø og få adgang til din datasø ved hjælp af AWS Lake Formation-tilladelser PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Dr. Dawn Heisey-Grove er leder for folkesundhedsanalyse for Amazon Web Services' statslige og lokale regeringsteam. I denne rolle er hun ansvarlig for at hjælpe statslige og lokale offentlige sundhedsagenturer med at tænke kreativt over, hvordan de kan nå deres analytiske udfordringer og langsigtede mål. Hun har brugt sin karriere på at finde nye måder at bruge eksisterende eller nye data til at understøtte folkesundhedsovervågning og forskning.

Tidsstempel:

Mere fra AWS maskinindlæring