AWS 환경에서 RStudio를 구현하고 AWS Lake Formation 권한 PlatoBlockchain Data Intelligence를 사용하여 데이터 레이크에 액세스하세요. 수직 검색. 일체 포함.

AWS 환경에서 RStudio를 구현하고 AWS Lake Formation 권한을 사용하여 데이터 레이크에 액세스

R은 데이터 과학자와 분석가가 데이터 처리를 수행하고, 통계 분석을 수행하고, 데이터 시각화를 생성하고, 기계 학습(ML) 모델을 구축하는 데 사용하는 인기 있는 분석 프로그래밍 언어입니다. R용 통합 개발 환경인 RStudio는 팀이 조직 전체에서 작업을 개발하고 공유할 수 있도록 오픈 소스 도구와 엔터프라이즈급 전문 소프트웨어를 제공합니다. 그러나 RStudio를 직접 구축, 보안, 확장 및 유지 관리하는 것은 지루하고 번거롭습니다.

AWS에서 RStudio 환경을 구현하면 온프레미스를 배포할 때 갖지 못한 탄력성과 확장성을 제공하므로 해당 인프라를 관리할 필요가 없습니다. 처리 요구 사항에 따라 원하는 컴퓨팅 및 메모리를 선택할 수 있으며 사전 투자 없이 다양한 크기의 분석 및 ML 워크로드와 함께 작동하도록 확장 또는 축소할 수도 있습니다. 이를 통해 새로운 데이터 소스와 코드를 빠르게 실험하고 조직의 나머지 부분에 새로운 분석 프로세스와 ML 모델을 배포할 수 있습니다. 또한 Data Lake 리소스를 원활하게 통합하여 개발자와 데이터 과학자가 사용할 수 있도록 하고 다음에서 행 수준 및 열 수준 액세스 제어를 사용하여 데이터를 보호할 수 있습니다. AWS Lake 형성.

이 게시물은 AWS에서 RStudio를 쉽게 배포하고 실행하여 데이터 레이크에 저장된 데이터에 액세스하는 두 가지 방법을 제공합니다.

  • 에 완전히 관리됨 아마존 세이지 메이커
  • 자체 호스팅 아마존 엘라스틱 컴퓨트 클라우드 (아마존 EC2)
    • 이 게시물에서도 설명할 EC2 호스팅 방식을 사용하여 RStudio의 오픈 소스 버전을 배포하도록 선택할 수 있습니다. 자체 호스팅 옵션은 관리자가 EC2 인스턴스를 생성하고 RStudio를 수동으로 설치하거나 AWS 클라우드 포메이션 또한 이 유형의 구현에서는 모든 사용자가 동일한 액세스 수준을 갖기 때문에 이 옵션에서 사용자 액세스 제어를 구현하는 데 유연성이 떨어집니다.

Amazon SageMaker의 RStudio

SageMaker에서 간단한 클릭으로 RStudio Workbench를 시작할 수 있습니다. SageMaker를 사용하는 고객은 RStudio를 구축, 설치, 보안, 확장 및 유지 관리하는 운영 오버헤드를 부담할 필요가 없으며 지속적으로 실행되는 RStudio Server(t3.medium을 사용하는 경우)에 대해 비용을 지불할 필요가 없으며 비용만 지불하면 됩니다. RSession이 사용할 때 계산합니다. RStudio 사용자는 인스턴스를 즉석에서 전환하여 컴퓨팅을 동적으로 확장할 수 있는 유연성을 갖게 됩니다. SageMaker에서 RStudio를 실행하려면 관리자가 SageMaker 도메인 및 관련 사용자 프로필을 설정해야 합니다. 적절한 RStudio 라이선스도 필요합니다.

SageMaker 내에서 다른 권한으로 RStudio 관리자 및 RStudio 사용자 수준에서 액세스 권한을 부여할 수 있습니다. 이 두 역할 중 하나가 부여된 사용자 프로필만 SageMaker에서 RStudio에 액세스할 수 있습니다. SageMaker에서 RStudio를 설정하기 위한 관리자 작업에 대한 자세한 내용은 다음을 참조하십시오. Amazon SageMaker에서 RStudio 시작하기. 이 게시물은 또한 각 세션에 대해 EC2 인스턴스를 선택하는 프로세스와 관리자가 RStudio 사용자에 대한 EC2 인스턴스 옵션을 제한할 수 있는 방법을 보여줍니다.

