Zaimplementuj RStudio w swoim środowisku AWS i uzyskaj dostęp do swojego jeziora danych, korzystając z uprawnień AWS Lake Formation PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Zaimplementuj RStudio w swoim środowisku AWS i uzyskaj dostęp do Data Lake przy użyciu uprawnień AWS Lake Formation

R to popularny analityczny język programowania używany przez naukowców zajmujących się danymi i analityków do przetwarzania danych, przeprowadzania analiz statystycznych, tworzenia wizualizacji danych i budowania modeli uczenia maszynowego (ML). RStudio, zintegrowane środowisko programistyczne dla R, zapewnia narzędzia typu open source i profesjonalne oprogramowanie gotowe do zastosowań korporacyjnych dla zespołów do opracowywania i dzielenia się swoją pracą w całej organizacji. Samodzielne budowanie, zabezpieczanie, skalowanie i utrzymywanie RStudio jest jednak żmudne i kłopotliwe.

Wdrożenie środowiska RStudio w AWS zapewnia elastyczność i skalowalność, których nie masz podczas wdrażania lokalnego, eliminując potrzebę zarządzania tą infrastrukturą. Możesz wybrać żądaną moc obliczeniową i pamięć w oparciu o wymagania dotyczące przetwarzania, a także skalować w górę lub w dół, aby pracować z obciążeniami analitycznymi i ML o różnych rozmiarach bez wstępnej inwestycji. Umożliwia to szybkie eksperymentowanie z nowymi źródłami danych i kodem oraz wdrażanie nowych procesów analitycznych i modeli ML w pozostałej części organizacji. Możesz również bezproblemowo zintegrować zasoby Data Lake, aby udostępnić je deweloperom i analitykom danych oraz zabezpieczyć dane za pomocą kontroli dostępu na poziomie wiersza i kolumny z Formacja AWS Lake.

W tym poście przedstawiono dwa sposoby łatwego wdrażania i uruchamiania RStudio w AWS w celu uzyskania dostępu do danych przechowywanych w Data Lake:

  • W pełni zarządzany na Amazon Sage Maker
  • Własny host włączony Elastyczna chmura obliczeniowa Amazon (Amazonka EC2)
    • Możesz wdrożyć wersję RStudio o otwartym kodzie źródłowym przy użyciu podejścia hostowanego EC2, które również opiszemy w tym poście. Opcja samodzielnego hostowania wymaga od administratora utworzenia instancji EC2 i zainstalowania RStudio ręcznie lub za pomocą Tworzenie chmury AWS W przypadku tej opcji istnieje również mniejsza elastyczność we wdrażaniu kontroli dostępu użytkownika, ponieważ wszyscy użytkownicy mają ten sam poziom dostępu w tego typu implementacji.

RStudio na Amazon SageMaker

RStudio Workbench można uruchomić za pomocą jednego kliknięcia w programie SageMaker. Dzięki temu, że klienci SageMaker nie muszą ponosić kosztów operacyjnych związanych z budowaniem, instalacją, zabezpieczaniem, skalowaniem i konserwacją RStudio, nie muszą płacić za stale działający serwer RStudio (jeśli używają t3.medium) i płacą tylko dla RSession obliczają, gdy go używają. Użytkownicy RStudio będą mieli elastyczność dynamicznego skalowania obliczeń poprzez przełączanie wystąpień w locie. Uruchamianie RStudio na SageMaker wymaga, aby administrator ustanowił domenę SageMaker i powiązane profile użytkowników. Potrzebujesz również odpowiedniej licencji RStudio

W programie SageMaker możesz przyznać dostęp na poziomie administratora RStudio i użytkownika RStudio, z różnymi uprawnieniami. Tylko profile użytkowników, którym przyznano jedną z tych dwóch ról, mogą uzyskiwać dostęp do RStudio w programie SageMaker. Aby uzyskać więcej informacji na temat zadań administratora związanych z konfiguracją RStudio w SageMaker, zobacz Zacznij korzystać z RStudio w Amazon SageMaker. Ten post pokazuje również proces wybierania instancji EC2 dla każdej sesji oraz sposób, w jaki administrator może ograniczyć opcje instancji EC2 dla użytkowników RStudio.

Ryc. 1: Diagram architektury przedstawiający interakcję różnych usług AWS

Użyj dostępu zabezpieczeń na poziomie wiersza i kolumny do usługi Lake Formation

Oprócz umożliwienia zespołowi uruchamiania sesji RStudio w programie SageMaker można również zabezpieczyć jezioro danych, korzystając z kontroli dostępu na poziomie wiersza i kolumny z usługi Lake Formation. Aby uzyskać więcej informacji, zobacz Efektywne jeziora danych przy użyciu AWS Lake Formation, część 4: Wdrażanie zabezpieczeń na poziomie komórki i wiersza.

