Implementați RStudio în mediul dvs. AWS și accesați lacul de date folosind permisiunile AWS Lake Formation PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Implementați RStudio în mediul dvs. AWS și accesați lacul de date folosind permisiunile AWS Lake Formation

R este un limbaj de programare analitic popular folosit de oamenii de știință de date și analiști pentru a efectua procesarea datelor, a efectua analize statistice, a crea vizualizări de date și a construi modele de învățare automată (ML). RStudio, mediul de dezvoltare integrat pentru R, oferă instrumente open-source și software profesional pregătit pentru întreprindere pentru ca echipele să își dezvolte și să-și partajeze munca în organizația lor. Construirea, securizarea, scalarea și întreținerea RStudio este, totuși, plictisitoare și greoaie.

Implementarea mediului RStudio în AWS oferă elasticitate și scalabilitate pe care nu le aveți atunci când implementați on-prem, eliminând nevoia de a gestiona infrastructura respectivă. Puteți selecta calculul și memoria dorite pe baza cerințelor de procesare și, de asemenea, puteți crește sau reduce pentru a lucra cu sarcini de lucru analitice și ML de diferite dimensiuni, fără o investiție în avans. Acest lucru vă permite să experimentați rapid cu noi surse de date și cod și să implementați noi procese de analiză și modele ML pentru restul organizației. De asemenea, puteți integra fără probleme resursele Data Lake pentru a le pune la dispoziția dezvoltatorilor și a oamenilor de știință ai datelor și a securiza datele utilizând controalele de acces la nivel de rând și la nivel de coloană de la Formația lacului AWS.

Această postare prezintă două moduri de a implementa și rula cu ușurință RStudio pe AWS pentru a accesa datele stocate în lacul de date:

  • Pe deplin gestionat Amazon SageMaker
  • Auto-găzduit pe Cloud Elastic de calcul Amazon (Amazon EC2)
    • Puteți alege să implementați versiunea open-source a RStudio folosind o abordare găzduită EC2 pe care o vom descrie și în această postare. Opțiunea auto-găzduită necesită administratorului să creeze o instanță EC2 și să instaleze RStudio manual sau folosind un Formarea AWS Cloud Există, de asemenea, mai puțină flexibilitate pentru implementarea controalelor de acces utilizator în această opțiune, deoarece toți utilizatorii au același nivel de acces în acest tip de implementare.

RStudio pe Amazon SageMaker

Puteți lansa RStudio Workbench cu un simplu clic din SageMaker. Cu clienții SageMaker nu trebuie să suporte costurile operaționale de construire, instalare, securizare, scalare și întreținere RStudio, nu trebuie să plătească pentru serverul RStudio care rulează continuu (dacă folosesc t3.medium) și plătesc doar pentru RSession calculează atunci când îl folosesc. Utilizatorii RStudio vor avea flexibilitate pentru a scala dinamic calculul prin comutarea instantelor din mers. Rularea RStudio pe SageMaker necesită ca un administrator să stabilească un domeniu SageMaker și profilurile de utilizator asociate. De asemenea, aveți nevoie de o licență RStudio corespunzătoare

În SageMaker, puteți acorda acces la nivel de administrator RStudio și utilizator RStudio, cu permisiuni diferite. Numai profilurile de utilizator cărora li se acordă unul dintre aceste două roluri pot accesa RStudio în SageMaker. Pentru mai multe informații despre sarcinile de administrator pentru configurarea RStudio pe SageMaker, consultați Începeți cu RStudio pe Amazon SageMaker. Această postare arată, de asemenea, procesul de selectare a instanțelor EC2 pentru fiecare sesiune și modul în care administratorul poate restricționa opțiunile de instanță EC2 pentru utilizatorii RStudio.

Fig1: Diagrama arhitecturii care arată interacțiunea diferitelor servicii AWS

Utilizați accesul de securitate la nivel de rând și la nivel de coloană Lake Formation

Pe lângă faptul că permiteți echipei dvs. să lanseze sesiuni RStudio pe SageMaker, puteți, de asemenea, să securizați lacul de date utilizând controalele de acces la nivel de rând și la nivel de coloană din Lake Formation. Pentru mai multe informații, consultați Lacuri de date eficiente folosind AWS Lake Formation, Partea 4: Implementarea securității la nivel de celulă și la nivel de rând.

