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.
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.
De volgende schermafbeelding toont de rstudiouser-fullaccess
profiel details.
De dataset die voor dit bericht wordt gebruikt, is a COVID-19 openbare dataset. De volgende schermafbeelding toont een voorbeeld van de gegevens:
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).
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
.
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
.
U kunt de startpagina van RStudio Workbench en een lijst met sessies, projecten en gepubliceerde inhoud zien.
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.
De volgende schermafbeelding toont de uitvoerbestanden in de S3-bucket.
De volgende schermafbeelding toont de gegevens in deze uitvoerbestanden met behulp van Amazon S3 Selecteren.
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.
U kunt de startpagina van RStudio Workbench en een lijst met sessies, projecten en gepubliceerde inhoud zien.
Laten we dezelfde query uitvoeren “SELECT * FROM "databasename.tablename"
Athene gebruiken.
De volgende schermafbeelding toont de uitvoerbestanden in de S3-bucket.
De volgende schermafbeelding toont de gegevens in deze uitvoerbestanden met behulp van Amazon S3 Selecteren.
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.
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
enRstudio@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:
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.
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
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.
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.
- AI
- ai kunst
- ai kunst generator
- je hebt een robot
- Amazon Sage Maker
- kunstmatige intelligentie
- certificering van kunstmatige intelligentie
- kunstmatige intelligentie in het bankwezen
- kunstmatige intelligentie robot
- kunstmatige intelligentie robots
- kunstmatige intelligentiesoftware
- AWS-machine learning
- blockchain
- blockchain conferentie ai
- vindingrijk
- conversatie kunstmatige intelligentie
- crypto conferentie ai
- van dall
- diepgaand leren
- google ai
- machine learning
- Plato
- plato ai
- Plato gegevensintelligentie
- Plato-spel
- PlatoData
- platogamen
- schaal ai
- syntaxis
- zephyrnet