Implementeer RStudio in uw AWS-omgeving en krijg toegang tot uw data lake met behulp van AWS Lake Formation-machtigingen PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Implementeer RStudio in uw AWS-omgeving en krijg toegang tot uw datameer met AWS Lake Formation-machtigingen

R is een populaire analytische programmeertaal die door datawetenschappers en analisten wordt gebruikt om gegevensverwerking uit te voeren, statistische analyses uit te voeren, gegevensvisualisaties te maken en modellen voor machine learning (ML) te bouwen. RStudio, de geïntegreerde ontwikkelomgeving voor R, biedt open-source tools en bedrijfsklare professionele software waarmee teams hun werk kunnen ontwikkelen en delen binnen hun organisatie. Het zelf bouwen, beveiligen, schalen en onderhouden van RStudio is echter vervelend en omslachtig.

Het implementeren van de RStudio-omgeving in AWS biedt elasticiteit en schaalbaarheid die u niet hebt bij implementatie op locatie, waardoor het beheer van die infrastructuur overbodig wordt. U kunt de gewenste rekenkracht en het gewenste geheugen selecteren op basis van verwerkingsvereisten en u kunt ook omhoog of omlaag schalen om te werken met analytische en ML-workloads van verschillende groottes zonder een investering vooraf. Hierdoor kunt u snel experimenteren met nieuwe gegevensbronnen en code, en nieuwe analyseprocessen en ML-modellen uitrollen naar de rest van de organisatie. U kunt uw Data Lake-resources ook naadloos integreren om ze beschikbaar te maken voor ontwikkelaars en datawetenschappers en de gegevens beveiligen met toegangscontroles op rij- en kolomniveau van AWS Lake-formatie.

Dit bericht presenteert twee manieren om RStudio eenvoudig op AWS te implementeren en uit te voeren om toegang te krijgen tot gegevens die zijn opgeslagen in data lake:

  • Volledig beheerd op Amazon Sage Maker
  • Zelf gehost op Amazon Elastic Compute-cloud (Amazone EC2)
    • U kunt ervoor kiezen om de open-sourceversie van RStudio te implementeren met behulp van een door EC2 gehoste aanpak die we ook in dit bericht zullen beschrijven. De zelf-gehoste optie vereist dat de beheerder een EC2-instantie maakt en RStudio handmatig of met behulp van een AWS CloudFormatie Er is ook minder flexibiliteit voor het implementeren van gebruikerstoegangscontroles in deze optie, aangezien alle gebruikers hetzelfde toegangsniveau hebben bij dit type implementatie.

RStudio op Amazon SageMaker

U kunt RStudio Workbench starten met een simpele klik vanuit SageMaker. Met SageMaker hoeven klanten niet de operationele overhead te dragen van het bouwen, installeren, beveiligen, schalen en onderhouden van RStudio, ze hoeven niet te betalen voor de continu draaiende RStudio Server (als ze t3.medium gebruiken) en ze betalen alleen voor RSession-computing wanneer ze het gebruiken. RStudio-gebruikers hebben de flexibiliteit om rekenkracht dynamisch te schalen door on-the-fly van instantie te wisselen. Het uitvoeren van RStudio op SageMaker vereist dat een beheerder een SageMaker-domein en bijbehorende gebruikersprofielen tot stand brengt. U hebt ook een geschikte RStudio-licentie nodig

Binnen SageMaker kunt u toegang verlenen op RStudio-beheerders- en RStudio-gebruikersniveau, met verschillende machtigingen. Alleen gebruikersprofielen met een van deze twee rollen hebben toegang tot RStudio in SageMaker. Voor meer informatie over beheerderstaken voor het instellen van RStudio op SageMaker, zie: Ga aan de slag met RStudio op Amazon SageMaker. Dat bericht toont ook het proces van het selecteren van EC2-instanties voor elke sessie en hoe de beheerder EC2-instantieopties voor RStudio-gebruikers kan beperken.

Fig1: Architectuurdiagram dat de interactie van verschillende AWS-services toont

Beveiligingstoegang op rij- en kolomniveau van Lake Formation gebruiken

Naast het toestaan ​​van uw team om RStudio-sessies op SageMaker te starten, kunt u het datameer ook beveiligen door gebruik te maken van toegangscontroles op rij- en kolomniveau van Lake Formation. Voor meer informatie, zie: Effectieve datameren met AWS Lake Formation, deel 4: Beveiliging op cel- en rijniveau implementeren.