그림 1: 다양한 AWS 서비스의 상호 작용을 보여주는 아키텍처 다이어그램

Lake Formation 행 수준 및 열 수준 보안 액세스 사용

팀이 SageMaker에서 RStudio 세션을 시작하도록 허용하는 것 외에도 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 역할의 프로필 세부정보

이 포스트에 사용된 데이터셋은 코로나19 공개 데이터세트. 다음 스크린샷은 데이터의 예를 보여줍니다.

그림 4: COVID-19 공개 데이터 세트

그림 4: COVID-19 공개 데이터 세트

사용자 프로필을 생성하고 적절한 역할에 할당한 후 Lake Formation에 액세스하여 다음을 사용하여 데이터를 크롤링할 수 있습니다. AWS 접착제, 메타데이터 및 테이블을 생성하고 테이블 데이터에 대한 액세스 권한을 부여합니다. 를 위해 AmazonSageMaker-ExecutionRole-FullAccess 역할을 수행하면 테이블의 모든 열에 대한 액세스 권한을 부여하고 AmazonSageMaker-ExecutionRole-LimitedAccess, 데이터 필터를 사용하여 액세스 권한을 부여합니다. USA_Filter. 이 필터를 사용하여 행 수준 및 셀 수준 열 권한을 제공합니다(참조 자원 다음 스크린샷의 열).

그림 5: AmazonSageMaker-ExecutionRole -전체/제한된 액세스 역할에 대한 AWS Lake Formation 권한

그림 5: AmazonSageMaker-ExecutionRole -전체/제한된 액세스 역할에 대한 AWS Lake Formation 권한

다음 스크린샷과 같이 두 번째 역할은 액세스가 제한됩니다. 이 역할과 연결된 사용자는 액세스할 수만 있습니다. continent, date, total_cases, total_deaths, new_cases, new_deathsiso_codecolumns.

그림 6: AmazonSageMaker-ExecutionRole-Limited Access 역할에 대한 AWS Lake Formation 열 수준 권한

그림 6: AmazonSageMaker-ExecutionRole-Limited Access 역할에 대한 AWS Lake Formation 열 수준 권한

각 사용자 프로필에 연결된 역할 권한을 통해 Lake Formation이 적절한 행 수준 및 열 수준 권한을 적용하는 방법을 확인할 수 있습니다. 다음에서 RStudio Workbench를 열 수 있습니다. 앱 시작 생성된 사용자 목록에서 드롭다운 메뉴를 선택하고 RStudio.

다음 스크린샷에서는 앱을 다음과 같이 시작합니다. rstudiouser-limitedaccess user.

그림 7: Amazon SageMaker 콘솔에서 rstudiouser-limitedaccess 사용자를 위한 RStudio 세션 시작

그림 7: Amazon SageMaker 콘솔에서 rstudiouser-limitedaccess 사용자를 위한 RStudio 세션 시작

RStudio Workbench 홈 페이지와 세션, 프로젝트 및 게시된 콘텐츠 목록을 볼 수 있습니다.

그림 8: rstudiouser-limitedaccess 사용자를 위한 R Studio Workbench 세션

그림 8: rstudiouser-limitedaccess 사용자를 위한 R Studio Workbench 세션

SageMaker에서 세션을 시작할 세션 이름을 선택합니다. 적절한 AWS 서비스에 액세스할 수 있도록 Paws를 설치합니다(이 게시물 앞부분의 지침 참조). 이제 쿼리를 실행하여 다음을 통해 데이터세트에서 모든 필드를 가져올 수 있습니다. 아마존 아테나, 명령을 사용하여 “SELECT * FROM "databasename.tablename", 쿼리 출력을 아마존 단순 스토리지 서비스 (Amazon S3) 버킷.

그림 9: R Studio 세션에서 Athena 쿼리 실행

그림 9: R Studio 세션에서 Athena 쿼리 실행

다음 스크린샷은 S3 버킷의 출력 파일을 보여줍니다.

그림 10: Amazon S3 버킷의 Athena 쿼리 실행 결과

그림 10: Amazon S3 버킷의 Athena 쿼리 실행 결과

다음 스크린샷은 다음을 사용하여 이러한 출력 파일의 데이터를 보여줍니다. 아마존 S3 셀렉트.

그림 11: Amazon S3 Select를 사용하여 출력 데이터 검토

그림 11: Amazon S3 Select를 사용하여 출력 데이터 검토

