Implémentez RStudio sur votre environnement AWS et accédez à votre lac de données à l'aide des autorisations AWS Lake Formation PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Implémentez RStudio sur votre environnement AWS et accédez à votre lac de données à l'aide des autorisations AWS Lake Formation

R est un langage de programmation analytique populaire utilisé par les scientifiques et les analystes des données pour effectuer le traitement des données, effectuer des analyses statistiques, créer des visualisations de données et créer des modèles d'apprentissage automatique (ML). RStudio, l'environnement de développement intégré pour R, fournit des outils open source et des logiciels professionnels prêts pour l'entreprise permettant aux équipes de développer et de partager leur travail au sein de leur organisation. Cependant, la construction, la sécurisation, la mise à l'échelle et la maintenance de RStudio vous-même sont fastidieuses et fastidieuses.

La mise en œuvre de l'environnement RStudio dans AWS offre une élasticité et une évolutivité que vous n'avez pas lors du déploiement sur site, éliminant ainsi le besoin de gérer cette infrastructure. Vous pouvez sélectionner le calcul et la mémoire souhaités en fonction des exigences de traitement et pouvez également augmenter ou réduire pour travailler avec des charges de travail analytiques et ML de différentes tailles sans investissement initial. Cela vous permet d'expérimenter rapidement de nouvelles sources de données et de nouveaux codes, et de déployer de nouveaux processus d'analyse et modèles ML dans le reste de l'organisation. Vous pouvez également intégrer de manière transparente vos ressources Data Lake pour les mettre à la disposition des développeurs et des scientifiques des données et sécuriser les données en utilisant des contrôles d'accès au niveau des lignes et des colonnes à partir de Formation AWS Lake.

Cet article présente deux façons de déployer et d'exécuter facilement RStudio sur AWS pour accéder aux données stockées dans le lac de données :

  • Entièrement géré sur Amazon Sage Maker
  • Auto-hébergé sur Cloud de calcul élastique Amazon (Amazon EC2)
    • Vous pouvez choisir de déployer la version open-source de RStudio en utilisant une approche hébergée EC2 que nous décrirons également dans cet article. L'option auto-hébergée nécessite que l'administrateur crée une instance EC2 et installe RStudio manuellement ou à l'aide d'un AWS CloudFormation Il y a également moins de flexibilité pour la mise en œuvre des contrôles d'accès utilisateur dans cette option puisque tous les utilisateurs ont le même niveau d'accès dans ce type de mise en œuvre.

RStudio sur Amazon SageMaker

Vous pouvez lancer RStudio Workbench d'un simple clic depuis SageMaker. Avec SageMaker, les clients n'ont pas à supporter les frais généraux opérationnels de construction, d'installation, de sécurisation, de mise à l'échelle et de maintenance de RStudio, ils n'ont pas à payer pour le serveur RStudio fonctionnant en continu (s'ils utilisent t3.medium) et ils ne paient que pour RSession calculer quand ils l'utilisent. Les utilisateurs de RStudio auront la possibilité de mettre à l'échelle dynamiquement le calcul en changeant d'instance à la volée. L'exécution de RStudio sur SageMaker nécessite qu'un administrateur établisse un domaine SageMaker et les profils utilisateur associés. Vous avez également besoin d'une licence RStudio appropriée

Dans SageMaker, vous pouvez accorder l'accès au niveau de l'administrateur RStudio et de l'utilisateur RStudio, avec des autorisations différentes. Seuls les profils d'utilisateurs auxquels l'un de ces deux rôles a été attribué peuvent accéder à RStudio dans SageMaker. Pour plus d'informations sur les tâches d'administrateur pour la configuration de RStudio sur SageMaker, reportez-vous à Premiers pas avec RStudio sur Amazon SageMaker. Ce message montre également le processus de sélection des instances EC2 pour chaque session et comment l'administrateur peut restreindre les options d'instance EC2 pour les utilisateurs de RStudio.

Fig1 : Schéma d'architecture montrant l'interaction de divers services AWS

Utiliser l'accès de sécurité au niveau des lignes et des colonnes de Lake Formation

En plus de permettre à votre équipe de lancer des sessions RStudio sur SageMaker, vous pouvez également sécuriser le lac de données en utilisant les contrôles d'accès au niveau des lignes et des colonnes de Lake Formation. Pour plus d'informations, reportez-vous à Lacs de données efficaces à l'aide d'AWS Lake Formation, partie 4 : mise en œuvre de la sécurité au niveau des cellules et des lignes.

