Впровадьте RStudio у своєму середовищі AWS і отримуйте доступ до свого озера даних за допомогою дозволів AWS Lake Formation PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Впровадьте RStudio у своєму середовищі AWS і отримайте доступ до свого озера даних за допомогою дозволів AWS Lake Formation

R — це популярна аналітична мова програмування, яка використовується спеціалістами з обробки даних і аналітиками для обробки даних, проведення статистичного аналізу, створення візуалізацій даних і створення моделей машинного навчання (ML). RStudio, інтегроване середовище розробки для R, надає інструменти з відкритим вихідним кодом і професійне програмне забезпечення, готове до корпоративного використання, щоб команди могли розробляти та ділитися своєю роботою в усій організації. Однак самостійно створювати, захищати, масштабувати та підтримувати RStudio – справа виснажлива та громіздка.

Впровадження середовища RStudio в AWS забезпечує еластичність і масштабованість, яких ви не маєте під час локального розгортання, усуваючи потребу в управлінні цією інфраструктурою. Ви можете вибрати потрібну обчислювальну систему та пам’ять на основі вимог до обробки, а також можете збільшити чи зменшити масштаб для роботи з аналітичними та робочими навантаженнями ML різного розміру без попередніх інвестицій. Це дає змогу швидко експериментувати з новими джерелами даних і кодом, а також розгортати нові аналітичні процеси та моделі ML для решти організації. Ви також можете легко інтегрувати свої ресурси Data Lake, щоб зробити їх доступними для розробників і спеціалістів із обробки даних, і захистити дані за допомогою елементів керування доступом на рівні рядків і стовпців з Формування озера AWS.

У цьому дописі представлено два способи легкого розгортання та запуску RStudio на AWS для доступу до даних, що зберігаються в озері даних:

  • Повністю керований на Amazon SageMaker
  • Саморозміщений на Обчислювальна хмара Amazon Elastic (Amazon EC2)
    • Ви можете вибрати розгортання версії RStudio з відкритим вихідним кодом за допомогою розміщеного підходу EC2, який ми також опишемо в цій публікації. Опція самостійного розміщення вимагає від адміністратора створення екземпляра EC2 та інсталяції RStudio вручну або за допомогою AWS CloudFormation У цьому варіанті також є менша гнучкість для впровадження елементів керування доступом користувачів, оскільки в цьому типі реалізації всі користувачі мають однаковий рівень доступу.

RStudio на Amazon SageMaker

Ви можете запустити RStudio Workbench простим клацанням миші в SageMaker. Завдяки клієнтам SageMaker не потрібно нести операційні накладні витрати на створення, установку, захист, масштабування та підтримку RStudio, їм не потрібно платити за безперервно запущений сервер RStudio (якщо вони використовують t3.medium), і вони платять лише для обчислення RSession, коли вони його використовують. Користувачі RStudio матимуть можливість динамічно масштабувати обчислення, перемикаючи екземпляри на льоту. Щоб запустити RStudio на SageMaker, адміністратор повинен створити домен SageMaker і пов’язані профілі користувачів. Вам також потрібна відповідна ліцензія RStudio

У SageMaker ви можете надати доступ на рівні адміністратора та користувача RStudio з різними дозволами. Лише профілі користувачів, яким надано одну з цих двох ролей, можуть отримати доступ до RStudio у SageMaker. Додаткову інформацію про завдання адміністратора для налаштування RStudio на SageMaker див Почніть роботу з RStudio на Amazon SageMaker. У цій публікації також показано процес вибору екземплярів EC2 для кожного сеансу та те, як адміністратор може обмежити параметри екземплярів EC2 для користувачів RStudio.

Рис. 1: Діаграма архітектури, що демонструє взаємодію різних сервісів AWS

Використовуйте безпечний доступ до Lake Formation на рівні рядків і стовпців

Окрім дозволу вашій команді запускати сеанси RStudio на SageMaker, ви також можете захистити озеро даних за допомогою елементів керування доступом на рівні рядків і стовпців із Lake Formation. Для отримання додаткової інформації див Ефективні озера даних із використанням AWS Lake Formation, частина 4: впровадження безпеки на рівні клітинок і рядків.