Via de beveiligingscontroles van Lake Formation kunt u ervoor zorgen dat elke persoon de juiste toegang heeft tot de gegevens in het datameer. Overweeg de volgende twee gebruikersprofielen in het SageMaker-domein, elk met een andere uitvoeringsrol:

Gebruikersprofiel Uitvoeringsrol
rstudiouser-fullaccess AmazonSageMaker-ExecutionRole-FullAccess
rstudiouser-limitedaccess AmazonSageMaker-ExecutionRole-LimitedAccess

De volgende schermafbeelding toont de rstudiouser-limitedaccess profiel details.

Fig 2: Profieldetails van de rol rstudiouser-limitedaccess

Fig 2: Profieldetails van de rol rstudiouser-limitedaccess

De volgende schermafbeelding toont de rstudiouser-fullaccess profiel details.

Fig 3: Profieldetails van de rol rstudiouser-fullaccess

Fig 3: Profieldetails van de rol rstudiouser-fullaccess

De dataset die voor dit bericht wordt gebruikt, is a COVID-19 openbare dataset. De volgende schermafbeelding toont een voorbeeld van de gegevens:

Fig4: COVID-19 openbare dataset

Fig4: COVID-19 openbare dataset

Nadat u het gebruikersprofiel hebt gemaakt en het aan de juiste rol hebt toegewezen, krijgt u toegang tot Lake Formation om de gegevens te crawlen met AWS lijm, maak de metagegevens en tabel aan en verleen toegang tot de tabelgegevens. Voor de AmazonSageMaker-ExecutionRole-FullAccess rol, verleent u toegang tot alle kolommen in de tabel, en voor AmazonSageMaker-ExecutionRole-LimitedAccess, verleent u toegang met behulp van het gegevensfilter USA_Filter. We gebruiken dit filter om kolomrechten op rij- en celniveau te geven (zie de Hulpmiddelen kolom in de volgende schermafbeelding).

Fig5: AWS Lake Formation-machtigingen voor AmazonSageMaker-ExecutionRole -Full/Limited Access-rollen

Fig5: AWS Lake Formation-machtigingen voor AmazonSageMaker-ExecutionRole -Full/Limited Access-rollen

Zoals te zien is in de volgende schermafbeelding, heeft de tweede rol beperkte toegang. Gebruikers die aan deze rol zijn gekoppeld, hebben alleen toegang tot de continent, date, total_cases, total_deaths, new_cases, new_deaths en iso_codecolumns.

Fig6: AWS Lake Formation-machtigingen op kolomniveau voor de rol AmazonSageMaker-ExecutionRole-Limited Access

Fig6: AWS Lake Formation-machtigingen op kolomniveau voor de rol AmazonSageMaker-ExecutionRole-Limited Access

Met rolmachtigingen die aan elk gebruikersprofiel zijn gekoppeld, kunnen we zien hoe Lake Formation de juiste machtigingen op rij- en kolomniveau afdwingt. U kunt de RStudio Workbench openen vanuit de: Start de app vervolgkeuzemenu in de aangemaakte gebruikerslijst en kies RStudio.

In de volgende schermafbeelding starten we de app als de rstudiouser-limitedaccess user.

Fig7: RStudio-sessie starten voor rstudiouser-limitedaccess gebruiker vanuit Amazon SageMaker Console

Fig7: RStudio-sessie starten voor rstudiouser-limitedaccess gebruiker vanuit Amazon SageMaker Console

U kunt de startpagina van RStudio Workbench en een lijst met sessies, projecten en gepubliceerde inhoud zien.

Fig8: R Studio Workbench-sessie voor rstudiouser-limitedaccess gebruiker

Fig8: R Studio Workbench-sessie voor rstudiouser-limitedaccess gebruiker

Kies een sessienaam om de sessie in SageMaker te starten. Installeer Paws (zie richtlijnen eerder in dit bericht) zodat je toegang hebt tot de juiste AWS-services. Nu kunt u een query uitvoeren om alle velden uit de dataset te halen via Amazone Athene, met behulp van de opdracht “SELECT * FROM "databasename.tablename", en sla de uitvoer van de query op in een Amazon eenvoudige opslagservice (Amazon S3) emmer.

Fig9: Athena Query-uitvoering in R Studio-sessie

Fig9: Athena Query-uitvoering in R Studio-sessie

De volgende schermafbeelding toont de uitvoerbestanden in de S3-bucket.

Fig10: Athena Query-uitvoering resulteert in Amazon S3-bucket

Fig10: Athena Query-uitvoering resulteert in Amazon S3-bucket

