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

Внедрите RStudio в свою среду AWS и получите доступ к озеру данных, используя разрешения AWS Lake Formation.

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

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

В этом посте представлены два способа простого развертывания и запуска RStudio на AWS для доступа к данным, хранящимся в озере данных:

  • Полностью управляемый на Создатель мудреца Амазонки
  • Самостоятельное размещение на Эластичное вычислительное облако 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 с разными разрешениями. Только профили пользователей, которым предоставлена ​​одна из этих двух ролей, могут получить доступ к 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

Набор данных, используемый для этого поста, представляет собой Публичный набор данных 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 — роли с полным/ограниченным доступом

Рис. 5. Разрешения AWS Lake Formation для AmazonSageMaker-ExecutionRole — роли с полным/ограниченным доступом

Как показано на следующем снимке экрана, вторая роль имеет ограниченный доступ. Пользователи, связанные с этой ролью, могут получить доступ только к 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-limitedaccess из консоли Amazon SageMaker

Рис. 7. Запуск сеанса RStudio для пользователя rstudiouser-limitedaccess из консоли Amazon SageMaker

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

Рис. 8. Сеанс R Studio Workbench для пользователя rstudiouser-limitedaccess

Рис. 8. Сеанс R Studio Workbench для пользователя rstudiouser-limitedaccess

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

Рис. 9. Выполнение запроса Athena в сеансе R Studio

Рис. 9. Выполнение запроса Athena в сеансе R Studio

На следующем снимке экрана показаны выходные файлы в корзине S3.

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

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

На следующем снимке экрана показаны данные в этих выходных файлах с использованием Амазон S3 Выберите.

Рис. 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-fullaccess из консоли Amazon SageMaker

Рис. 12. Запуск сеанса RStudio для пользователя rstudiouser-fullaccess из консоли Amazon SageMaker

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

Рис. 13. Сеанс R Studio Workbench для пользователя rstudiouser-fullaccess

Рис. 13. Сеанс R Studio Workbench для пользователя rstudiouser-fullaccess

Запустим тот же запрос “SELECT * FROM "databasename.tablename" с помощью Афины.

Рис. 14. Выполнение запроса Athena в сеансе R Studio

Рис. 14. Выполнение запроса Athena в сеансе R Studio

На следующем снимке экрана показаны выходные файлы в корзине S3.

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

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

На следующем снимке экрана показаны данные в этих выходных файлах с использованием Амазон S3 Выберите.

Рис. 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 убедитесь, что у вас есть пара ключей Amazon EC2 в учетной записи AWS, которую вы планируете использовать. Если нет, то обратитесь к Создайте пару ключей с помощью Amazon EC2 инструкции по его созданию.

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

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

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

  • InitialUser и InitialPassword – Имя пользователя и пароль, которые вы используете для входа в сеанс RStudio. Значения по умолчанию: rstudio и Rstudio@123, Соответственно.
  • Тип экземпляра – Тип экземпляра EC2, на котором следует развернуть сервер RStudio. В настоящее время шаблон принимает все экземпляры из семейств экземпляров t2, m4, c4, r4, g2, p2 и g3 и может легко включать другие семейства экземпляров. Значение по умолчанию — t2.micro.
  • Ключевая пара – Пара ключей, которую вы используете для входа в инстанс EC2.
  • VpcId и SubnetId - Виртуальное частное облако 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, создайте клиент и получите доступ к операциям сервиса с этого клиента. При доступе к AWS API вы должны указать свои учетные данные и регион. Paws ищет учетные данные и регион, используя цепочку аутентификации AWS:

  • Явно предоставленный ключ доступа, секретный ключ, токен сеанса, профиль или регион
  • Переменные среды R
  • Переменные среды операционной системы
  • Общие учетные данные и файлы конфигурации AWS в .aws/credentials и .aws/config
  • IAM-роль контейнера
  • IAM-роль экземпляра

Поскольку вы работаете на экземпляре EC2 с прикрепленной ролью IAM, Paws автоматически использует учетные данные вашей роли IAM для аутентификации запросов 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"

Для производственной среды мы рекомендуем использовать масштабируемое решение Rstudio, описанное в этот блог.

Заключение

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

В следующем посте мы продемонстрируем, как контейнеризовать R-скрипты и запускать их с помощью AWS Lambda.


Об авторах

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

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

Отметка времени:

Больше от Машинное обучение AWS