Завдяки засобам безпеки Lake Formation ви можете переконатися, що кожна особа має належний доступ до даних в озері даних. Розглянемо наступні два профілі користувачів у домені SageMaker, кожен з яких має різну роль виконання:

Профіль користувача Виконавча роль
rstudiouser-fullaccess AmazonSageMaker-ExecutionRole-FullAccess
rstudiouser-limitedaccess AmazonSageMaker-ExecutionRole-LimitedAccess

На наступному знімку екрана показано rstudiouser-limitedaccess деталі профілю.

Мал. 2: Деталі профілю ролі rstudiouser-limitedaccess

Мал. 2: Деталі профілю ролі rstudiouser-limitedaccess

На наступному знімку екрана показано rstudiouser-fullaccess деталі профілю.

Рис. 3: Деталі профілю ролі rstudiouser-fullaccess

Рис. 3: Деталі профілю ролі rstudiouser-fullaccess

Набір даних, використаний для цієї публікації, це a Загальнодоступний набір даних про COVID-19. На наступному знімку екрана показано приклад даних:

Мал. 4: Загальнодоступний набір даних про COVID-19

Мал. 4: Загальнодоступний набір даних про COVID-19

Після створення профілю користувача та призначення йому відповідної ролі ви зможете отримати доступ до Lake Formation для сканування даних за допомогою Клей AWS, створити метадані та таблицю та надати доступ до даних таблиці. Для AmazonSageMaker-ExecutionRole-FullAccess роль, ви надаєте доступ до всіх стовпців у таблиці та для AmazonSageMaker-ExecutionRole-LimitedAccess, ви надаєте доступ за допомогою фільтра даних USA_Filter. Ми використовуємо цей фільтр, щоб надати дозволи для стовпців на рівні рядків і клітинок (див Ресурс на наступному знімку екрана).

Рис. 5: Дозволи AWS Lake Formation для ролей AmazonSageMaker-ExecutionRole -Full/Limited Access

Рис. 5: Дозволи AWS Lake Formation для ролей AmazonSageMaker-ExecutionRole -Full/Limited Access

Як показано на наступному знімку екрана, друга роль має обмежений доступ. Користувачі, пов’язані з цією роллю, можуть отримати доступ лише до continent, date, total_cases, total_deaths, new_cases, new_deaths та iso_codecolumns.

Рис. 6: Дозволи на рівні стовпця AWS Lake Formation для ролі AmazonSageMaker-ExecutionRole-Limited Access

Рис. 6: Дозволи на рівні стовпця AWS Lake Formation для ролі AmazonSageMaker-ExecutionRole-Limited Access

З дозволами ролі, прикріпленими до кожного профілю користувача, ми можемо побачити, як Lake Formation забезпечує відповідні дозволи на рівні рядків і стовпців. Ви можете відкрити RStudio Workbench з Запустіть програму у спадному меню у створеному списку користувачів і виберіть RStudio.

На наступному знімку екрана ми запускаємо програму як rstudiouser-limitedaccess user.

Рис. 7: Запуск сеансу RStudio для користувача з обмеженим доступом rstudiouser з консолі Amazon SageMaker

Рис. 7: Запуск сеансу RStudio для користувача з обмеженим доступом rstudiouser з консолі Amazon SageMaker

Ви можете переглянути домашню сторінку RStudio Workbench і список сеансів, проектів і опублікованого вмісту.

Рис. 8: Сеанс R Studio Workbench для користувача з обмеженим доступом rstudiouser

Рис. 8: Сеанс R Studio Workbench для користувача з обмеженим доступом rstudiouser

Виберіть назву сеансу, щоб почати сеанс у SageMaker. Встановіть Paws (див. інструкції раніше в цій публікації), щоб мати доступ до відповідних служб AWS. Тепер ви можете виконати запит, щоб отримати всі поля з набору даних через Амазонка Афіна, за допомогою команди “SELECT * FROM "databasename.tablename"і збережіть вихідні дані запиту в Служба простого зберігання Amazon (Amazon S3) відро.

Рис. 9: Виконання Athena Query у сеансі R Studio

Рис. 9: Виконання Athena Query у сеансі R Studio

На наступному знімку екрана показано вихідні файли у відрі S3.