Grâce aux contrôles de sécurité de Lake Formation, vous pouvez vous assurer que chaque personne a le droit d'accéder aux données du lac de données. Considérez les deux profils utilisateur suivants dans le domaine SageMaker, chacun avec un rôle d'exécution différent :

Profil de l'utilisateur Rôle d'exécution
rstudiouser-fullaccess AmazonSageMaker-ExecutionRole-FullAccess
rstudiouser-limitedaccess AmazonSageMaker-ExecutionRole-LimitedAccess

La capture d'écran suivante montre le rstudiouser-limitedaccess Détails du profil.

Fig 2: Détails du profil du rôle rstudiouser-limitedaccess

Fig 2: Détails du profil du rôle rstudiouser-limitedaccess

La capture d'écran suivante montre le rstudiouser-fullaccess Détails du profil.

Fig 3: Détails du profil du rôle rstudiouser-fullaccess

Fig 3: Détails du profil du rôle rstudiouser-fullaccess

Le jeu de données utilisé pour cet article est un Ensemble de données public COVID-19. La capture d'écran suivante montre un exemple des données :

Fig4 : Ensemble de données publiques COVID-19

Fig4 : Ensemble de données publiques COVID-19

Après avoir créé le profil utilisateur et l'avoir affecté au rôle approprié, vous pouvez accéder à Lake Formation pour explorer les données avec Colle AWS, créez les métadonnées et la table, puis accordez l'accès aux données de la table. Pour le AmazonSageMaker-ExecutionRole-FullAccess rôle, vous accordez l'accès à toutes les colonnes de la table, et pour AmazonSageMaker-ExecutionRole-LimitedAccess, vous accordez l'accès à l'aide du filtre de données USA_Filter. Nous utilisons ce filtre pour fournir des autorisations de colonne au niveau de la ligne et de la cellule (voir le Ressources colonne dans la capture d'écran suivante).

Fig5 : Autorisations AWS Lake Formation pour AmazonSageMaker-ExecutionRole - Rôles d'accès complet/limité

Fig5 : Autorisations AWS Lake Formation pour AmazonSageMaker-ExecutionRole - Rôles d'accès complet/limité

Comme le montre la capture d'écran suivante, le deuxième rôle a un accès limité. Les utilisateurs associés à ce rôle ne peuvent accéder qu'au continent, date, total_cases, total_deaths, new_cases, new_deathset iso_codecolumns.

Fig6 : Autorisations au niveau de la colonne AWS Lake Formation pour le rôle AmazonSageMaker-ExecutionRole-Limited Access

Fig6 : Autorisations au niveau de la colonne AWS Lake Formation pour le rôle AmazonSageMaker-ExecutionRole-Limited Access

Avec des autorisations de rôle attachées à chaque profil utilisateur, nous pouvons voir comment Lake Formation applique les autorisations appropriées au niveau des lignes et des colonnes. Vous pouvez ouvrir le RStudio Workbench à partir du Démarrer l'application menu déroulant dans la liste des utilisateurs créés, puis choisissez RStudio.

Dans la capture d'écran suivante, nous lançons l'application en tant que rstudiouser-limitedaccess user.

Fig7 : Lancement de la session RStudio pour l'utilisateur à accès limité rstudiouser à partir de la console Amazon SageMaker

Fig7 : Lancement de la session RStudio pour l'utilisateur à accès limité rstudiouser à partir de la console Amazon SageMaker

Vous pouvez voir la page d'accueil de RStudio Workbench et une liste des sessions, des projets et du contenu publié.

Fig8: Session R Studio Workbench pour l'utilisateur à accès limité rstudiouser

Fig8: Session R Studio Workbench pour l'utilisateur à accès limité rstudiouser

Choisissez un nom de session pour démarrer la session dans SageMaker. Installez Paws (voir les instructions plus haut dans cet article) afin de pouvoir accéder aux services AWS appropriés. Vous pouvez maintenant exécuter une requête pour extraire tous les champs de l'ensemble de données via Amazone Athéna, en utilisant la commande “SELECT * FROM "databasename.tablename", et stockez le résultat de la requête dans un Service de stockage simple Amazon (Amazon S3) seau.

Fig9: Exécution de la requête Athena dans la session R Studio

Fig9: Exécution de la requête Athena dans la session R Studio

La capture d'écran suivante montre les fichiers de sortie dans le compartiment S3.