Dzięki kontrolom zabezpieczeń Lake Formation możesz upewnić się, że każda osoba ma odpowiedni dostęp do danych w Data Lake. Rozważ następujące dwa profile użytkowników w domenie SageMaker, każdy z inną rolą wykonawczą:

Profil użytkownika Rola wykonania
rstudiouser-fullaccess AmazonSageMaker-ExecutionRole-FullAccess
rstudiouser-limitedaccess AmazonSageMaker-ExecutionRole-LimitedAccess

Poniższy zrzut ekranu pokazuje rstudiouser-limitedaccess szczegóły profilu.

Rys 2: Szczegóły profilu roli rstudiouser-limitedaccess

Rys 2: Szczegóły profilu roli rstudiouser-limitedaccess

Poniższy zrzut ekranu pokazuje rstudiouser-fullaccess szczegóły profilu.

Rys 3: Szczegóły profilu roli rstudiouser-fullaccess

Rys 3: Szczegóły profilu roli rstudiouser-fullaccess

Zbiór danych użyty w tym poście to Publiczny zbiór danych COVID-19. Poniższy zrzut ekranu przedstawia przykład danych:

Ryc 4: Publiczny zbiór danych COVID-19

Ryc 4: Publiczny zbiór danych COVID-19

Po utworzeniu profilu użytkownika i przypisaniu go do odpowiedniej roli możesz uzyskać dostęp do usługi Lake Formation w celu indeksowania danych za pomocą Klej AWS, utwórz metadane i tabelę oraz przyznaj dostęp do danych tabeli. Dla AmazonSageMaker-ExecutionRole-FullAccess roli, przyznajesz dostęp do wszystkich kolumn w tabeli, a dla AmazonSageMaker-ExecutionRole-LimitedAccess, przyznajesz dostęp za pomocą filtra danych USA_Filter. Używamy tego filtra, aby zapewnić uprawnienia do kolumn na poziomie wiersza i komórki (patrz Zasób na poniższym zrzucie ekranu).

Ryc. 5: Uprawnienia AWS Lake Formation dla ról AmazonSageMaker-ExecutionRole - Pełny/ograniczony dostęp

Ryc. 5: Uprawnienia AWS Lake Formation dla ról AmazonSageMaker-ExecutionRole - Pełny/ograniczony dostęp

Jak widać na poniższym zrzucie ekranu, druga rola ma ograniczony dostęp. Użytkownicy powiązani z tą rolą mają dostęp tylko do continent, date, total_cases, total_deaths, new_cases, new_deaths, iso_codecolumns.

Rys. 6: Uprawnienia na poziomie kolumny AWS Lake Formation dla roli AmazonSageMaker-ExecutionRole-Limited Access

Rys. 6: Uprawnienia na poziomie kolumny AWS Lake Formation dla roli AmazonSageMaker-ExecutionRole-Limited Access

Dzięki uprawnieniom ról dołączonym do każdego profilu użytkownika możemy zobaczyć, jak Lake Formation wymusza odpowiednie uprawnienia na poziomie wiersza i kolumny. Możesz otworzyć środowisko pracy RStudio z Uruchom aplikację rozwijanego menu na utworzonej liście użytkowników i wybierz RStudio.

Na poniższym zrzucie ekranu uruchamiamy aplikację jako rstudiouser-limitedaccess user.

Rys. 7: Uruchamianie sesji RStudio dla użytkownika z ograniczonym dostępem rstudiouser z konsoli Amazon SageMaker

Rys. 7: Uruchamianie sesji RStudio dla użytkownika z ograniczonym dostępem rstudiouser z konsoli Amazon SageMaker

Możesz zobaczyć stronę główną programu RStudio Workbench oraz listę sesji, projektów i opublikowanej zawartości.

Ryc. 8: Sesja R Studio Workbench dla użytkownika z ograniczonym dostępem rstudiouser

Ryc. 8: Sesja R Studio Workbench dla użytkownika z ograniczonym dostępem rstudiouser

Wybierz nazwę sesji, aby rozpocząć sesję w programie SageMaker. Zainstaluj Łapy (patrz wskazówki wcześniej w tym poście), aby mieć dostęp do odpowiednich usług AWS. Teraz możesz uruchomić zapytanie, aby pobrać wszystkie pola ze zbioru danych za pomocą Amazonka Atena, używając polecenia “SELECT * FROM "databasename.tablename"i przechowuj wynik zapytania w Usługa Amazon Simple Storage Łyżka (Amazon S3).

Ryc. 9: Wykonanie Athena Query w sesji R Studio

Ryc. 9: Wykonanie Athena Query w sesji R Studio

Poniższy zrzut ekranu przedstawia pliki wyjściowe w zasobniku S3.