De volgende schermafbeelding toont de gegevens in deze uitvoerbestanden met behulp van Amazon S3 Selecteren.

Fig11: De uitvoergegevens bekijken met Amazon S3 Select

Fig11: De uitvoergegevens bekijken met Amazon S3 Select

Alleen VS-gegevens en kolommen continent, datum, total_cases, total_deaths, new_cases, new_deaths en iso_code worden weergegeven in het resultaat voor de rstudiouser-limitedaccess gebruiker.

Laten we dezelfde stappen herhalen voor de rstudiouser-fullaccess gebruiker.

Fig12: RStudio-sessie starten voor rstudiouser-fullaccess-gebruiker vanuit Amazon SageMaker Console

Fig12: RStudio-sessie starten voor rstudiouser-fullaccess-gebruiker vanuit Amazon SageMaker Console

U kunt de startpagina van RStudio Workbench en een lijst met sessies, projecten en gepubliceerde inhoud zien.

Fig13: R Studio Workbench-sessie voor rstudiouser-fullaccess gebruiker

Fig13: R Studio Workbench-sessie voor rstudiouser-fullaccess gebruiker

Laten we dezelfde query uitvoeren “SELECT * FROM "databasename.tablename" Athene gebruiken.

Fig14: Athena Query-uitvoering in R Studio-sessie

Fig14: Athena Query-uitvoering in R Studio-sessie

De volgende schermafbeelding toont de uitvoerbestanden in de S3-bucket.

Fig15: Athena Query-uitvoering resulteert in Amazon S3-bucket

Fig15: Athena Query-uitvoering resulteert in Amazon S3-bucket

De volgende schermafbeelding toont de gegevens in deze uitvoerbestanden met behulp van Amazon S3 Selecteren.

Fig16: De uitvoergegevens bekijken met Amazon S3 Select

Fig16: De uitvoergegevens bekijken met Amazon S3 Select

Zoals in dit voorbeeld te zien is, is de rstudiouser-fullaccess gebruiker heeft toegang tot alle kolommen en rijen in de dataset.

Zelf gehost op Amazon EC2

Als je wilt gaan experimenteren met de open-sourceversie van RStudio op AWS, kun je Rstudio installeren op een EC2-instantie. Deze CloudFormation-sjabloon in dit bericht voorziet de EC2-instantie en installeert RStudio met behulp van het gebruikersgegevensscript. U kunt de sjabloon meerdere keren uitvoeren om indien nodig meerdere RStudio-instanties in te richten, en u kunt deze in elke AWS-regio gebruiken. Nadat u de CloudFormation-sjabloon hebt geïmplementeerd, krijgt u een URL voor toegang tot RStudio vanuit een webbrowser. Met Amazon EC2 kun je omhoog of omlaag schalen om veranderingen in de gegevensgrootte en de benodigde rekencapaciteit voor het uitvoeren van je analyses te verwerken.

Maak een sleutel-waardepaar voor veilige toegang

AWS gebruikt cryptografie met openbare sleutels om de aanmeldingsgegevens voor uw EC2-instantie te beveiligen. U geeft de naam van het sleutelpaar op in de KeyPair parameter wanneer u de CloudFormation-sjabloon start. Vervolgens kunt u, indien nodig, dezelfde sleutel gebruiken om u later aan te melden bij de ingerichte EC2-instantie.

Voordat u de CloudFormation-sjabloon uitvoert, moet u ervoor zorgen dat u het Amazon EC2-sleutelpaar hebt in het AWS-account dat u van plan bent te gebruiken. Zo niet, raadpleeg dan: Maak een sleutelpaar met Amazon EC2 voor instructies om er een te maken.

Start de CloudFormation-sjabloonLog in op de CloudFormation-console in de us-east-1 Regio en kies Stapel starten.

Start stapelknop

U moet verschillende parameters invoeren in de CloudFormation-sjabloon:

  • InitialUser en InitialPassword – De gebruikersnaam en het wachtwoord waarmee u inlogt op de RStudio-sessie. De standaardwaarden zijn rstudio en Rstudio@123, Respectievelijk.
  • instantietype – Het EC2-instantietype waarop de RStudio-server moet worden geïmplementeerd. De sjabloon accepteert momenteel alle instanties in de instantiefamilies t2, m4, c4, r4, g2, p2 en g3 en kan gemakkelijk andere instantiefamilies opnemen. De standaardwaarde is t2.micro.
  • Sleutelpaar – Het sleutelpaar waarmee u inlogt op de EC2-instantie.
  • VpcId en SubnetId - The Amazon virtuele privécloud (Amazon VPC) en subnet waarin de instantie moet worden gestart.