Prin controalele de securitate Lake Formation, vă puteți asigura că fiecare persoană are acces corect la datele din lacul de date. Luați în considerare următoarele două profiluri de utilizator din domeniul SageMaker, fiecare cu un rol de execuție diferit:

Profil utilizator Rolul de execuție
rstudiouser-fullaccess AmazonSageMaker-ExecutionRole-FullAccess
rstudiouser-limitedaccess AmazonSageMaker-ExecutionRole-LimitedAccess

Următoarea captură de ecran arată ecranul rstudiouser-limitedaccess detaliile profilului.

Fig 2: Detaliile profilului rolului rstudiouser-limitedaccess

Fig 2: Detaliile profilului rolului rstudiouser-limitedaccess

Următoarea captură de ecran arată ecranul rstudiouser-fullaccess detaliile profilului.

Fig 3: Detaliile profilului rolului rstudiouser-fullaccess

Fig 3: Detaliile profilului rolului rstudiouser-fullaccess

Setul de date folosit pentru această postare este a Setul de date publice COVID-19. Următoarea captură de ecran arată un exemplu de date:

Fig4: Set de date publice COVID-19

Fig4: Set de date publice COVID-19

După ce creați profilul de utilizator și îl atribuiți rolului corespunzător, puteți accesa Lake Formation pentru a accesa cu crawlere datele AWS Adeziv, creați metadatele și tabelul și acordați acces la datele din tabel. Pentru AmazonSageMaker-ExecutionRole-FullAccess rol, acordați acces la toate coloanele din tabel și pentru AmazonSageMaker-ExecutionRole-LimitedAccess, acordați acces folosind filtrul de date USA_Filter. Folosim acest filtru pentru a oferi permisiuni la nivel de rând și de coloană la nivel de celulă (a se vedea Resursă coloana din următoarea captură de ecran).

Fig5: Permisiuni de formare AWS Lake pentru AmazonSageMaker-ExecutionRole -roluri cu acces complet/limitat

Fig5: Permisiuni de formare AWS Lake pentru AmazonSageMaker-ExecutionRole -roluri cu acces complet/limitat

După cum se arată în următoarea captură de ecran, al doilea rol are acces limitat. Utilizatorii asociați cu acest rol pot accesa numai continent, date, total_cases, total_deaths, new_cases, new_deaths, și iso_codecolumns.

Fig6: Permisiuni AWS Lake Formation la nivel de coloană pentru rolul AmazonSageMaker-ExecutionRole-Limited Access

Fig6: Permisiuni AWS Lake Formation la nivel de coloană pentru rolul AmazonSageMaker-ExecutionRole-Limited Access

Cu permisiunile de rol atașate fiecărui profil de utilizator, putem vedea cum Lake Formation aplică permisiunile adecvate la nivel de rând și la nivel de coloană. Puteți deschide RStudio Workbench din Lansați aplicația meniul derulant din lista de utilizatori creată și alegeți RStudio.

În următoarea captură de ecran, lansăm aplicația ca rstudiouser-limitedaccess user.

Fig7: Lansarea sesiunii RStudio pentru utilizatorul rstudiouser-limitedaccess din Consola Amazon SageMaker

Fig7: Lansarea sesiunii RStudio pentru utilizatorul rstudiouser-limitedaccess din Consola Amazon SageMaker

Puteți vedea pagina de pornire RStudio Workbench și o listă de sesiuni, proiecte și conținut publicat.

Fig8: Sesiune R Studio Workbench pentru utilizatorul rstudiouser cu acces limitat

Fig8: Sesiune R Studio Workbench pentru utilizatorul rstudiouser cu acces limitat

Alegeți un nume de sesiune pentru a începe sesiunea în SageMaker. Instalați Paws (consultați îndrumările mai devreme în această postare) astfel încât să puteți accesa serviciile AWS corespunzătoare. Acum puteți rula o interogare pentru a extrage toate câmpurile din setul de date prin Amazon Atena, folosind comanda “SELECT * FROM "databasename.tablename", și stocați rezultatul interogării într-un Serviciul Amazon de stocare simplă Găleată (Amazon S3)

Fig9: Execuția Athena Query în sesiunea R Studio

Fig9: Execuția Athena Query în sesiunea R Studio

Următoarea captură de ecran arată fișierele de ieșire din compartimentul S3.