Ryc.10: Wyniki wykonania Athena Query w Amazon S3 Bucket

Ryc.10: Wyniki wykonania Athena Query w Amazon S3 Bucket

Poniższy zrzut ekranu pokazuje dane w tych plikach wyjściowych przy użyciu Amazon S3 Wybierz.

Rys.11: Przeglądanie danych wyjściowych za pomocą Amazon S3 Select

Rys.11: Przeglądanie danych wyjściowych za pomocą Amazon S3 Select

Tylko dane i kolumny USA kontynent, data, total_cases, total_deaths, new_cases, new_deaths, iso_code są pokazane w wyniku dla rstudiouser-limitedaccess użytkownika.

Powtórzmy te same kroki dla rstudiouser-fullaccess użytkownika.

Rys. 12: Uruchamianie sesji RStudio dla użytkownika rstudiouser-fullaccess z konsoli Amazon SageMaker

Rys. 12: Uruchamianie sesji RStudio dla użytkownika rstudiouser-fullaccess z konsoli Amazon SageMaker

Możesz zobaczyć stronę główną programu RStudio Workbench oraz listę sesji, projektów i opublikowanej zawartości.

Ryc. 13: Sesja R Studio Workbench dla użytkownika rstudiouser z pełnym dostępem

Ryc. 13: Sesja R Studio Workbench dla użytkownika rstudiouser z pełnym dostępem

Uruchommy to samo zapytanie “SELECT * FROM "databasename.tablename" za pomocą Ateny.

Ryc. 14: Wykonanie Athena Query w sesji R Studio

Ryc. 14: Wykonanie Athena Query w sesji R Studio

Poniższy zrzut ekranu przedstawia pliki wyjściowe w zasobniku S3.

Ryc.15: Wyniki wykonania Athena Query w Amazon S3 Bucket

Ryc.15: Wyniki wykonania Athena Query w Amazon S3 Bucket

Poniższy zrzut ekranu pokazuje dane w tych plikach wyjściowych przy użyciu Amazon S3 Wybierz.

Rys.16: Przeglądanie danych wyjściowych za pomocą Amazon S3 Select

Rys.16: Przeglądanie danych wyjściowych za pomocą Amazon S3 Select

Jak pokazano w tym przykładzie, rstudiouser-fullaccess użytkownik ma dostęp do wszystkich kolumn i wierszy w zbiorze danych.

Hostowanie samodzielne na Amazon EC2

Jeśli chcesz zacząć eksperymentować z wersją open source RStudio na AWS, możesz zainstalować Rstudio na instancji EC2. Ten szablon CloudFormation podany w tym poście udostępnia instancję EC2 i instaluje RStudio przy użyciu skryptu danych użytkownika. Szablon można uruchomić wiele razy, aby w razie potrzeby udostępnić wiele wystąpień RStudio i można go używać w dowolnym regionie AWS. Po wdrożeniu szablonu CloudFormation udostępnia on adres URL umożliwiający dostęp do RStudio z przeglądarki internetowej. Amazon EC2 umożliwia skalowanie w górę lub w dół w celu obsługi zmian w wielkości danych i niezbędnej mocy obliczeniowej do prowadzenia analiz.

Utwórz parę klucz-wartość, aby zapewnić bezpieczny dostęp

AWS wykorzystuje kryptografię klucza publicznego, aby zabezpieczyć dane logowania do Twojej instancji EC2. Podajesz nazwę pary kluczy w KeyPair parametr po uruchomieniu szablonu CloudFormation. W razie potrzeby możesz później użyć tego samego klucza, aby zalogować się do udostępnionej instancji EC2.

Przed uruchomieniem szablonu CloudFormation upewnij się, że masz parę kluczy Amazon EC2 na koncie AWS, którego zamierzasz użyć. Jeśli nie, zapoznaj się z Utwórz parę kluczy za pomocą Amazon EC2 aby uzyskać instrukcje, jak je utworzyć.

Uruchom szablon CloudFormationZaloguj się do konsoli CloudFormation w us-east-1 Region i wybierz Uruchom stos.

Uruchom przycisk stosu

Musisz wprowadzić kilka parametrów do szablonu CloudFormation:

  • InitialUser i InitialPassword – Nazwa użytkownika i hasło używane do logowania się do sesji RStudio. Wartości domyślne to rstudio i Rstudio@123, Odpowiednio.
  • Typ wystąpienia – Typ wystąpienia EC2, na którym ma zostać wdrożony serwer RStudio. Szablon obecnie akceptuje wszystkie wystąpienia w rodzinach wystąpień t2, m4, c4, r4, g2, p2 i g3 i może łatwo włączać inne rodziny wystąpień. Wartość domyślna to t2.micro.
  • Para kluczy – Para kluczy, której używasz do logowania się do instancji EC2.
  • Identyfikator Vpc i identyfikator podsieci - Wirtualna prywatna chmura Amazon (Amazon VPC) i podsieć, w której należy uruchomić instancję.