Fig10 : Résultats de l'exécution de la requête Athena dans le compartiment Amazon S3

Fig10 : Résultats de l'exécution de la requête Athena dans le compartiment Amazon S3

La capture d'écran suivante montre les données dans ces fichiers de sortie en utilisant Sélect Amazon S3.

Fig11 : Examen des données de sortie à l'aide d'Amazon S3 Select

Fig11 : Examen des données de sortie à l'aide d'Amazon S3 Select

Seules les données américaines et les colonnes continent, date, total_cases, total_deaths, new_cases, new_deathset iso_code sont indiqués dans le résultat pour le rstudiouser-limitedaccess utilisateur.

Répétons les mêmes étapes pour le rstudiouser-fullaccess utilisateur.

Fig12 : Lancement de la session RStudio pour l'utilisateur rstudiouser-fullaccess depuis la console Amazon SageMaker

Fig12 : Lancement de la session RStudio pour l'utilisateur rstudiouser-fullaccess depuis la console Amazon SageMaker

Vous pouvez voir la page d'accueil de RStudio Workbench et une liste des sessions, des projets et du contenu publié.

Fig13: Session R Studio Workbench pour l'utilisateur rstudiouser-fullaccess

Fig13: Session R Studio Workbench pour l'utilisateur rstudiouser-fullaccess

Exécutons la même requête “SELECT * FROM "databasename.tablename" en utilisant Athéna.

Fig14: Exécution de la requête Athena dans la session R Studio

Fig14: Exécution de la requête Athena dans la session R Studio

La capture d'écran suivante montre les fichiers de sortie dans le compartiment S3.

Fig15 : Résultats de l'exécution de la requête Athena dans le compartiment Amazon S3

Fig15 : Résultats de l'exécution de la requête Athena dans le compartiment Amazon S3

La capture d'écran suivante montre les données dans ces fichiers de sortie en utilisant Sélect Amazon S3.

Fig16 : Examen des données de sortie à l'aide d'Amazon S3 Select

Fig16 : Examen des données de sortie à l'aide d'Amazon S3 Select

Comme le montre cet exemple, le rstudiouser-fullaccess l'utilisateur a accès à toutes les colonnes et lignes du jeu de données.

Auto-hébergé sur Amazon EC2

Si vous souhaitez commencer à expérimenter la version open source de RStudio sur AWS, vous pouvez installer Rstudio sur une instance EC2. Ce modèle CloudFormation fourni dans cet article provisionne l'instance EC2 et installe RStudio à l'aide du script de données utilisateur. Vous pouvez exécuter le modèle plusieurs fois pour provisionner plusieurs instances de RStudio selon vos besoins, et vous pouvez l'utiliser dans n'importe quelle région AWS. Après avoir déployé le modèle CloudFormation, il vous fournit une URL pour accéder à RStudio à partir d'un navigateur Web. Amazon EC2 vous permet d'évoluer vers le haut ou vers le bas pour gérer les modifications de la taille des données et la capacité de calcul nécessaire pour exécuter vos analyses.

Créer une paire clé-valeur pour un accès sécurisé

AWS utilise la cryptographie à clé publique pour sécuriser les informations de connexion de votre instance EC2. Vous spécifiez le nom de la paire de clés dans le KeyPair paramètre lorsque vous lancez le modèle CloudFormation. Vous pouvez ensuite utiliser la même clé pour vous connecter ultérieurement à l'instance EC2 provisionnée si nécessaire.

Avant d'exécuter le modèle CloudFormation, assurez-vous que vous disposez de la paire de clés Amazon EC2 dans le compte AWS que vous prévoyez d'utiliser. Si ce n'est pas le cas, reportez-vous à Créer une paire de clés à l'aide d'Amazon EC2 pour obtenir des instructions pour en créer un.

Lancez le modèle CloudFormationConnectez-vous à la console CloudFormation dans le us-east-1 Région et choisissez Lancer la pile.

Lancer le bouton de la pile

Vous devez saisir plusieurs paramètres dans le modèle CloudFormation :

  • InitialUser et InitialPassword – Le nom d'utilisateur et le mot de passe que vous utilisez pour vous connecter à la session RStudio. Les valeurs par défaut sont rstudio ainsi que Rstudio@123, Respectivement.
  • Type d'instance – Le type d'instance EC2 sur lequel déployer le serveur RStudio. Le modèle accepte actuellement toutes les instances des familles d'instances t2, m4, c4, r4, g2, p2 et g3, et peut facilement intégrer d'autres familles d'instances. La valeur par défaut est t2.micro.
  • Paire de clés – La paire de clés que vous utilisez pour vous connecter à l'instance EC2.
  • VpcId et SubnetId - L' Cloud privé virtuel Amazon (Amazon VPC) et le sous-réseau dans lequel lancer l'instance.

