R är ett populärt analytiskt programmeringsspråk som används av datavetare och analytiker för att utföra databearbetning, utföra statistiska analyser, skapa datavisualiseringar och bygga modeller för maskininlärning (ML). RStudio, den integrerade utvecklingsmiljön för R, tillhandahåller verktyg med öppen källkod och professionell programvara för företag att utveckla och dela sitt arbete i hela organisationen Att bygga, säkra, skala och underhålla RStudio själv är dock tråkigt och krångligt.
Implementering av RStudio-miljön i AWS ger elasticitet och skalbarhet som du inte har när du distribuerar på plats, vilket eliminerar behovet av att hantera den infrastrukturen. Du kan välja önskad dator och minne baserat på bearbetningskrav och kan även skala upp eller ned för att arbeta med analytiska och ML-arbetsbelastningar av olika storlekar utan en förskottsinvestering. Detta låter dig snabbt experimentera med nya datakällor och kod, och rulla ut nya analysprocesser och ML-modeller till resten av organisationen. Du kan också sömlöst integrera dina Data Lake-resurser för att göra dem tillgängliga för utvecklare och dataforskare och säkra data genom att använda åtkomstkontroller på rad- och kolumnnivå från AWS Lake Formation.
Det här inlägget presenterar två sätt att enkelt distribuera och köra RStudio på AWS för att komma åt data lagrad i datasjö:
- Fullt skött på Amazon SageMaker
- Egen värd på Amazon Elastic Compute Cloud (Amazon EC2)
- Du kan välja att distribuera öppen källkodsversionen av RStudio med en EC2-värd metod som vi också kommer att beskriva i det här inlägget. Alternativet självvärd kräver att administratören skapar en EC2-instans och installerar RStudio manuellt eller med en AWS molnformation Det finns också mindre flexibilitet för att implementera användaråtkomstkontroller i detta alternativ eftersom alla användare har samma åtkomstnivå i denna typ av implementering.
RStudio på Amazon SageMaker
Du kan starta RStudio Workbench med ett enkelt klick från SageMaker. Med SageMaker behöver kunderna inte bära de operativa omkostnaderna för att bygga, installera, säkra, skala och underhålla RStudio, de behöver inte betala för den kontinuerligt körande RStudio Server (om de använder t3.medium) och de betalar bara för RSession compute när de använder det. RStudio-användare kommer att ha flexibilitet att dynamiskt skala beräkningar genom att byta instanser i farten. Att köra RStudio på SageMaker kräver att en administratör upprättar en SageMaker-domän och tillhörande användarprofiler. Du behöver också en lämplig RStudio-licens
Inom SageMaker kan du ge åtkomst på RStudio-administratörs- och RStudio-användarnivå, med olika behörigheter. Endast användarprofiler som beviljats en av dessa två roller kan komma åt RStudio i SageMaker. För mer information om administratörsuppgifter för att ställa in RStudio på SageMaker, se Kom igång med RStudio på Amazon SageMaker. Det inlägget visar också processen för att välja EC2-instanser för varje session, och hur administratören kan begränsa EC2-instansalternativ för RStudio-användare.
Använd Lake Formation säkerhetsåtkomst på radnivå och kolumnnivå
Förutom att tillåta ditt team att starta RStudio-sessioner på SageMaker, kan du också säkra datasjön genom att använda åtkomstkontroller på rad- och kolumnnivå från Lake Formation. För mer information, se Effektiva datasjöar med AWS Lake Formation, del 4: Implementering av säkerhet på cellnivå och radnivå.
Genom Lake Formations säkerhetskontroller kan du se till att varje person har rätt tillgång till data i datasjön. Tänk på följande två användarprofiler i SageMaker-domänen, var och en med olika exekveringsroller:
Användarprofil | Utförande roll |
rstudiouser-fullaccess |
AmazonSageMaker-ExecutionRole-FullAccess |
rstudiouser-limitedaccess |
AmazonSageMaker-ExecutionRole-LimitedAccess |
Följande skärmdump visar rstudiouser-limitedaccess
profildetaljer.
Följande skärmdump visar rstudiouser-fullaccess
profildetaljer.
Datauppsättningen som används för detta inlägg är en Offentlig datauppsättning för covid-19. Följande skärmdump visar ett exempel på data:
När du har skapat användarprofilen och tilldelat den till lämplig roll kan du komma åt Lake Formation för att genomsöka data med AWS-lim, skapa metadata och tabell och ge åtkomst till tabelldata. För AmazonSageMaker-ExecutionRole-FullAccess
roll ger du åtkomst till alla kolumner i tabellen och för AmazonSageMaker-ExecutionRole-LimitedAccess
, ger du åtkomst med hjälp av datafiltret USA_Filter
. Vi använder det här filtret för att tillhandahålla kolumnbehörigheter på radnivå och cellnivå (se Resurs kolumn i följande skärmdump).
Som visas i följande skärmdump har den andra rollen begränsad åtkomst. Användare som är associerade med den här rollen kan bara komma åt continent
, date
, total_cases
, total_deaths
, new_cases
, new_deaths
och iso_codecolumns
.
Med rollbehörigheter kopplade till varje användarprofil kan vi se hur Lake Formation upprätthåller lämpliga radnivå- och kolumnnivåbehörigheter. Du kan öppna RStudio Workbench från Starta app rullgardinsmenyn i den skapade användarlistan och välj RStudio.
I följande skärmdump startar vi appen som rstudiouser-limitedaccess user
.
Du kan se RStudio Workbenchs hemsida och en lista över sessioner, projekt och publicerat innehåll.
Välj ett sessionsnamn för att starta sessionen i SageMaker. Installera Paws (se vägledning tidigare i detta inlägg) så att du kan komma åt lämpliga AWS-tjänster. Nu kan du köra en fråga för att hämta alla fält från datamängden via Amazonas Athena, med hjälp av kommandot “SELECT * FROM "databasename.tablename"
, och lagra frågeutgången i en Amazon enkel lagringstjänst (Amazon S3) hink.
Följande skärmdump visar utdatafilerna i S3-hinken.
Följande skärmdump visar data i dessa utdatafiler med hjälp av Amazon S3 Välj.
Endast USA-data och kolumner kontinent, datum, total_cases
, total_deaths
, new_cases
, new_deaths
och iso_code
visas i resultatet för rstudiouser-limitedaccess
användaren.
Låt oss upprepa samma steg för rstudiouser-fullaccess
användaren.
Du kan se RStudio Workbenchs hemsida och en lista över sessioner, projekt och publicerat innehåll.
Låt oss köra samma fråga “SELECT * FROM "databasename.tablename"
använder Athena.
Följande skärmdump visar utdatafilerna i S3-hinken.
Följande skärmdump visar data i dessa utdatafiler med hjälp av Amazon S3 Välj.
Som visas i det här exemplet är rstudiouser-fullaccess
användaren har tillgång till alla kolumner och rader i datamängden.
Självvärd på Amazon EC2
Om du vill börja experimentera med RStudios open source-version på AWS kan du installera Rstudio på en EC2-instans. Denna CloudFormation-mall som tillhandahålls i det här inlägget tillhandahåller EC2-instansen och installerar RStudio med användardataskriptet. Du kan köra mallen flera gånger för att tillhandahålla flera RStudio-instanser efter behov, och du kan använda den i vilken AWS-region som helst. När du har distribuerat CloudFormation-mallen ger den dig en URL för åtkomst till RStudio från en webbläsare. Amazon EC2 gör att du kan skala upp eller ned för att hantera förändringar i datastorlek och den nödvändiga beräkningskapaciteten för att köra din analys.
Skapa ett nyckel-värdepar för säker åtkomst
AWS använder kryptografi med publik nyckel för att säkra inloggningsinformationen för din EC2-instans. Du anger namnet på nyckelparet i KeyPair
parameter när du startar CloudFormation-mallen. Sedan kan du använda samma nyckel för att logga in på den tillhandahållna EC2-instansen senare om det behövs.
Innan du kör CloudFormation-mallen, se till att du har Amazon EC2-nyckelparet i AWS-kontot som du planerar att använda. Om inte, hänvisa till Skapa ett nyckelpar med Amazon EC2 för instruktioner för att skapa en.
Starta CloudFormation-mallenLogga in på CloudFormation-konsolen i us-east-1
Region och välj Starta stack.
Du måste ange flera parametrar i CloudFormation-mallen:
- InitialUser och InitialPassword – Användarnamnet och lösenordet som du använder för att logga in på RStudio-sessionen. Standardvärdena är
rstudio
ochRstudio@123
, Respektive. - InstanceType – EC2-instanstypen som RStudio-servern ska distribueras på. Mallen accepterar för närvarande alla instanser i t2-, m4-, c4-, r4-, g2-, p2- och g3-instansfamiljerna och kan enkelt införliva andra instansfamiljer. Standardvärdet är t2.micro.
- Nyckelpar – Nyckelparet du använder för att logga in på EC2-instansen.
- VpcId och SubnetId - Den Amazon Virtual Private Cloud (Amazon VPC) och subnät där instansen ska startas.
När du har angett dessa parametrar, distribuera CloudFormation-mallen. När det är klart finns följande resurser tillgängliga:
- En EC2-instans med RStudio installerat på den.
- En IAM-roll med nödvändiga behörigheter för att ansluta till andra AWS-tjänster.
- En säkerhetsgrupp med regler för att öppna port 8787 för RStudio Server.
Logga in på RStudio
Nu är du redo att använda RStudio! Gå till Utgångarna fliken för CloudFormation-stacken och kopiera RStudio URL-värde (det är i formatet http://ec2-XX-XX-XXX-XX.compute-1.amazonaws.com:8787/
). Ange webbadressen i en webbläsare. Detta öppnar din RStudio-session, som du kan logga in på med samma användarnamn och lösenord som du angav när du körde CloudFormation-mallen.
Få tillgång till AWS-tjänster från RStudio
När du har kommit åt RStudio-sessionen bör du installera R-paketet för AWS (Paws). Detta låter dig ansluta till många AWS-tjänster, inklusive tjänsterna och resurserna i din datasjö. För att installera Paws, skriv in och kör följande R-kod:
För att använda en AWS-tjänst, skapa en klient och få tillgång till tjänstens verksamhet från den klienten. När du kommer åt AWS API:er måste du ange dina referenser och region. Paws söker efter autentiseringsuppgifterna och regionen med hjälp av AWS-autentiseringskedjan:
- Explicit tillhandahållen åtkomstnyckel, hemlig nyckel, sessionstoken, profil eller region
- R miljövariabler
- Operativsystems miljövariabler
- AWS delade inloggningsuppgifter och konfigurationsfiler i
.aws/credentials
och.aws/config
- Container IAM-roll
- Exempel IAM roll
Eftersom du kör på en EC2-instans med en bifogad IAM-roll, använder Paws automatiskt dina IAM-rolluppgifter för att autentisera AWS API-förfrågningar.
För produktionsmiljö rekommenderar vi att du använder den skalbara Rstudio-lösningen som beskrivs i denna blogg.
Slutsats
Du lärde dig hur du distribuerar din RStudio-miljö i AWS. Vi visade fördelarna med att använda RStudio på Amazon SageMaker och hur du kan komma igång. Du har också lärt dig hur du snabbt börjar experimentera med öppen källkodsversionen av RStudio med hjälp av en självvärd installation med Amazon EC2. Vi visade också hur du integrerar RStudio i dina datasjöarkitekturer och implementerar finkornig åtkomstkontroll på en datasjötabell med hjälp av säkerhetsfunktionen på radnivå och cellnivå i Lake Formation.
I vårt nästa inlägg kommer vi att visa hur man containeriserar R-skript och kör dem med hjälp av AWS Lambda.
Om författarna
Venkata Kampana är Senior Solutions Architect i AWS Health and Human Services-teamet och är baserad i Sacramento, CA. I den rollen hjälper han kunder i den offentliga sektorn att uppnå sina uppdragsmål med väldesignade lösningar på AWS.
Dr Dawn Heisey-Grove är ledare för folkhälsoanalys för Amazon Web Services statliga och lokala regeringsteam. I den här rollen är hon ansvarig för att hjälpa statliga och lokala folkhälsomyndigheter att tänka kreativt om hur de kan uppnå sina analytiska utmaningar och långsiktiga mål. Hon har ägnat sin karriär åt att hitta nya sätt att använda befintliga eller nya data för att stödja folkhälsoövervakning och forskning.
- AI
- ai konst
- ai art generator
- har robot
- Amazon SageMaker
- artificiell intelligens
- artificiell intelligenscertifiering
- artificiell intelligens inom bankväsendet
- artificiell intelligens robot
- robotar med artificiell intelligens
- programvara för artificiell intelligens
- AWS maskininlärning
- blockchain
- blockchain konferens ai
- coingenius
- konversationskonstnärlig intelligens
- kryptokonferens ai
- dalls
- djupt lärande
- du har google
- maskininlärning
- plato
- plato ai
- Platon Data Intelligence
- Platon spel
- PlatonData
- platogaming
- skala ai
- syntax
- zephyrnet