Рис. 10. Результати виконання запиту Athena в Amazon S3 Bucket

Рис. 10. Результати виконання запиту Athena в Amazon S3 Bucket

На наступному знімку екрана показано дані в цих вихідних файлах за допомогою Amazon S3 Select.

Мал. 11: Перегляд вихідних даних за допомогою Amazon S3 Select

Мал. 11: Перегляд вихідних даних за допомогою Amazon S3 Select

Лише дані США та стовпці континент, дата, total_cases, total_deaths, new_cases, new_deaths та iso_code відображаються в результатах для rstudiouser-limitedaccess користувач.

Давайте повторимо ті самі дії для rstudiouser-fullaccess користувач.

Мал. 12: Запуск сеансу RStudio для користувача rstudiouser із повним доступом із консолі Amazon SageMaker

Мал. 12: Запуск сеансу RStudio для користувача rstudiouser із повним доступом із консолі Amazon SageMaker

Ви можете переглянути домашню сторінку RStudio Workbench і список сеансів, проектів і опублікованого вмісту.

Рис. 13: Сеанс R Studio Workbench для користувача rstudiouser із повним доступом

Рис. 13: Сеанс R Studio Workbench для користувача rstudiouser із повним доступом

Виконаємо той самий запит “SELECT * FROM "databasename.tablename" за допомогою Афіни.

Рис. 14: Виконання Athena Query у сеансі R Studio

Рис. 14: Виконання Athena Query у сеансі R Studio

На наступному знімку екрана показано вихідні файли у відрі S3.

Рис. 15. Результати виконання запиту Athena в Amazon S3 Bucket

Рис. 15. Результати виконання запиту Athena в Amazon S3 Bucket

На наступному знімку екрана показано дані в цих вихідних файлах за допомогою Amazon S3 Select.

Мал. 16: Перегляд вихідних даних за допомогою Amazon S3 Select

Мал. 16: Перегляд вихідних даних за допомогою Amazon S3 Select

Як показано в цьому прикладі, rstudiouser-fullaccess користувач має доступ до всіх стовпців і рядків у наборі даних.

Самостійне розміщення на Amazon EC2

Якщо ви хочете почати експериментувати з відкритою версією RStudio на AWS, ви можете встановити Rstudio на примірнику EC2. Цей шаблон CloudFormation, наданий у цій публікації, забезпечує примірник EC2 і встановлює RStudio за допомогою сценарію даних користувача. Ви можете запустити шаблон кілька разів, щоб підготувати кілька екземплярів RStudio за потреби, і ви можете використовувати його в будь-якому регіоні AWS. Після розгортання шаблону CloudFormation ви отримуєте URL-адресу для доступу до RStudio з веб-браузера. Amazon EC2 дає змогу збільшувати або зменшувати масштаб, щоб впоратися зі змінами розміру даних і необхідної обчислювальної потужності для виконання аналітики.

Створіть пару ключ-значення для безпечного доступу

AWS використовує криптографію з відкритим ключем, щоб захистити інформацію для входу у ваш екземпляр EC2. Ви вказуєте назву пари ключів у KeyPair під час запуску шаблону CloudFormation. Тоді ви можете використати той самий ключ, щоб увійти до підготовленого екземпляра EC2 пізніше, якщо це буде потрібно.

Перш ніж запустити шаблон CloudFormation, переконайтеся, що в обліковому записі AWS, який ви плануєте використовувати, є пара ключів Amazon EC2. Якщо ні, то зверніться до Створіть пару ключів за допомогою Amazon EC2 щоб отримати інструкції щодо його створення.

Запустіть шаблон CloudFormation. Увійдіть у консоль CloudFormation у us-east-1 Регіон і виберіть «Запустити стек».

Кнопка запуску стека

У шаблон CloudFormation необхідно ввести кілька параметрів:

  • InitialUser і InitialPassword – Ім’я користувача та пароль, які ви використовуєте для входу в сеанс RStudio. Значення за замовчуванням: rstudio та Rstudio@123, відповідно.
  • InstanceType – Тип екземпляра EC2, на якому потрібно розгорнути сервер RStudio. Наразі шаблон підтримує всі екземпляри сімейств екземплярів t2, m4, c4, r4, g2, p2 і g3 і може легко включати інші сімейства екземплярів. Значення за замовчуванням — t2.micro.
  • KeyPair – Пара ключів, яку ви використовуєте для входу в екземпляр EC2.
  • VpcId та SubnetId - The Віртуальна приватна хмара Amazon (Amazon VPC) і підмережу, у якій запускати примірник.