Po wprowadzeniu tych parametrów wdróż szablon CloudFormation. Po zakończeniu dostępne są następujące zasoby:

  • Wystąpienie EC2 z zainstalowanym na nim RStudio.
  • Rola uprawnień z niezbędnymi uprawnieniami do łączenia się z innymi usługami AWS.
  • Grupa zabezpieczeń z regułami otwierania portu 8787 dla serwera RStudio.

Zaloguj się do RStudio

Teraz jesteś gotowy do korzystania z RStudio! Przejdź do Wyjścia tab dla stosu CloudFormation i skopiuj wartość adresu URL RStudio (jest w formacie http://ec2-XX-XX-XXX-XX.compute-1.amazonaws.com:8787/). Wprowadź ten adres URL w przeglądarce internetowej. Spowoduje to otwarcie sesji RStudio, do której możesz się zalogować przy użyciu tej samej nazwy użytkownika i hasła, które podałeś podczas uruchamiania szablonu CloudFormation.

Uzyskaj dostęp do usług AWS z RStudio

Po uzyskaniu dostępu do sesji RStudio należy zainstalować pakiet R dla AWS (Paws). Dzięki temu możesz łączyć się z wieloma usługami AWS, w tym z usługami i zasobami w Twoim Data Lake. Aby zainstalować Łapy, wprowadź i uruchom następujący kod R:

install.packages("paws")

Aby korzystać z usługi AWS, utwórz klienta i uzyskaj dostęp do operacji usługi z tego klienta. Uzyskując dostęp do interfejsów API AWS, musisz podać swoje dane uwierzytelniające i region. Paws wyszukuje poświadczenia i region przy użyciu łańcucha uwierzytelniania AWS:

  • Jawnie podany klucz dostępu, tajny klucz, token sesji, profil lub region
  • zmienne środowiskowe R
  • Zmienne środowiskowe systemu operacyjnego
  • Udostępnione dane uwierzytelniające i pliki konfiguracyjne AWS w .aws/credentials i .aws/config
  • Rola uprawnień kontenera
  • Rola uprawnień instancji

Ponieważ korzystasz z instancji EC2 z dołączoną rolą uprawnień, Paws automatycznie używa Twoich danych logowania roli uprawnień do uwierzytelniania żądań interfejsu 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"

W przypadku środowiska produkcyjnego zalecamy użycie skalowalnego rozwiązania Rstudio opisanego w ten blog.

Wnioski

Dowiedziałeś się, jak wdrożyć swoje środowisko RStudio w AWS. Zademonstrowaliśmy zalety korzystania z RStudio na Amazon SageMaker i dowiedzieliśmy się, jak zacząć. Dowiedziałeś się również, jak szybko rozpocząć eksperymentowanie z wersją RStudio o otwartym kodzie źródłowym, korzystając z instalacji samoobsługowej przy użyciu Amazon EC2. Pokazaliśmy również, jak zintegrować RStudio z architekturą usługi Data Lake i zaimplementować szczegółową kontrolę dostępu w tabeli usługi Data Lake przy użyciu funkcji zabezpieczeń na poziomie wiersza i komórki usługi Lake Formation.

W naszym następnym poście zademonstrujemy, jak konteneryzować skrypty R i uruchamiać je za pomocą AWS Lambda.


O autorach

Zaimplementuj RStudio w swoim środowisku AWS i uzyskaj dostęp do swojego jeziora danych, korzystając z uprawnień AWS Lake Formation PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Wenkata Kampana jest starszym architektem rozwiązań w zespole AWS Health and Human Services i ma siedzibę w Sacramento w Kalifornii. W tej roli pomaga klientom z sektora publicznego osiągnąć ich cele misji dzięki dobrze zaprojektowanym rozwiązaniom w AWS.

Zaimplementuj RStudio w swoim środowisku AWS i uzyskaj dostęp do swojego jeziora danych, korzystając z uprawnień AWS Lake Formation PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Dr Dawn Heisey-Grove jest liderem analityki zdrowia publicznego w zespole administracji stanowej i samorządowej Amazon Web Services. W tej roli jest odpowiedzialna za pomoc stanowym i lokalnym agencjom zdrowia publicznego w kreatywnym myśleniu o tym, jak sprostać wyzwaniom analitycznym i długoterminowym celom. Spędziła swoją karierę na poszukiwaniu nowych sposobów wykorzystania istniejących lub nowych danych do wspierania nadzoru i badań w zakresie zdrowia publicznego.

Znak czasu:

Więcej z Uczenie maszynowe AWS