Après avoir entré ces paramètres, déployez le modèle CloudFormation. Une fois terminé, les ressources suivantes sont disponibles :

  • Une instance EC2 avec RStudio installé dessus.
  • Un rôle IAM avec les autorisations nécessaires pour se connecter à d'autres services AWS.
  • Un groupe de sécurité avec des règles pour ouvrir le port 8787 pour le serveur RStudio.

Connectez-vous à RStudio

Vous êtes maintenant prêt à utiliser RStudio ! Allez à la Sortie pour la pile CloudFormation et copiez la valeur de l'URL RStudio (elle est au format http://ec2-XX-XX-XXX-XX.compute-1.amazonaws.com:8787/). Entrez cette URL dans un navigateur Web. Cela ouvre votre session RStudio, à laquelle vous pouvez vous connecter en utilisant le même nom d'utilisateur et mot de passe que vous avez fourni lors de l'exécution du modèle CloudFormation.

Accéder aux services AWS depuis RStudio

Après avoir accédé à la session RStudio, vous devez installer le package R pour AWS (Paws). Cela vous permet de vous connecter à de nombreux services AWS, y compris les services et les ressources de votre lac de données. Pour installer Paws, saisissez et exécutez le code R suivant :

install.packages("paws")

Pour utiliser un service AWS, créez un client et accédez aux opérations du service à partir de ce client. Lorsque vous accédez aux API AWS, vous devez fournir vos informations d'identification et votre région. Paws recherche les informations d'identification et la région à l'aide de la chaîne d'authentification AWS :

  • Clé d'accès, clé secrète, jeton de session, profil ou région fourni explicitement
  • Variables d'environnement R
  • Variables d'environnement du système d'exploitation
  • AWS a partagé les informations d'identification et les fichiers de configuration dans .aws/credentials ainsi que .aws/config
  • Rôle IAM du conteneur
  • Rôle IAM de l'instance

Étant donné que vous exécutez sur une instance EC2 avec un rôle IAM attaché, Paws utilise automatiquement les informations d'identification de votre rôle IAM pour authentifier les demandes d'API AWS.

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

Pour l'environnement de production, nous vous recommandons d'utiliser la solution évolutive Rstudio décrite dans cet article..

Conclusion

Vous avez appris à déployer votre environnement RStudio dans AWS. Nous avons démontré les avantages de l'utilisation de RStudio sur Amazon SageMaker et comment vous pouvez commencer. Vous avez également appris comment commencer rapidement à expérimenter la version open source de RStudio à l'aide d'une installation auto-hébergée utilisant Amazon EC2. Nous avons également montré comment intégrer RStudio dans vos architectures de lac de données et mettre en œuvre un contrôle d'accès précis sur une table de lac de données à l'aide de la fonctionnalité de sécurité au niveau des lignes et des cellules de Lake Formation.

Dans notre prochain article, nous montrerons comment conteneuriser les scripts R et les exécuter à l'aide de AWS Lambda.


À propos des auteurs

Implémentez RStudio sur votre environnement AWS et accédez à votre lac de données à l'aide des autorisations AWS Lake Formation PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Venkata Kampana est architecte de solutions senior au sein de l'équipe AWS Health and Human Services et est basé à Sacramento, en Californie. Dans ce rôle, il aide les clients du secteur public à atteindre leurs objectifs de mission avec des solutions bien architecturées sur AWS.

Implémentez RStudio sur votre environnement AWS et accédez à votre lac de données à l'aide des autorisations AWS Lake Formation PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Dr Dawn Heisey-Grove est le responsable de l'analyse de la santé publique pour l'équipe des gouvernements d'État et locaux d'Amazon Web Services. Dans ce rôle, elle est chargée d'aider les agences de santé publique nationales et locales à réfléchir de manière créative à la manière de relever leurs défis d'analyse et leurs objectifs à long terme. Elle a passé sa carrière à trouver de nouvelles façons d'utiliser les données existantes ou nouvelles pour soutenir la surveillance et la recherche en santé publique.

Horodatage:

Plus de Apprentissage automatique AWS