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.
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.
La capture d'écran suivante montre le rstudiouser-fullaccess
Détails du profil.
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 :
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).
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_deaths
et iso_codecolumns
.
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
.
Vous pouvez voir la page d'accueil de RStudio Workbench et une liste des sessions, des projets et du contenu publié.
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.
La capture d'écran suivante montre les fichiers de sortie dans le compartiment S3.
La capture d'écran suivante montre les données dans ces fichiers de sortie en utilisant Sélect Amazon S3.
Seules les données américaines et les colonnes continent, date, total_cases
, total_deaths
, new_cases
, new_deaths
et 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.
Vous pouvez voir la page d'accueil de RStudio Workbench et une liste des sessions, des projets et du contenu publié.
Exécutons la même requête “SELECT * FROM "databasename.tablename"
en utilisant Athéna.
La capture d'écran suivante montre les fichiers de sortie dans le compartiment S3.
La capture d'écran suivante montre les données dans ces fichiers de sortie en utilisant Sélect Amazon S3.
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.
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 queRstudio@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 :
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.
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
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.
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.
- AI
- art de l'IA
- générateur d'art ai
- robot IA
- Amazon Sage Maker
- intelligence artificielle
- certification en intelligence artificielle
- intelligence artificielle en banque
- robot d'intelligence artificielle
- robots d'intelligence artificielle
- logiciel d'intelligence artificielle
- Apprentissage automatique AWS
- blockchain
- conférence blockchain ai
- cognitif
- intelligence artificielle conversationnelle
- crypto conférence ai
- de dall
- l'apprentissage en profondeur
- google ai
- machine learning
- Platon
- platon ai
- Intelligence des données Platon
- Jeu de Platon
- PlatonDonnées
- jeu de platogamie
- échelle ai
- syntaxe
- zéphyrnet