Після введення цих параметрів розгорніть шаблон CloudFormation. Коли він буде завершений, доступні такі ресурси:

  • Екземпляр EC2 із встановленим на ньому RStudio.
  • Роль IAM з необхідними дозволами для підключення до інших служб AWS.
  • Група безпеки з правилами відкриття порту 8787 для сервера RStudio.

Увійдіть у RStudio

Тепер ви готові до використання RStudio! Перейти до Виходи для стека CloudFormation і скопіюйте значення URL-адреси RStudio (воно у форматі http://ec2-XX-XX-XXX-XX.compute-1.amazonaws.com:8787/). Введіть цю URL-адресу у веб-переглядачі. Відкриється ваш сеанс RStudio, у який ви можете увійти, використовуючи те саме ім’я користувача та пароль, які ви вказали під час запуску шаблону CloudFormation.

Отримайте доступ до послуг AWS із RStudio

Після того, як ви отримаєте доступ до сеансу RStudio, вам слід інсталювати пакет R для AWS (Paws). Це дає змогу підключатися до багатьох служб AWS, включаючи служби та ресурси у вашому озері даних. Щоб установити Paws, введіть і запустіть наступний код R:

install.packages("paws")

Щоб використовувати службу AWS, створіть клієнта та отримайте доступ до операцій служби з цього клієнта. Під час доступу до API AWS ви повинні надати свої облікові дані та регіон. Paws шукає облікові дані та регіон за допомогою ланцюжка автентифікації AWS:

  • Явно наданий ключ доступу, секретний ключ, маркер сеансу, профіль або регіон
  • Змінні середовища R
  • Змінні середовища операційної системи
  • AWS надала спільний доступ до облікових даних і конфігураційних файлів .aws/credentials та .aws/config
  • Роль IAM контейнера
  • Роль екземпляра IAM

Оскільки ви працюєте на екземплярі EC2 із приєднаною роллю IAM, Paws автоматично використовує облікові дані вашої ролі IAM для автентифікації запитів AWS API.

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

Для робочого середовища ми рекомендуємо використовувати масштабоване рішення Rstudio, описане в цей блог.

Висновок

Ви дізналися, як розгорнути середовище RStudio в AWS. Ми продемонстрували переваги використання RStudio на Amazon SageMaker і те, як ви можете почати роботу. Ви також дізналися, як швидко почати експериментувати з версією RStudio з відкритим вихідним кодом за допомогою самостійної інсталяції за допомогою Amazon EC2. Ми також продемонстрували, як інтегрувати RStudio у ваші архітектури озера даних і реалізувати детальний контроль доступу до таблиці озера даних за допомогою функції безпеки Lake Formation на рівні рядків і клітинок.

У нашій наступній публікації ми продемонструємо, як контейнеризувати сценарії R і запускати їх за допомогою AWS Lambda.


Про авторів

Впровадьте RStudio у своєму середовищі AWS і отримуйте доступ до свого озера даних за допомогою дозволів AWS Lake Formation PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Венката Кампана є старшим архітектором рішень у команді AWS Health and Human Services і працює в Сакраменто, Каліфорнія. На цій посаді він допомагає клієнтам державного сектору досягати цілей місії за допомогою добре розроблених рішень на AWS.

Впровадьте RStudio у своєму середовищі AWS і отримуйте доступ до свого озера даних за допомогою дозволів AWS Lake Formation PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Доктор Дон Хейсі-Гров є керівником відділу аналітики громадського здоров’я команди Amazon Web Services у державних і місцевих органах влади. На цій посаді вона відповідає за допомогу державним і місцевим установам охорони здоров’я творчо думати про те, як досягти своїх аналітичних завдань і довгострокових цілей. Вона присвятила свою кар’єру пошуку нових способів використання існуючих або нових даних для підтримки спостереження та досліджень у сфері охорони здоров’я.

Часова мітка:

Більше від AWS Машинне навчання