Fig10: Rezultatele execuției Athena Query în Amazon S3 Bucket

Fig10: Rezultatele execuției Athena Query în Amazon S3 Bucket

Următoarea captură de ecran arată datele din aceste fișiere de ieșire folosind Amazon S3 Select.

Fig11: Revizuirea datelor de ieșire folosind Amazon S3 Select

Fig11: Revizuirea datelor de ieșire folosind Amazon S3 Select

Numai datele și coloanele SUA continent, data, total_cases, total_deaths, new_cases, new_deaths, și iso_code sunt afișate în rezultat pentru rstudiouser-limitedaccess utilizator.

Să repetăm ​​aceiași pași pentru rstudiouser-fullaccess utilizator.

Fig12: Lansarea sesiunii RStudio pentru utilizatorul rstudiouser-fullaccess din Consola Amazon SageMaker

Fig12: Lansarea sesiunii RStudio pentru utilizatorul rstudiouser-fullaccess din Consola Amazon SageMaker

Puteți vedea pagina de pornire RStudio Workbench și o listă de sesiuni, proiecte și conținut publicat.

Fig13: Sesiune R Studio Workbench pentru utilizatorul rstudiouser-fullaccess

Fig13: Sesiune R Studio Workbench pentru utilizatorul rstudiouser-fullaccess

Să rulăm aceeași interogare “SELECT * FROM "databasename.tablename" folosind Athena.

Fig14: Execuția Athena Query în sesiunea R Studio

Fig14: Execuția Athena Query în sesiunea R Studio

Următoarea captură de ecran arată fișierele de ieșire din compartimentul S3.

Fig15: Rezultatele execuției Athena Query în Amazon S3 Bucket

Fig15: Rezultatele execuției Athena Query în Amazon S3 Bucket

Următoarea captură de ecran arată datele din aceste fișiere de ieșire folosind Amazon S3 Select.

Fig16: Revizuirea datelor de ieșire folosind Amazon S3 Select

Fig16: Revizuirea datelor de ieșire folosind Amazon S3 Select

După cum se arată în acest exemplu, rstudiouser-fullaccess utilizatorul are acces la toate coloanele și rândurile din setul de date.

Auto-găzduit pe Amazon EC2

Dacă doriți să începeți să experimentați cu versiunea open-source a RStudio pe AWS, puteți instala Rstudio pe o instanță EC2. Acest șablon CloudFormation furnizat în această postare furnizează instanța EC2 și instalează RStudio folosind scriptul de date utilizator. Puteți rula șablonul de mai multe ori pentru a furniza mai multe instanțe RStudio după cum este necesar și îl puteți utiliza în orice regiune AWS. După ce implementați șablonul CloudFormation, acesta vă oferă o adresă URL pentru a accesa RStudio dintr-un browser web. Amazon EC2 vă permite să creșteți sau să reduceți pentru a gestiona modificările dimensiunii datelor și capacitatea de calcul necesară pentru a vă rula analizele.

Creați o pereche cheie-valoare pentru acces securizat

AWS utilizează criptografia cu cheie publică pentru a securiza informațiile de conectare pentru instanța dvs. EC2. Specificați numele perechii de chei în KeyPair parametru atunci când lansați șablonul CloudFormation. Apoi, puteți utiliza aceeași cheie pentru a vă conecta la instanța EC2 furnizată mai târziu, dacă este necesar.

Înainte de a rula șablonul CloudFormation, asigurați-vă că aveți perechea de chei Amazon EC2 în contul AWS pe care intenționați să-l utilizați. Dacă nu, atunci consultați Creați o pereche de chei folosind Amazon EC2 pentru instrucțiuni pentru a crea unul.

Lansați șablonul CloudFormationConectați-vă la consola CloudFormation în us-east-1 Regiune și alegeți Lansare stivă.

Butonul de lansare a stivei

Trebuie să introduceți mai mulți parametri în șablonul CloudFormation:

  • InitialUser și InitialPassword – Numele de utilizator și parola pe care le utilizați pentru a vă conecta la sesiunea RStudio. Valorile implicite sunt rstudio și Rstudio@123, respectiv.
  • InstanceType – Tipul de instanță EC2 pe care să implementați serverul RStudio. Șablonul acceptă în prezent toate instanțele din familiile de instanțe t2, m4, c4, r4, g2, p2 și g3 și poate încorpora cu ușurință alte familii de instanțe. Valoarea implicită este t2.micro.
  • Pereche de chei – Perechea de chei pe care o utilizați pentru a vă conecta la instanța EC2.
  • VpcId și SubnetId - Amazon Virtual Private Cloud (Amazon VPC) și subrețeaua în care să lansați instanța.

