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.
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.
Poniższy zrzut ekranu pokazuje rstudiouser-fullaccess
szczegóły profilu.
Zbiór danych użyty w tym poście to Publiczny zbiór danych COVID-19. Poniższy zrzut ekranu przedstawia przykład danych:
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).
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
.
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
.
Możesz zobaczyć stronę główną programu RStudio Workbench oraz listę sesji, projektów i opublikowanej zawartości.
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).
Poniższy zrzut ekranu przedstawia pliki wyjściowe w zasobniku S3.
Poniższy zrzut ekranu pokazuje dane w tych plikach wyjściowych przy użyciu Amazon S3 Wybierz.
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.
Możesz zobaczyć stronę główną programu RStudio Workbench oraz listę sesji, projektów i opublikowanej zawartości.
Uruchommy to samo zapytanie “SELECT * FROM "databasename.tablename"
za pomocą Ateny.
Poniższy zrzut ekranu przedstawia pliki wyjściowe w zasobniku S3.
Poniższy zrzut ekranu pokazuje dane w tych plikach wyjściowych przy użyciu Amazon S3 Wybierz.
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.
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
iRstudio@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:
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.
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
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.
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.
- AI
- ai sztuka
- generator sztuki ai
- masz robota
- Amazon Sage Maker
- sztuczna inteligencja
- certyfikacja sztucznej inteligencji
- sztuczna inteligencja w bankowości
- robot sztucznej inteligencji
- roboty sztucznej inteligencji
- oprogramowanie sztucznej inteligencji
- Uczenie maszynowe AWS
- blockchain
- konferencja blockchain ai
- pomysłowość
- sztuczna inteligencja konwersacyjna
- konferencja kryptograficzna
- Dall's
- głęboka nauka
- google to
- uczenie maszynowe
- plato
- Platon Ai
- Analiza danych Platona
- Gra Platona
- PlatoDane
- platogaming
- skala ai
- składnia
- zefirnet