R ist eine beliebte analytische Programmiersprache, die von Data Scientists und Analysten verwendet wird, um Daten zu verarbeiten, statistische Analysen durchzuführen, Datenvisualisierungen zu erstellen und Modelle für maschinelles Lernen (ML) zu erstellen. RStudio, die integrierte Entwicklungsumgebung für R, bietet Open-Source-Tools und unternehmenstaugliche professionelle Software für Teams, um ihre Arbeit zu entwickeln und im gesamten Unternehmen zu teilen. Das Erstellen, Sichern, Skalieren und Verwalten von RStudio selbst ist jedoch mühsam und umständlich.
Die Implementierung der RStudio-Umgebung in AWS bietet Elastizität und Skalierbarkeit, die Sie bei der Bereitstellung vor Ort nicht haben, wodurch die Notwendigkeit entfällt, diese Infrastruktur zu verwalten. Sie können die gewünschte Rechenleistung und den Arbeitsspeicher basierend auf den Verarbeitungsanforderungen auswählen und auch ohne Vorabinvestition nach oben oder unten skalieren, um mit Analyse- und ML-Workloads unterschiedlicher Größe zu arbeiten. Auf diese Weise können Sie schnell mit neuen Datenquellen und Code experimentieren und neue Analyseprozesse und ML-Modelle im Rest der Organisation einführen. Sie können Ihre Data Lake-Ressourcen auch nahtlos integrieren, um sie Entwicklern und Data Scientists zur Verfügung zu stellen, und die Daten sichern, indem Sie Zugriffskontrollen auf Zeilen- und Spaltenebene verwenden AWS Lake-Formation.
Dieser Beitrag stellt zwei Möglichkeiten zum einfachen Bereitstellen und Ausführen von RStudio auf AWS vor, um auf Daten zuzugreifen, die in Data Lake gespeichert sind:
- Vollständig verwaltet Amazon Sage Maker
- Selbst gehostet auf Amazon Elastic Compute-Cloud (Amazon EC2)
- Sie können die Open-Source-Version von RStudio mit einem von EC2 gehosteten Ansatz bereitstellen, den wir ebenfalls in diesem Beitrag beschreiben werden. Die selbst gehostete Option erfordert, dass der Administrator eine EC2-Instanz erstellt und RStudio manuell oder mithilfe einer AWS CloudFormation Bei dieser Option besteht auch weniger Flexibilität für die Implementierung von Benutzerzugriffskontrollen, da alle Benutzer bei dieser Art der Implementierung dieselbe Zugriffsebene haben.
RStudio auf Amazon SageMaker
Sie können RStudio Workbench mit einem einfachen Klick von SageMaker aus starten. Mit SageMaker müssen Kunden nicht den Betriebsaufwand für das Erstellen, Installieren, Sichern, Skalieren und Warten von RStudio tragen, sie müssen nicht für den kontinuierlich laufenden RStudio-Server bezahlen (wenn sie t3.medium verwenden) und sie zahlen nur für RSession-Computing, wenn sie es verwenden. RStudio-Benutzer haben die Flexibilität, Rechenleistung dynamisch zu skalieren, indem sie Instanzen on-the-fly wechseln. Zum Ausführen von RStudio auf SageMaker muss ein Administrator eine SageMaker-Domäne und zugehörige Benutzerprofile einrichten. Außerdem benötigen Sie eine entsprechende RStudio-Lizenz
Innerhalb von SageMaker können Sie Zugriff auf RStudio-Administrator- und RStudio-Benutzerebene mit unterschiedlichen Berechtigungen gewähren. Nur Benutzerprofile, denen eine dieser beiden Rollen zugewiesen wurde, können auf RStudio in SageMaker zugreifen. Weitere Informationen zu Administratoraufgaben zum Einrichten von RStudio auf SageMaker finden Sie unter Erste Schritte mit RStudio auf Amazon SageMaker. Dieser Beitrag zeigt auch den Prozess der Auswahl von EC2-Instances für jede Sitzung und wie der Administrator die EC2-Instance-Optionen für RStudio-Benutzer einschränken kann.
Verwenden Sie den Sicherheitszugriff auf Zeilen- und Spaltenebene von Lake Formation
Zusätzlich dazu, dass Ihr Team RStudio-Sitzungen auf SageMaker starten kann, können Sie den Data Lake auch sichern, indem Sie Zugriffskontrollen auf Zeilen- und Spaltenebene von Lake Formation verwenden. Weitere Informationen finden Sie unter Effektive Data Lakes mit AWS Lake Formation, Teil 4: Implementieren von Sicherheit auf Zellen- und Zeilenebene.
Durch die Sicherheitskontrollen von Lake Formation können Sie sicherstellen, dass jede Person den richtigen Zugriff auf die Daten im Data Lake hat. Betrachten Sie die folgenden zwei Benutzerprofile in der SageMaker-Domäne, jedes mit einer anderen Ausführungsrolle:
Benutzerprofil | Ausführungsrolle |
rstudiouser-fullaccess |
AmazonSageMaker-ExecutionRole-FullAccess |
rstudiouser-limitedaccess |
AmazonSageMaker-ExecutionRole-LimitedAccess |
Der folgende Screenshot zeigt die rstudiouser-limitedaccess
Profildetails.
Der folgende Screenshot zeigt die rstudiouser-fullaccess
Profildetails.
Der für diesen Beitrag verwendete Datensatz ist a Öffentlicher COVID-19-Datensatz. Der folgende Screenshot zeigt ein Beispiel der Daten:
Nachdem Sie das Benutzerprofil erstellt und der entsprechenden Rolle zugewiesen haben, können Sie auf Lake Formation zugreifen, um die Daten zu crawlen AWS-Kleber, erstellen Sie die Metadaten und die Tabelle und gewähren Sie Zugriff auf die Tabellendaten. Für die AmazonSageMaker-ExecutionRole-FullAccess
Rolle gewähren Sie Zugriff auf alle Spalten in der Tabelle und für AmazonSageMaker-ExecutionRole-LimitedAccess
, gewähren Sie den Zugriff über den Datenfilter USA_Filter
. Wir verwenden diesen Filter, um Spaltenberechtigungen auf Zeilen- und Zellenebene bereitzustellen (siehe die Ressource Spalte im folgenden Screenshot).
Wie im folgenden Screenshot gezeigt, hat die zweite Rolle eingeschränkten Zugriff. Benutzer, die dieser Rolle zugeordnet sind, können nur auf die zugreifen continent
, date
, total_cases
, total_deaths
, new_cases
, new_deaths
und iso_codecolumns
.
Da jedem Benutzerprofil Rollenberechtigungen zugeordnet sind, können wir sehen, wie Lake Formation die entsprechenden Berechtigungen auf Zeilen- und Spaltenebene erzwingt. Sie können die RStudio-Workbench über die öffnen App starten Drop-down-Menü in der erstellten Benutzerliste und wählen Sie aus RStudio.
Im folgenden Screenshot starten wir die App als rstudiouser-limitedaccess user
.
Sie können die Startseite von RStudio Workbench und eine Liste mit Sitzungen, Projekten und veröffentlichten Inhalten anzeigen.
Wählen Sie einen Sitzungsnamen aus, um die Sitzung in SageMaker zu starten. Installieren Sie Paws (siehe Anleitung weiter oben in diesem Beitrag), damit Sie auf die entsprechenden AWS-Services zugreifen können. Jetzt können Sie eine Abfrage ausführen, um alle Felder aus dem Datensatz abzurufen Amazonas Athena, mit dem Befehl “SELECT * FROM "databasename.tablename"
, und speichern Sie die Abfrageausgabe in einer Amazon Simple Storage-Service (Amazon S3) Eimer.
Der folgende Screenshot zeigt die Ausgabedateien im S3-Bucket.
Der folgende Screenshot zeigt die Daten in diesen Ausgabedateien mit Amazon S3 auswählen.
Nur USA-Daten und Spalten Kontinent, Datum, total_cases
, total_deaths
, new_cases
, new_deaths
und iso_code
werden im Ergebnis für die angezeigt rstudiouser-limitedaccess
Benutzer.
Wiederholen wir die gleichen Schritte für die rstudiouser-fullaccess
Benutzer.
Sie können die Startseite von RStudio Workbench und eine Liste mit Sitzungen, Projekten und veröffentlichten Inhalten anzeigen.
Lassen Sie uns dieselbe Abfrage ausführen “SELECT * FROM "databasename.tablename"
mit Athene.
Der folgende Screenshot zeigt die Ausgabedateien im S3-Bucket.
Der folgende Screenshot zeigt die Daten in diesen Ausgabedateien mit Amazon S3 auswählen.
Wie in diesem Beispiel gezeigt, die rstudiouser-fullaccess
Der Benutzer hat Zugriff auf alle Spalten und Zeilen im Dataset.
Selbst gehostet auf Amazon EC2
Wenn Sie mit der Open-Source-Version von RStudio auf AWS experimentieren möchten, können Sie Rstudio auf einer EC2-Instance installieren. Diese in diesem Beitrag bereitgestellte CloudFormation-Vorlage stellt die EC2-Instance bereit und installiert RStudio mithilfe des Benutzerdatenskripts. Sie können die Vorlage mehrmals ausführen, um bei Bedarf mehrere RStudio-Instances bereitzustellen, und Sie können sie in jeder AWS-Region verwenden. Nachdem Sie die CloudFormation-Vorlage bereitgestellt haben, stellt sie Ihnen eine URL für den Zugriff auf RStudio über einen Webbrowser bereit. Mit Amazon EC2 können Sie nach oben oder unten skalieren, um Änderungen der Datengröße und der erforderlichen Rechenkapazität zum Ausführen Ihrer Analysen zu bewältigen.
Erstellen Sie ein Schlüssel-Wert-Paar für sicheren Zugriff
AWS verwendet Public-Key-Kryptographie, um die Anmeldeinformationen für Ihre EC2-Instance zu sichern. Den Namen des Schlüsselpaares geben Sie in der an KeyPair
-Parameter, wenn Sie die CloudFormation-Vorlage starten. Anschließend können Sie sich bei Bedarf später mit demselben Schlüssel bei der bereitgestellten EC2-Instance anmelden.
Stellen Sie vor dem Ausführen der CloudFormation-Vorlage sicher, dass Sie das Amazon EC2-Schlüsselpaar in dem AWS-Konto haben, das Sie verwenden möchten. Wenn nicht, dann beziehen Sie sich auf Erstellen Sie ein Schlüsselpaar mit Amazon EC2 für Anweisungen zum Erstellen eines solchen.
Starten Sie die CloudFormation-Vorlage. Melden Sie sich in der CloudFormation-Konsole an us-east-1
Region und wählen Sie Stack starten.
Sie müssen mehrere Parameter in die CloudFormation-Vorlage eingeben:
- InitialUser und InitialPassword – Den Benutzernamen und das Kennwort, mit denen Sie sich bei der RStudio-Sitzung anmelden. Die Standardwerte sind
rstudio
undRstudio@123
, Bzw. - Instanztyp – Der EC2-Instance-Typ, auf dem der RStudio-Server bereitgestellt werden soll. Die Vorlage akzeptiert derzeit alle Instances in den Instance-Familien t2, m4, c4, r4, g2, p2 und g3 und kann problemlos andere Instance-Familien integrieren. Der Standardwert ist t2.micro.
- Schlüsselpaar – Das Schlüsselpaar, mit dem Sie sich bei der EC2-Instance anmelden.
- VpcId und SubnetId - Die Amazon Virtual Private Cloud (Amazon-VPC) und Subnetz, in dem die Instanz gestartet werden soll.
Nachdem Sie diese Parameter eingegeben haben, stellen Sie die CloudFormation-Vorlage bereit. Wenn es fertig ist, sind die folgenden Ressourcen verfügbar:
- Eine EC2-Instance, auf der RStudio installiert ist.
- Eine IAM-Rolle mit den erforderlichen Berechtigungen zum Herstellen einer Verbindung mit anderen AWS-Services.
- Eine Sicherheitsgruppe mit Regeln zum Öffnen von Port 8787 für den RStudio-Server.
Melden Sie sich bei RStudio an
Jetzt können Sie RStudio verwenden! Gehen Sie zum Ausgänge Registerkarte für den CloudFormation-Stack und kopieren Sie den RStudio-URL-Wert (er hat das Format http://ec2-XX-XX-XXX-XX.compute-1.amazonaws.com:8787/
). Geben Sie diese URL in einen Webbrowser ein. Dadurch wird Ihre RStudio-Sitzung geöffnet, bei der Sie sich mit demselben Benutzernamen und Kennwort anmelden können, die Sie beim Ausführen der CloudFormation-Vorlage angegeben haben.
Greifen Sie von RStudio aus auf AWS-Services zu
Nachdem Sie auf die RStudio-Sitzung zugegriffen haben, sollten Sie das R-Paket für AWS (Paws) installieren. Dadurch können Sie eine Verbindung zu vielen AWS-Services herstellen, einschließlich der Services und Ressourcen in Ihrem Data Lake. Um Paws zu installieren, geben Sie den folgenden R-Code ein und führen Sie ihn aus:
Um einen AWS-Service zu verwenden, erstellen Sie einen Client und greifen Sie von diesem Client aus auf die Vorgänge des Service zu. Beim Zugriff auf AWS-APIs müssen Sie Ihre Anmeldeinformationen und Ihre Region angeben. Paws sucht mithilfe der AWS-Authentifizierungskette nach den Anmeldeinformationen und der Region:
- Explizit bereitgestellter Zugriffsschlüssel, geheimer Schlüssel, Sitzungstoken, Profil oder Region
- R-Umgebungsvariablen
- Umgebungsvariablen des Betriebssystems
- Von AWS freigegebene Anmeldeinformationen und Konfigurationsdateien in
.aws/credentials
und.aws/config
- Container-IAM-Rolle
- Instanz-IAM-Rolle
Da Sie auf einer EC2-Instance mit einer angehängten IAM-Rolle laufen, verwendet Paws automatisch Ihre IAM-Rollenanmeldeinformationen, um AWS-API-Anforderungen zu authentifizieren.
Für Produktionsumgebungen empfehlen wir die Verwendung der skalierbaren Rstudio-Lösung, die in beschrieben wird dieses Blog.
Zusammenfassung
Sie haben gelernt, wie Sie Ihre RStudio-Umgebung in AWS bereitstellen. Wir haben die Vorteile der Verwendung von RStudio auf Amazon SageMaker demonstriert und Ihnen gezeigt, wie Sie beginnen können. Sie haben auch gelernt, wie Sie schnell mit dem Experimentieren mit der Open-Source-Version von RStudio beginnen können, indem Sie eine selbst gehostete Installation mit Amazon EC2 verwenden. Wir haben auch gezeigt, wie Sie RStudio in Ihre Data-Lake-Architekturen integrieren und mithilfe der Sicherheitsfunktion auf Zeilen- und Zellenebene von Lake Formation eine differenzierte Zugriffskontrolle für eine Data-Lake-Tabelle implementieren.
In unserem nächsten Beitrag werden wir demonstrieren, wie R-Skripte containerisiert und mit ausgeführt werden AWS Lambda.
Über die Autoren
Venkata Kampana ist Senior Solutions Architect im AWS Health and Human Services Team und lebt in Sacramento, CA. In dieser Funktion hilft er Kunden des öffentlichen Sektors, ihre Missionsziele mit gut durchdachten Lösungen auf AWS zu erreichen.
Dr. Dawn Heisey-Grove ist der Public-Health-Analytics-Leiter für das staatliche und lokale Regierungsteam von Amazon Web Services. In dieser Funktion ist sie dafür verantwortlich, staatliche und lokale Gesundheitsbehörden dabei zu unterstützen, kreativ darüber nachzudenken, wie sie ihre analytischen Herausforderungen und langfristigen Ziele erreichen können. Sie hat ihre Karriere damit verbracht, neue Wege zu finden, um vorhandene oder neue Daten zu nutzen, um die Überwachung und Forschung im Bereich der öffentlichen Gesundheit zu unterstützen.
- AI
- Kunst
- KI-Kunstgenerator
- KI-Roboter
- Amazon Sage Maker
- künstliche Intelligenz
- Zertifizierung für künstliche Intelligenz
- Künstliche Intelligenz im Bankwesen
- Roboter mit künstlicher Intelligenz
- Roboter mit künstlicher Intelligenz
- Software für künstliche Intelligenz
- AWS Maschinelles Lernen
- Blockchain
- Blockchain-Konferenz ai
- Einfallsreichtum
- dialogorientierte künstliche Intelligenz
- Krypto-Konferenz ai
- Dalls
- tiefe Lernen
- Google Ai
- Maschinelles Lernen
- Plato
- platon ai
- Datenintelligenz von Plato
- Plato-Spiel
- PlatoData
- Platogaming
- Skala ai
- Syntax
- Zephyrnet