Implementer RStudio på AWS-miljøet ditt og få tilgang til datasjøen ved å bruke AWS Lake Formation-tillatelser PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Implementer RStudio på AWS-miljøet ditt og få tilgang til datasjøen din ved å bruke AWS Lake Formation-tillatelser

R er et populært analytisk programmeringsspråk som brukes av dataforskere og analytikere for å utføre databehandling, utføre statistiske analyser, lage datavisualiseringer og bygge modeller for maskinlæring (ML). RStudio, det integrerte utviklingsmiljøet for R, gir åpen kildekode-verktøy og bedriftsklar profesjonell programvare for team å utvikle og dele arbeidet på tvers av organisasjonen Å bygge, sikre, skalere og vedlikeholde RStudio selv er imidlertid kjedelig og tungvint.

Implementering av RStudio-miljøet i AWS gir elastisitet og skalerbarhet som du ikke har når du distribuerer på stedet, og eliminerer behovet for å administrere den infrastrukturen. Du kan velge ønsket databehandling og minne basert på prosesseringskrav og kan også skalere opp eller ned for å jobbe med analytiske og ML-arbeidsbelastninger av forskjellige størrelser uten en forhåndsinvestering. Dette lar deg raskt eksperimentere med nye datakilder og kode, og rulle ut nye analyseprosesser og ML-modeller til resten av organisasjonen. Du kan også sømløst integrere Data Lake-ressursene dine for å gjøre dem tilgjengelige for utviklere og dataforskere og sikre dataene ved å bruke tilgangskontroller på rad- og kolonnenivå fra AWS Lake formasjon.

Dette innlegget presenterer to måter å enkelt distribuere og kjøre RStudio på AWS for å få tilgang til data som er lagret i datainnsjø:

  • Fullt klart på Amazon SageMaker
  • Selvvert på Amazon Elastic Compute Cloud (Amazon EC2)
    • Du kan velge å distribuere åpen kildekode-versjonen av RStudio ved å bruke en EC2-vertsbasert tilnærming som vi også vil beskrive i dette innlegget. Alternativet selvvert krever at administratoren oppretter en EC2-forekomst og installerer RStudio manuelt eller ved hjelp av en AWS skyformasjon Det er også mindre fleksibilitet for å implementere brukertilgangskontroller i dette alternativet siden alle brukere har samme tilgangsnivå i denne typen implementering.

RStudio på Amazon SageMaker

Du kan starte RStudio Workbench med et enkelt klikk fra SageMaker. Med SageMaker trenger ikke kunder å bære de operative kostnadene ved å bygge, installere, sikre, skalere og vedlikeholde RStudio, de trenger ikke betale for den kontinuerlig kjørende RStudio Server (hvis de bruker t3.medium) og de betaler kun for RSession compute når de bruker den. RStudio-brukere vil ha fleksibilitet til å dynamisk skalere databehandling ved å bytte instanser mens de er på farten. Å kjøre RStudio på SageMaker krever at en administrator oppretter et SageMaker-domene og tilhørende brukerprofiler. Du trenger også en passende RStudio-lisens

Innenfor SageMaker kan du gi tilgang på RStudio-administrator- og RStudio-brukernivå, med ulike tillatelser. Bare brukerprofiler tildelt en av disse to rollene kan få tilgang til RStudio i SageMaker. For mer informasjon om administratoroppgaver for å sette opp RStudio på SageMaker, se Kom i gang med RStudio på Amazon SageMaker. Det innlegget viser også prosessen med å velge EC2-forekomster for hver økt, og hvordan administratoren kan begrense EC2-forekomstalternativer for RStudio-brukere.

Fig1: Arkitekturdiagram som viser samspillet mellom ulike AWS-tjenester

Bruk Lake Formation sikkerhetstilgang på radnivå og kolonnenivå

I tillegg til å la teamet ditt starte RStudio-økter på SageMaker, kan du også sikre datasjøen ved å bruke tilgangskontroller på rad- og kolonnenivå fra Lake Formation. For mer informasjon, se Effektive datainnsjøer ved bruk av AWS Lake Formation, del 4: Implementering av sikkerhet på cellenivå og radnivå.