Nadat u deze parameters hebt ingevoerd, implementeert u de CloudFormation-sjabloon. Als het klaar is, zijn de volgende bronnen beschikbaar:

  • Een EC2-instantie waarop RStudio is geïnstalleerd.
  • Een IAM-rol met de nodige machtigingen om verbinding te maken met andere AWS-services.
  • Een beveiligingsgroep met regels om poort 8787 te openen voor de RStudio Server.

Log in op RStudio

Nu ben je klaar om RStudio te gebruiken! Ga naar de Uitgangen tabblad voor de CloudFormation-stack en kopieer de RStudio-URL-waarde (deze heeft de indeling http://ec2-XX-XX-XXX-XX.compute-1.amazonaws.com:8787/). Voer die URL in een webbrowser in. Dit opent uw RStudio-sessie, waarop u kunt inloggen met dezelfde gebruikersnaam en hetzelfde wachtwoord die u hebt opgegeven tijdens het uitvoeren van de CloudFormation-sjabloon.

Toegang tot AWS-services vanuit RStudio

Nadat u de RStudio-sessie hebt geopend, moet u het R-pakket voor AWS (Paws) installeren. Hierdoor kunt u verbinding maken met veel AWS-services, inclusief de services en bronnen in uw datameer. Om Paws te installeren, voert u de volgende R-code in en voert u deze uit:

install.packages("paws")

Om een ​​AWS-service te gebruiken, maakt u een client aan en opent u de bewerkingen van de service vanaf die client. Wanneer u toegang krijgt tot AWS API's, moet u uw inloggegevens en regio opgeven. Paws zoekt naar de inloggegevens en regio met behulp van de AWS-authenticatieketen:

  • Expliciet verstrekte toegangssleutel, geheime sleutel, sessietoken, profiel of regio
  • R omgevingsvariabelen
  • Omgevingsvariabelen van het besturingssysteem
  • AWS gedeelde inloggegevens en configuratiebestanden in .aws/credentials en .aws/config
  • Container IAM-rol
  • Instantie IAM-rol

Omdat je draait op een EC2-instantie met een gekoppelde IAM-rol, gebruikt Paws automatisch je IAM-rolreferenties om AWS API-verzoeken te verifiëren.

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

Voor een productieomgeving raden we aan om de schaalbare Rstudio-oplossing te gebruiken die wordt beschreven in deze blog.

Conclusie

Je hebt geleerd hoe je je RStudio-omgeving in AWS implementeert. We demonstreerden de voordelen van het gebruik van RStudio op Amazon SageMaker en hoe u aan de slag kunt. Je hebt ook geleerd hoe je snel kunt experimenteren met de open-sourceversie van RStudio met behulp van een zelf-gehoste installatie met Amazon EC2. We hebben ook laten zien hoe u RStudio kunt integreren in uw data lake-architecturen en hoe u fijnmazig toegangscontrole kunt implementeren op een data lake-tabel met behulp van de beveiligingsfunctie op rij- en celniveau van Lake Formation.

In ons volgende bericht zullen we laten zien hoe u R-scripts kunt containeriseren en uitvoeren met behulp van AWS Lambda.


Over de auteurs

Implementeer RStudio in uw AWS-omgeving en krijg toegang tot uw data lake met behulp van AWS Lake Formation-machtigingen PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Venkata Kampana is Senior Solutions Architect in het AWS Health and Human Services-team en is gevestigd in Sacramento, CA. In die rol helpt hij klanten in de publieke sector om hun missiedoelen te bereiken met goed ontworpen oplossingen op AWS.

Implementeer RStudio in uw AWS-omgeving en krijg toegang tot uw data lake met behulp van AWS Lake Formation-machtigingen PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Dr Dawn Heisey-Grove is de leider op het gebied van volksgezondheidsanalyse voor het staats- en lokale overheidsteam van Amazon Web Services. In deze rol is ze verantwoordelijk voor het helpen van nationale en lokale volksgezondheidsinstanties om creatief na te denken over hoe ze hun analyse-uitdagingen en langetermijndoelen kunnen bereiken. Ze heeft haar carrière besteed aan het vinden van nieuwe manieren om bestaande of nieuwe gegevens te gebruiken ter ondersteuning van toezicht en onderzoek op het gebied van de volksgezondheid.

Tijdstempel:

Meer van AWS-machine learning