미국 데이터 및 열만 대륙, 날짜, total_cases, total_deaths, new_cases, new_deathsiso_code 에 대한 결과에 표시됩니다. rstudiouser-limitedaccess 사용자.

에 대해 동일한 단계를 반복합시다. rstudiouser-fullaccess 사용자.

그림 12: Amazon SageMaker 콘솔에서 rstudiouser-fullaccess 사용자를 위한 RStudio 세션 시작

그림 12: Amazon SageMaker 콘솔에서 rstudiouser-fullaccess 사용자를 위한 RStudio 세션 시작

RStudio Workbench 홈 페이지와 세션, 프로젝트 및 게시된 콘텐츠 목록을 볼 수 있습니다.

그림 13: rstudiouser-fullaccess 사용자를 위한 R Studio Workbench 세션

그림 13: rstudiouser-fullaccess 사용자를 위한 R Studio Workbench 세션

같은 쿼리를 실행하자 “SELECT * FROM "databasename.tablename" 아테나를 사용합니다.

그림 14: R Studio 세션에서 Athena 쿼리 실행

그림 14: R Studio 세션에서 Athena 쿼리 실행

다음 스크린샷은 S3 버킷의 출력 파일을 보여줍니다.

그림 15: Amazon S3 버킷의 Athena 쿼리 실행 결과

그림 15: Amazon S3 버킷의 Athena 쿼리 실행 결과

다음 스크린샷은 다음을 사용하여 이러한 출력 파일의 데이터를 보여줍니다. 아마존 S3 셀렉트.

그림 16: Amazon S3 Select를 사용하여 출력 데이터 검토

그림 16: Amazon S3 Select를 사용하여 출력 데이터 검토

이 예에서 볼 수 있듯이 rstudiouser-fullaccess 사용자는 데이터세트의 모든 열과 행에 액세스할 수 있습니다.

Amazon EC2에서 자체 호스팅

AWS에서 RStudio의 오픈 소스 버전으로 실험을 시작하려면 EC2 인스턴스에 Rstudio를 설치할 수 있습니다. 이 게시물에서 제공하는 이 CloudFormation 템플릿은 EC2 인스턴스를 프로비저닝하고 사용자 데이터 스크립트를 사용하여 RStudio를 설치합니다. 템플릿을 여러 번 실행하여 필요에 따라 여러 RStudio 인스턴스를 프로비저닝할 수 있으며 모든 AWS 리전에서 사용할 수 있습니다. CloudFormation 템플릿을 배포하면 웹 브라우저에서 RStudio에 액세스할 수 있는 URL이 제공됩니다. Amazon EC2를 사용하면 데이터 크기 및 분석을 실행하는 데 필요한 컴퓨팅 용량의 변경 사항을 처리하도록 확장 또는 축소할 수 있습니다.

보안 액세스를 위한 키-값 쌍 생성

AWS는 공개 키 암호화를 사용하여 EC2 인스턴스의 로그인 정보를 보호합니다. 키 쌍의 이름을 지정합니다. KeyPair CloudFormation 템플릿을 시작할 때 매개변수. 그런 다음 필요한 경우 나중에 동일한 키를 사용하여 프로비저닝된 EC2 인스턴스에 로그인할 수 있습니다.

CloudFormation 템플릿을 실행하기 전에 사용하려는 AWS 계정에 Amazon EC2 키 페어가 있는지 확인하십시오. 그렇지 않은 경우 다음을 참조하십시오. Amazon EC2를 사용하여 키 페어 생성 를 참조하세요.

CloudFormation 템플릿을 시작합니다.에서 CloudFormation 콘솔에 로그인합니다. us-east-1 리전을 선택하고 스택 시작을 선택합니다.

스택 버튼 시작

CloudFormation 템플릿에 여러 매개변수를 입력해야 합니다.

  • InitialUser 및 InitialPassword – RStudio 세션에 로그인하는 데 사용하는 사용자 이름 및 암호. 기본값은 rstudioRstudio@123각각.
  • 인스턴스 유형 – RStudio 서버를 배포할 EC2 인스턴스 유형입니다. 템플릿은 현재 t2, m4, c4, r4, g2, p2 및 g3 인스턴스 패밀리의 모든 인스턴스를 허용하며 다른 인스턴스 패밀리를 쉽게 통합할 수 있습니다. 기본값은 t2.micro입니다.
  • 키 쌍 – EC2 인스턴스에 로그인하는 데 사용하는 키 페어.
  • VpcId 및 SubnetId - Amazon Virtual Private Cloud(Amazon VPC) 및 인스턴스를 시작할 서브넷.