Gjennom Lake Formation sikkerhetskontroller kan du sørge for at hver person har rett tilgang til dataene i datasjøen. Vurder følgende to brukerprofiler i SageMaker-domenet, hver med en annen utførelsesrolle:

Brukerprofil Gjennomføringsrolle
rstudiouser-fullaccess AmazonSageMaker-ExecutionRole-FullAccess
rstudiouser-limitedaccess AmazonSageMaker-ExecutionRole-LimitedAccess

Følgende skjermbilde viser rstudiouser-limitedaccess profildetaljer.

Fig 2: Profildetaljer for rollen rstudiouser-limited access

Fig 2: Profildetaljer for rollen rstudiouser-limited access

Følgende skjermbilde viser rstudiouser-fullaccess profildetaljer.

Fig 3: Profildetaljer for rstudiouser-fullaccess-rollen

Fig 3: Profildetaljer for rstudiouser-fullaccess-rollen

Datasettet som brukes for dette innlegget er en COVID-19 offentlig datasett. Følgende skjermbilde viser et eksempel på dataene:

Fig4: COVID-19 Offentlig datasett

Fig4: COVID-19 Offentlig datasett

Etter at du har opprettet brukerprofilen og tilordnet den til riktig rolle, kan du få tilgang til Lake Formation for å gjennomsøke dataene med AWS Lim, opprett metadataene og tabellen, og gi tilgang til tabelldataene. For AmazonSageMaker-ExecutionRole-FullAccess rolle, gir du tilgang til alle kolonnene i tabellen, og for AmazonSageMaker-ExecutionRole-LimitedAccess, gir du tilgang ved hjelp av datafilteret USA_Filter. Vi bruker dette filteret for å gi kolonnetillatelser på radnivå og cellenivå (se Ressurs kolonne i følgende skjermbilde).

Fig5: AWS Lake Formation Tillatelser for AmazonSageMaker-ExecutionRole -Full/Begrenset tilgang roller

Fig5: AWS Lake Formation Tillatelser for AmazonSageMaker-ExecutionRole -Full/Begrenset tilgang roller

Som vist i følgende skjermbilde har den andre rollen begrenset tilgang. Brukere tilknyttet denne rollen kan bare få tilgang til continent, date, total_cases, total_deaths, new_cases, new_deathsog iso_codecolumns.

Fig6: Tillatelser på kolonnenivå for AWS Lake Formation for AmazonSageMaker-ExecutionRole-Limited Access-rollen

Fig6: Tillatelser på kolonnenivå for AWS Lake Formation for AmazonSageMaker-ExecutionRole-Limited Access-rollen

Med rolletillatelser knyttet til hver brukerprofil, kan vi se hvordan Lake Formation håndhever de riktige tillatelsene på rad- og kolonnenivå. Du kan åpne RStudio Workbench fra Start appen rullegardinmenyen i den opprettede brukerlisten, og velg RStudio.

I det følgende skjermbildet starter vi appen som rstudiouser-limitedaccess user.

Fig7: Lansering av RStudio-økt for rstudiouser-begrenset tilgangsbruker fra Amazon SageMaker Console

Fig7: Lansering av RStudio-økt for rstudiouser-begrenset tilgangsbruker fra Amazon SageMaker Console

Du kan se RStudio Workbench-hjemmesiden og en liste over økter, prosjekter og publisert innhold.

Fig8: R Studio Workbench-økt for rstudiouser-bruker med begrenset tilgang

Fig8: R Studio Workbench-økt for rstudiouser-bruker med begrenset tilgang

Velg et øktnavn for å starte økten i SageMaker. Installer Paws (se veiledning tidligere i dette innlegget) slik at du får tilgang til de riktige AWS-tjenestene. Nå kan du kjøre en spørring for å trekke alle feltene fra datasettet via Amazonas Athena, ved å bruke kommandoen “SELECT * FROM "databasename.tablename", og lagre spørringsutgangen i en Amazon enkel lagringstjeneste (Amazon S3) bøtte.

Fig9: Athena Query-kjøring i R Studio-økt