După ce introduceți acești parametri, implementați șablonul CloudFormation. Când este finalizată, sunt disponibile următoarele resurse:

  • O instanță EC2 cu RStudio instalat pe ea.
  • Un rol IAM cu permisiunile necesare pentru a se conecta la alte servicii AWS.
  • Un grup de securitate cu reguli pentru a deschide portul 8787 pentru serverul RStudio.

Conectați-vă la RStudio

Acum sunteți gata să utilizați RStudio! Du-te la ieşiri pentru stiva CloudFormation și copiați valoarea URL a RStudio (este în formatul http://ec2-XX-XX-XXX-XX.compute-1.amazonaws.com:8787/). Introduceți acea adresă URL într-un browser web. Aceasta deschide sesiunea dvs. RStudio, la care vă puteți conecta folosind același nume de utilizator și parolă pe care le-ați furnizat în timp ce rulați șablonul CloudFormation.

Accesați serviciile AWS din RStudio

După ce accesați sesiunea RStudio, ar trebui să instalați pachetul R pentru AWS (Paws). Acest lucru vă permite să vă conectați la multe servicii AWS, inclusiv la serviciile și resursele din lacul dvs. de date. Pentru a instala Paws, introduceți și rulați următorul cod R:

install.packages("paws")

Pentru a utiliza un serviciu AWS, creați un client și accesați operațiunile serviciului de la acel client. Când accesați API-urile AWS, trebuie să furnizați acreditările și regiunea. Paws caută acreditările și regiunea folosind lanțul de autentificare AWS:

  • Cheie de acces, cheie secretă, simbol de sesiune, profil sau Regiune furnizate în mod explicit
  • R variabile de mediu
  • Variabilele de mediu ale sistemului de operare
  • AWS a partajat acreditările și fișierele de configurare în .aws/credentials și .aws/config
  • Rolul IAM container
  • Rolul IAM al instanței

Deoarece rulați pe o instanță EC2 cu un rol IAM atașat, Paws utilizează automat acreditările rolului dvs. IAM pentru a autentifica solicitările AWS API.

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

Pentru mediul de producție, vă recomandăm să utilizați soluția scalabilă Rstudio prezentată în acest blog.

Concluzie

Ați învățat cum să vă implementați mediul RStudio în AWS. Am demonstrat avantajele utilizării RStudio pe Amazon SageMaker și cum puteți începe. Ați învățat, de asemenea, cum să începeți rapid să experimentați cu versiunea open-source a RStudio folosind o instalare găzduită automat folosind Amazon EC2. De asemenea, am demonstrat cum să integrați RStudio în arhitecturile dvs. de lac de date și să implementați controlul de acces fin pe un tabel de lac de date folosind caracteristica de securitate la nivel de rând și la nivel de celulă a Lake Formation.

În următoarea noastră postare, vom demonstra cum să containerizam scripturile R și să le rulăm folosind AWS Lambdas.


Despre autori

Implementați RStudio în mediul dvs. AWS și accesați lacul de date folosind permisiunile AWS Lake Formation PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Venkata Kampana este arhitect senior de soluții în echipa AWS Health and Human Services și are sediul în Sacramento, CA. În acest rol, el îi ajută pe clienții din sectorul public să-și atingă obiectivele misiunii cu soluții bine proiectate pe AWS.

Implementați RStudio în mediul dvs. AWS și accesați lacul de date folosind permisiunile AWS Lake Formation PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Dr. Dawn Heisey-Grove este liderul analizelor de sănătate publică pentru echipa administrației publice locale și de stat a Amazon Web Services. În acest rol, ea este responsabilă pentru a ajuta agențiile de sănătate publică de stat și locale să gândească creativ cum să-și atingă provocările de analiză și obiectivele pe termen lung. Și-a petrecut cariera găsind noi modalități de a utiliza datele existente sau noi pentru a sprijini supravegherea și cercetarea în domeniul sănătății publice.

Timestamp-ul:

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