R è un popolare linguaggio di programmazione analitica utilizzato da data scientist e analisti per eseguire l'elaborazione dei dati, condurre analisi statistiche, creare visualizzazioni di dati e costruire modelli di machine learning (ML). RStudio, l'ambiente di sviluppo integrato per R, fornisce strumenti open source e software professionale pronto per l'impresa per consentire ai team di sviluppare e condividere il proprio lavoro all'interno dell'organizzazione Creare, proteggere, ridimensionare e mantenere RStudio da soli è, tuttavia, noioso e ingombrante.
L'implementazione dell'ambiente RStudio in AWS fornisce elasticità e scalabilità che non hai durante la distribuzione in locale, eliminando la necessità di gestire tale infrastruttura. Puoi selezionare il calcolo e la memoria desiderati in base ai requisiti di elaborazione e puoi anche aumentare o diminuire per lavorare con carichi di lavoro analitici e ML di dimensioni diverse senza un investimento iniziale. Ciò ti consente di sperimentare rapidamente con nuove origini dati e codice e di implementare nuovi processi di analisi e modelli di machine learning nel resto dell'organizzazione. Puoi anche integrare perfettamente le risorse di Data Lake per renderle disponibili a sviluppatori e data scientist e proteggere i dati utilizzando i controlli di accesso a livello di riga e di colonna da Formazione AWS Lake.
Questo post presenta due modi per distribuire ed eseguire facilmente RStudio su AWS per accedere ai dati archiviati nel data lake:
- Completamente gestito Amazon Sage Maker
- Auto-ospitato Cloud di calcolo elastico di Amazon (Amazon EC2)
- Puoi scegliere di distribuire la versione open source di RStudio utilizzando un approccio ospitato EC2 che descriveremo anche in questo post. L'opzione self-hosted richiede che l'amministratore crei un'istanza EC2 e installi RStudio manualmente o utilizzando a AWS CloudFormazione C'è anche una minore flessibilità per l'implementazione dei controlli di accesso degli utenti in questa opzione poiché tutti gli utenti hanno lo stesso livello di accesso in questo tipo di implementazione.
RStudio su Amazon SageMaker
Puoi avviare RStudio Workbench con un semplice clic da SageMaker. Con SageMaker i clienti non devono sostenere il sovraccarico operativo di costruzione, installazione, protezione, ridimensionamento e manutenzione di RStudio, non devono pagare per il server RStudio in esecuzione continua (se utilizzano t3.medium) e pagano solo per il calcolo di RSession quando lo usano. Gli utenti di RStudio avranno la flessibilità di scalare dinamicamente il calcolo cambiando istanze al volo. L'esecuzione di RStudio su SageMaker richiede che un amministratore stabilisca un dominio SageMaker e i profili utente associati. È inoltre necessaria una licenza RStudio appropriata
All'interno di SageMaker, puoi concedere l'accesso a livello di amministratore di RStudio e utente di RStudio, con autorizzazioni diverse. Solo i profili utente a cui è stato concesso uno di questi due ruoli possono accedere a RStudio in SageMaker. Per ulteriori informazioni sulle attività dell'amministratore per la configurazione di RStudio su SageMaker, fare riferimento a Inizia con RStudio su Amazon SageMaker. Quel post mostra anche il processo di selezione delle istanze EC2 per ogni sessione e come l'amministratore può limitare le opzioni delle istanze EC2 per gli utenti di RStudio.
Utilizzare l'accesso di sicurezza a livello di riga e di colonna di Lake Formation
Oltre a consentire al tuo team di avviare sessioni RStudio su SageMaker, puoi anche proteggere il data lake utilizzando i controlli di accesso a livello di riga e di colonna di Lake Formation. Per ulteriori informazioni, fare riferimento a Data lake efficaci con AWS Lake Formation, parte 4: implementazione della sicurezza a livello di cella e di riga.
Attraverso i controlli di sicurezza di Lake Formation, puoi assicurarti che ogni persona abbia il giusto accesso ai dati nel data lake. Considera i seguenti due profili utente nel dominio SageMaker, ciascuno con un ruolo di esecuzione diverso:
Profilo utente | Ruolo di esecuzione |
rstudiouser-fullaccess |
AmazonSageMaker-ExecutionRole-FullAccess |
rstudiouser-limitedaccess |
AmazonSageMaker-ExecutionRole-LimitedAccess |
La seguente schermata mostra il rstudiouser-limitedaccess
dettagli del profilo.
La seguente schermata mostra il rstudiouser-fullaccess
dettagli del profilo.
Il set di dati utilizzato per questo post è a Set di dati pubblici COVID-19. Lo screenshot seguente mostra un esempio dei dati:
Dopo aver creato il profilo utente e averlo assegnato al ruolo appropriato, puoi accedere a Lake Formation per eseguire la scansione dei dati con Colla AWS, crea i metadati e la tabella e concedi l'accesso ai dati della tabella. Per il AmazonSageMaker-ExecutionRole-FullAccess
ruolo, concedi l'accesso a tutte le colonne della tabella e per AmazonSageMaker-ExecutionRole-LimitedAccess
, si concede l'accesso utilizzando il filtro dati USA_Filter
. Utilizziamo questo filtro per fornire autorizzazioni a livello di riga e di colonna a livello di cella (vedi il Gestione colonna nella schermata seguente).
Come mostrato nella schermata seguente, il secondo ruolo ha accesso limitato. Gli utenti associati a questo ruolo possono accedere solo a continent
, date
, total_cases
, total_deaths
, new_cases
, new_deaths
e iso_codecolumns
.
Con le autorizzazioni di ruolo associate a ciascun profilo utente, possiamo vedere come Lake Formation applica le autorizzazioni appropriate a livello di riga e di colonna. È possibile aprire RStudio Workbench da Avvia l'app menu a discesa nell'elenco utenti creato e scegliere RStudio.
Nello screenshot seguente, lanciamo l'app come rstudiouser-limitedaccess user
.
È possibile visualizzare la home page di RStudio Workbench e un elenco di sessioni, progetti e contenuti pubblicati.
Scegli un nome di sessione per avviare la sessione in SageMaker. Installa Paws (consulta la guida in precedenza in questo post) in modo da poter accedere ai servizi AWS appropriati. Ora puoi eseguire una query per estrarre tutti i campi dal set di dati tramite Amazzone Atena, utilizzando il comando “SELECT * FROM "databasename.tablename"
e archiviare l'output della query in un file Servizio di archiviazione semplice Amazon (Amazon S3) secchio.
Lo screenshot seguente mostra i file di output nel bucket S3.
Lo screenshot seguente mostra i dati in questi file di output utilizzando Amazon S3 Seleziona.
Solo dati USA e colonne continente, data, total_cases
, total_deaths
, new_cases
, new_deaths
e iso_code
sono mostrati nel risultato per il rstudiouser-limitedaccess
utente.
Ripetiamo gli stessi passaggi per il rstudiouser-fullaccess
utente.
È possibile visualizzare la home page di RStudio Workbench e un elenco di sessioni, progetti e contenuti pubblicati.
Eseguiamo la stessa query “SELECT * FROM "databasename.tablename"
usando Atena.
Lo screenshot seguente mostra i file di output nel bucket S3.
Lo screenshot seguente mostra i dati in questi file di output utilizzando Amazon S3 Seleziona.
Come mostrato in questo esempio, il rstudiouser-fullaccess
l'utente ha accesso a tutte le colonne e righe nel set di dati.
Self-hosted su Amazon EC2
Se vuoi iniziare a sperimentare con la versione open source di RStudio su AWS, puoi installare Rstudio su un'istanza EC2. Questo modello CloudFormation fornito in questo post effettua il provisioning dell'istanza EC2 e installa RStudio utilizzando lo script dei dati dell'utente. Puoi eseguire il modello più volte per eseguire il provisioning di più istanze RStudio secondo necessità e utilizzarlo in qualsiasi regione AWS. Dopo aver distribuito il modello CloudFormation, ti fornisce un URL per accedere a RStudio da un browser web. Amazon EC2 ti consente di aumentare o diminuire per gestire le modifiche alle dimensioni dei dati e la capacità di calcolo necessaria per eseguire le tue analisi.
Crea una coppia chiave-valore per un accesso sicuro
AWS utilizza la crittografia a chiave pubblica per proteggere le informazioni di accesso per l'istanza EC2. Specificare il nome della coppia di chiavi in KeyPair
parametro quando avvii il modello CloudFormation. Quindi puoi utilizzare la stessa chiave per accedere all'istanza EC2 di cui è stato eseguito il provisioning in un secondo momento, se necessario.
Prima di eseguire il modello CloudFormation, assicurati di avere la coppia di chiavi Amazon EC2 nell'account AWS che intendi utilizzare. In caso contrario, fare riferimento a Crea una coppia di chiavi utilizzando Amazon EC2 per le istruzioni per crearne uno.
Avvia il modello CloudFormationAccedi alla console CloudFormation in us-east-1
Regione e scegli Avvia Stack.
Devi inserire diversi parametri nel modello CloudFormation:
- InitialUser e InitialPassword – Il nome utente e la password utilizzati per accedere alla sessione di RStudio. I valori predefiniti sono
rstudio
edRstudio@123
, Rispettivamente. - Tipo di istanza – Il tipo di istanza EC2 su cui distribuire il server RStudio. Il modello attualmente accetta tutte le istanze nelle famiglie di istanze t2, m4, c4, r4, g2, p2 e g3 e può incorporare facilmente altre famiglie di istanze. Il valore predefinito è t2.micro.
- Coppia di chiavi – La coppia di chiavi utilizzata per accedere all'istanza EC2.
- VpcId e SubnetId - L' Amazon Virtual Private Cloud (Amazon VPC) e sottorete in cui avviare l'istanza.
Dopo aver inserito questi parametri, distribuisci il modello CloudFormation. Al termine, sono disponibili le seguenti risorse:
- Un'istanza EC2 su cui è installato RStudio.
- Un ruolo IAM con le autorizzazioni necessarie per connettersi ad altri servizi AWS.
- Un gruppo di sicurezza con regole per aprire la porta 8787 per il server RStudio.
Accedi a RStudio
Ora sei pronto per usare RStudio! Vai al Uscite scheda per lo stack di CloudFormation e copia il valore dell'URL di RStudio (è nel formato http://ec2-XX-XX-XXX-XX.compute-1.amazonaws.com:8787/
). Inserisci quell'URL in un browser web. Verrà aperta la sessione di RStudio, a cui puoi accedere utilizzando lo stesso nome utente e password forniti durante l'esecuzione del modello CloudFormation.
Accedi ai servizi AWS da RStudio
Dopo aver effettuato l'accesso alla sessione di RStudio, è necessario installare il pacchetto R per AWS (Paws). Ciò ti consente di connetterti a molti servizi AWS, inclusi i servizi e le risorse nel tuo data lake. Per installare Paws, inserisci ed esegui il seguente codice R:
Per utilizzare un servizio AWS, crea un client e accedi alle operazioni del servizio da quel client. Quando accedi alle API AWS, devi fornire le tue credenziali e la regione. Paws cerca le credenziali e la regione utilizzando la catena di autenticazione AWS:
- Chiave di accesso, chiave segreta, token di sessione, profilo o regione forniti in modo esplicito
- Variabili d'ambiente R
- Variabili di ambiente del sistema operativo
- Credenziali condivise e file di configurazione AWS in
.aws/credentials
ed.aws/config
- Ruolo IAM contenitore
- Ruolo IAM di istanza
Poiché sei in esecuzione su un'istanza EC2 con un ruolo IAM collegato, Paws utilizza automaticamente le credenziali del tuo ruolo IAM per autenticare le richieste API AWS.
Per l'ambiente di produzione, consigliamo di utilizzare la soluzione scalabile Rstudio descritta in questo blog.
Conclusione
Hai imparato a distribuire il tuo ambiente RStudio in AWS. Abbiamo dimostrato i vantaggi dell'utilizzo di RStudio su Amazon SageMaker e come iniziare. Hai anche imparato come iniziare rapidamente a sperimentare con la versione open source di RStudio utilizzando un'installazione self-hosted utilizzando Amazon EC2. Abbiamo anche dimostrato come integrare RStudio nelle architetture di data lake e implementare il controllo degli accessi granulare su una tabella di data lake usando la funzionalità di sicurezza a livello di riga e di cella di Lake Formation.
Nel nostro prossimo post, dimostreremo come containerizzare gli script R ed eseguirli utilizzando AWS Lambda.
Circa gli autori
Venkata Campana è un Senior Solutions Architect nel team di AWS Health and Human Services e ha sede a Sacramento, in California. In quel ruolo, aiuta i clienti del settore pubblico a raggiungere i loro obiettivi di missione con soluzioni ben progettate su AWS.
La dottoressa Dawn Heisey-Grove è il leader dell'analisi della salute pubblica per il team del governo statale e locale di Amazon Web Services. In questo ruolo, è responsabile di aiutare le agenzie sanitarie pubbliche statali e locali a pensare in modo creativo a come raggiungere le loro sfide di analisi e obiettivi a lungo termine. Ha trascorso la sua carriera a trovare nuovi modi per utilizzare i dati esistenti o nuovi per supportare la sorveglianza e la ricerca sulla salute pubblica.
- AI
- oh arte
- generatore d'arte
- un robot
- Amazon Sage Maker
- intelligenza artificiale
- certificazione di intelligenza artificiale
- intelligenza artificiale nel settore bancario
- robot di intelligenza artificiale
- robot di intelligenza artificiale
- software di intelligenza artificiale
- Apprendimento automatico di AWS
- blockchain
- conferenza blockchain ai
- geniale
- intelligenza artificiale conversazionale
- criptoconferenza ai
- dall's
- apprendimento profondo
- google ai
- machine learning
- Platone
- platone ai
- Platone Data Intelligence
- Gioco di Platone
- PlatoneDati
- gioco di plato
- scala ai
- sintassi
- zefiro