Fig9: Athena Query-kjøring i R Studio-økt

Følgende skjermbilde viser utdatafilene i S3-bøtten.

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

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

Følgende skjermbilde viser dataene i disse utdatafilene ved hjelp av Amazon S3 Velg.

Fig11: Gjennomgang av utdataene med Amazon S3 Select

Fig11: Gjennomgang av utdataene med Amazon S3 Select

Bare USA data og kolonner kontinent, dato, total_cases, total_deaths, new_cases, new_deathsog iso_code vises i resultatet for rstudiouser-limitedaccess bruker.

La oss gjenta de samme trinnene for rstudiouser-fullaccess bruker.

Fig12: Lansering av RStudio-økt for rstudiouser-bruker med full tilgang fra Amazon SageMaker Console

Fig12: Lansering av RStudio-økt for rstudiouser-bruker med full tilgang fra Amazon SageMaker Console

Du kan se RStudio Workbench-hjemmesiden og en liste over økter, prosjekter og publisert innhold.

Fig13: R Studio Workbench-økt for rstudiouser-bruker med full tilgang

Fig13: R Studio Workbench-økt for rstudiouser-bruker med full tilgang

La oss kjøre den samme spørringen “SELECT * FROM "databasename.tablename" bruker Athena.

Fig14: Athena Query-kjøring i R Studio-økt

Fig14: Athena Query-kjøring i R Studio-økt

Følgende skjermbilde viser utdatafilene i S3-bøtten.

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

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

Følgende skjermbilde viser dataene i disse utdatafilene ved hjelp av Amazon S3 Velg.

Fig16: Gjennomgang av utdataene med Amazon S3 Select

Fig16: Gjennomgang av utdataene med Amazon S3 Select

Som vist i dette eksempelet rstudiouser-fullaccess brukeren har tilgang til alle kolonnene og radene i datasettet.

Selvvert på Amazon EC2

Hvis du vil begynne å eksperimentere med RStudios åpen kildekode-versjon på AWS, kan du installere Rstudio på en EC2-instans. Denne CloudFormation-malen i dette innlegget inneholder EC2-forekomsten og installerer RStudio ved å bruke brukerdataskriptet. Du kan kjøre malen flere ganger for å klargjøre flere RStudio-forekomster etter behov, og du kan bruke den i en hvilken som helst AWS-region. Etter at du har implementert CloudFormation-malen, gir den deg en URL for å få tilgang til RStudio fra en nettleser. Amazon EC2 lar deg skalere opp eller ned for å håndtere endringer i datastørrelse og den nødvendige beregningskapasiteten for å kjøre analysene dine.

Opprett et nøkkelverdi-par for sikker tilgang

AWS bruker offentlig nøkkelkryptering for å sikre påloggingsinformasjonen for din EC2-instans. Du spesifiserer navnet på nøkkelparet i KeyPair parameter når du starter CloudFormation-malen. Deretter kan du bruke den samme nøkkelen til å logge på den klargjorte EC2-forekomsten senere om nødvendig.

Før du kjører CloudFormation-malen, sørg for at du har Amazon EC2-nøkkelparet i AWS-kontoen du planlegger å bruke. Hvis ikke, se Lag et nøkkelpar ved hjelp av Amazon EC2 for instruksjoner for å lage en.

Start CloudFormation-malenLogg på CloudFormation-konsollen i us-east-1 Region og velg Start stabel.

Start stabel-knapp

Du må angi flere parametere i CloudFormation-malen:

  • InitialUser og InitialPassword – Brukernavnet og passordet du bruker for å logge på RStudio-økten. Standardverdiene er rstudio og Rstudio@123Hhv.
  • InstanceType – EC2-forekomsttypen som RStudio-serveren skal distribueres på. Malen godtar for øyeblikket alle forekomster i forekomstfamiliene t2, m4, c4, r4, g2, p2 og g3, og kan enkelt inkorporere andre forekomstfamilier. Standardverdien er t2.micro.
  • Nøkkelpar – Nøkkelparet du bruker for å logge på EC2-forekomsten.
  • VpcId og SubnetId - Det Amazon Virtual Private Cloud (Amazon VPC) og subnett der forekomsten skal startes.