이러한 매개변수를 입력한 후 CloudFormation 템플릿을 배포합니다. 완료되면 다음 리소스를 사용할 수 있습니다.

  • RStudio가 설치된 EC2 인스턴스.
  • 다른 AWS 서비스에 연결하는 데 필요한 권한이 있는 IAM 역할.
  • RStudio Server용 포트 8787을 여는 규칙이 있는 보안 그룹입니다.

RStudio에 로그인

이제 RStudio를 사용할 준비가 되었습니다! 로 이동 출력 CloudFormation 스택에 대한 탭을 클릭하고 RStudio URL 값을 복사합니다(형식 http://ec2-XX-XX-XXX-XX.compute-1.amazonaws.com:8787/). 웹 브라우저에 해당 URL을 입력합니다. 그러면 CloudFormation 템플릿을 실행하는 동안 제공한 것과 동일한 사용자 이름과 암호를 사용하여 로그인할 수 있는 RStudio 세션이 열립니다.

RStudio에서 AWS 서비스에 액세스

RStudio 세션에 액세스한 후 AWS용 R 패키지(Paws)를 설치해야 합니다. 이를 통해 데이터 레이크의 서비스 및 리소스를 비롯한 많은 AWS 서비스에 연결할 수 있습니다. Paws를 설치하려면 다음 R 코드를 입력하고 실행하십시오.

install.packages("paws")

AWS 서비스를 사용하려면 클라이언트를 생성하고 해당 클라이언트에서 서비스 작업에 액세스합니다. AWS API에 액세스할 때 자격 증명과 리전을 제공해야 합니다. Paws는 AWS 인증 체인을 사용하여 자격 증명 및 리전을 검색합니다.

  • 명시적으로 제공된 액세스 키, 비밀 키, 세션 토큰, 프로필 또는 리전
  • R 환경 변수
  • 운영 체제 환경 변수
  • AWS 공유 자격 증명 및 구성 파일 .aws/credentials.aws/config
  • 컨테이너 IAM 역할
  • 인스턴스 IAM 역할

연결된 IAM 역할이 있는 EC2 인스턴스에서 실행 중이므로 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 솔루션을 사용하는 것이 좋습니다. 블로그.

결론

AWS에서 RStudio 환경을 배포하는 방법을 배웠습니다. Amazon SageMaker에서 RStudio를 사용할 때의 이점과 시작 방법을 시연했습니다. 또한 Amazon EC2를 사용한 자체 호스팅 설치를 사용하여 RStudio의 오픈 소스 버전 실험을 빠르게 시작하는 방법도 배웠습니다. 또한 RStudio를 데이터 레이크 아키텍처에 통합하고 Lake Formation의 행 수준 및 셀 수준 보안 기능을 사용하여 데이터 레이크 테이블에 대한 세분화된 액세스 제어를 구현하는 방법을 시연했습니다.

다음 게시물에서는 R 스크립트를 컨테이너화하고 다음을 사용하여 실행하는 방법을 보여줍니다. AWS 람다.


저자 소개

AWS 환경에서 RStudio를 구현하고 AWS Lake Formation 권한 PlatoBlockchain Data Intelligence를 사용하여 데이터 레이크에 액세스하세요. 수직 검색. 일체 포함.벤카타 캄파나 AWS Health and Human Services 팀의 선임 솔루션 아키텍트이며 캘리포니아 주 새크라멘토에 거주하고 있습니다. 그 역할에서 그는 AWS에서 잘 설계된 솔루션으로 공공 부문 고객이 미션 목표를 달성하도록 돕습니다.

AWS 환경에서 RStudio를 구현하고 AWS Lake Formation 권한 PlatoBlockchain Data Intelligence를 사용하여 데이터 레이크에 액세스하세요. 수직 검색. 일체 포함.Dawn Heisey-Grove 박사 Amazon Web Services의 주 및 지방 정부 팀의 공중 보건 분석 리더입니다. 이 역할에서 그녀는 주 및 지역 공중 보건 기관이 분석 과제와 장기 목표를 달성하는 방법에 대해 창의적으로 생각하도록 돕는 책임을 맡고 있습니다. 그녀는 공중 보건 감시 및 연구를 지원하기 위해 기존 또는 새로운 데이터를 사용하는 새로운 방법을 찾는 데 경력을 바쳤습니다.

타임 스탬프 :

더보기 AWS 기계 학습