Når du har angitt disse parameterne, distribuerer du CloudFormation-malen. Når den er fullført, er følgende ressurser tilgjengelig:

  • En EC2-instans med RStudio installert på den.
  • En IAM-rolle med nødvendige tillatelser for å koble til andre AWS-tjenester.
  • En sikkerhetsgruppe med regler for å åpne port 8787 for RStudio-serveren.

Logg inn på RStudio

Nå er du klar til å bruke RStudio! Gå til Utganger fanen for CloudFormation-stakken og kopier RStudio URL-verdien (den er i formatet http://ec2-XX-XX-XXX-XX.compute-1.amazonaws.com:8787/). Skriv inn nettadressen i en nettleser. Dette åpner RStudio-økten din, som du kan logge på med samme brukernavn og passord som du oppga mens du kjørte CloudFormation-malen.

Få tilgang til AWS-tjenester fra RStudio

Etter at du har fått tilgang til RStudio-økten, bør du installere R-pakken for AWS (Paws). Dette lar deg koble til mange AWS-tjenester, inkludert tjenestene og ressursene i datasjøen. For å installere Paws, skriv inn og kjør følgende R-kode:

install.packages("paws")

For å bruke en AWS-tjeneste må du opprette en klient og få tilgang til tjenestens operasjoner fra den klienten. Når du får tilgang til AWS APIer, må du oppgi legitimasjon og region. Paws søker etter legitimasjonen og regionen ved å bruke AWS-autentiseringskjeden:

  • Eksplisitt gitt tilgangsnøkkel, hemmelig nøkkel, økttoken, profil eller region
  • R miljøvariabler
  • Operativsystemmiljøvariabler
  • AWS delte legitimasjon og konfigurasjonsfiler i .aws/credentials og .aws/config
  • Container IAM-rolle
  • Forekomst IAM-rolle

Fordi du kjører på en EC2-instans med en tilknyttet IAM-rolle, bruker Paws automatisk IAM-rollelegitimasjonen din til å autentisere AWS API-forespørsler.

# 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"

For produksjonsmiljø anbefaler vi å bruke den skalerbare Rstudio-løsningen som er skissert i denne bloggen.

konklusjonen

Du lærte hvordan du distribuerer RStudio-miljøet ditt i AWS. Vi demonstrerte fordelene ved å bruke RStudio på Amazon SageMaker og hvordan du kan komme i gang. Du lærte også hvordan du raskt kan begynne å eksperimentere med åpen kildekode-versjonen av RStudio ved å bruke en selvdrevet installasjon med Amazon EC2. Vi demonstrerte også hvordan du integrerer RStudio i datainnsjøarkitekturene dine og implementerer finmasket tilgangskontroll på en datainnsjøtabell ved å bruke sikkerhetsfunksjonen på radnivå og cellenivå i Lake Formation.

I vårt neste innlegg vil vi demonstrere hvordan du kan containerisere R-skript og kjøre dem ved hjelp av AWS Lambda.


Om forfatterne

Implementer RStudio på AWS-miljøet ditt og få tilgang til datasjøen ved å bruke AWS Lake Formation-tillatelser PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Venkata Kampana er en senior løsningsarkitekt i AWS Health and Human Services-teamet og er basert i Sacramento, CA. I den rollen hjelper han offentlige kunder med å nå sine misjonsmål med godt utformede løsninger på AWS.

Implementer RStudio på AWS-miljøet ditt og få tilgang til datasjøen ved å bruke AWS Lake Formation-tillatelser PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Dr. Dawn Heisey-Grove er leder for folkehelseanalyse for Amazon Web Services sitt statlige og lokale myndighetsteam. I denne rollen er hun ansvarlig for å hjelpe statlige og lokale folkehelsebyråer med å tenke kreativt om hvordan de kan nå sine analytiske utfordringer og langsiktige mål. Hun har brukt karrieren sin på å finne nye måter å bruke eksisterende eller nye data for å støtte folkehelseovervåking og forskning.

Tidstempel:

Mer fra AWS maskinlæring