BLOG

AWS Lake Formation 사용법
작성일: 2019-09-18

AWS Lake Formation을 사용하면 안전한 데이터 레이크를 설정할 수 있습니다. 데이터 레이크는 모든 규모의 비정형 데이터와 비정형 데이터를 저장하는 중앙 집중식 보안 큐레이터입니다. 먼저 데이터를 구성하지 않고도 데이터를 있는 그대로 저장할 수 있습니다. 또한 대시 보드 및 시각화에서 빅 데이터 처리, 실시간 분석 및 기계 학습에 이르기까지 다양한 유형의 분석을 실행하여 보다 효과적으로 의사 결정을 할 수 있습니다.

 

데이터 레이크의 과제

데이터 레이크 관리의 주요 과제는 컨텐츠에 대한 감독 없이 원시 데이터를 저장하는 데 있습니다.  데이터 레이크를 사용 가능케 하려면 해당 데이터를 카탈로그화하고 보호하기 위한 정의된 메커니즘이 필요합니다.

Lake Formation은 데이터 레이크에 대한 통제, 의미 일관성 및 액세스 제어를 구현하는 메커니즘을 제공합니다. Lake Formation은 데이터를 분석 및 기계 학습에보다 유용하게 사용하여 비즈니스에 더 나은 가치를 제공합니다.

Lake Formation을 사용하면 데이터 레이크 액세스를 제어하고 데이터에 액세스하는 사람들을 감사(audit)할 수 있습니다. AWS Glue Data Catalog는 데이터 액세스 정책을 통합하여 데이터 출처에 관계없이 규정 준수를 보장합니다.

 

연습

다음의 연습 예제를 통해 데이터 레이크를 작성하고 사용하는 방법을 보여드리겠습니다.

  • Data Lake 관리자를 작성하십시오.
  • Amazon S3 경로를 등록하십시오.
  • 데이터베이스를 작성하십시오.
  • 권한을 부여하십시오.
  • AWS Glue로 데이터를 크롤링하여 메타 데이터 및 테이블을 생성하십시오.
  • 테이블 데이터에 대한 액세스 권한을 부여하십시오.
  • Amazon Athena를 사용하여 데이터를 쿼리하십시오.
  • 액세스가 제한된 새 사용자를 추가하고 결과를 확인하십시오.

 

전제 조건

위 예제를 실행하기 위해서는 다음 리소스가 필요합니다.

  • AWS 계정
  • AWSLakeFormationDataAdmin 사용하는 IAM 사용자 (자세한 내용은 IAM 액세스 정책을 참고하십시오.)
  • datalake-yourname-region라는 이름의 S3 버킷 (미국 동부 (N. 버지니아) 리전)
  • S3 버킷 내의 zipcode라는 이름의 폴더

또한 샘플 데이터 세트를 다운로드해야 합니다. 본 예제에서는 뉴욕 통계표를 사용합니다. 해당 데이터는 DATA.GOV 사이트의 뉴욕시 인구 통계 통계 (Zip) 테이블에 있습니다. 파일을 /zipcode 폴더의 S3 버킷에 업로드하십시오.

S3 버킷을 설정하고 데이터 세트를 제자리에 배치합니다. 이제 Lake Formation으로 데이터 레이크를 설정하십시오.

 

1 단계: Data Lake 관리자 생성

먼저, Lake Lakeation 리소스에 액세스할 수 있도록 Data Lake 관리자를 지정하십시오.

 

2 단계: Amazon S3 경로 등록

그런 다음 데이터 레이크에 데이터를 포함할 Amazon S3 경로를 등록하십시오.

 

3 단계: 데이터베이스 생성

AWS Glue 데이터 카탈로그에서 우편 번호 테이블 정의를 포함 할 데이터베이스를 생성하십시오 .

  • 데이터베이스에는 zipcode-db (우편 번호-DB)를 입력하십시오.
  • Location에 자신의 S3 bucket / zipcode 입력하십시오.
  • 해당 데이터베이스에있는 새 테이블의 경우 Grant All to Everyone(모두에게 모두 부여)를 선택하지 마십시오.

 

4 단계 : 권한 부여

zipcode-db 데이터베이스 를 사용하도록 AWS Glue에 권한을 부여해 줍니다. IAM 역할로 사용자와 AWSGlueServiceRoleDefault을 선택합니다.

데이터 위치를 사용하여 데이터 레이크를 사용할 수 있도록 사용자 및 AWSServiceRoleForLakeFormationDataAccess 권한을 부여하십시오.

  •  IAM 역할로 사용자와  AWSServiceRoleForLakeFormationDataAccess 선택합니다.
  • Storage locations (저장 위치)로 s3://datalake-yourname-location를 입력합니다.

 

5 단계 : AWS Glue로 데이터를 크롤링하여 메타 데이터 및 테이블 생성

이 단계에서 크롤러는 데이터 저장소에 연결하고 우선 순위가 지정된 분류자 ​​목록을 진행하여 데이터의 스키마를 결정한 다음 AWS Glue 데이터 카탈로그에 메타 데이터 테이블을 생성합니다.

AWS Glue 크롤러를 사용하여 테이블을 생성하십시오.  다음의 구성 설정을 사용합니다.

  • Crawler name(크롤러 이름): zipcodecrawler.
  • Data stores(데이터 저장소): 이 필드를 선택하십시오.
  • Choose a data store(데이터 저장소를 선택하십시오): S3를 선택합니다.
  • Specified path(지정된 경로): 이 필드를 선택하십시오
  • Include path(경로 포함 ): S3://datalake-yourname-location/zipcode.
  • Add another data store(다른 데이터 저장소 추가)아니오를 선택하십시오.
  • Choose an existing IAM role(기존 IAM 역할 선택): 이 필드를 선택하십시오.
  • IAM role(IAM 역할): AWSGlueServiceRoleDefault 선택하십시오
  • Run on demand(필요시 실행): 이 필드를 선택하십시오
  • Database(데이터베이스): zipcode-db 선택하십시오.

Run it now? 을 선택한 후 다음 단계로 이동하기 전에 크롤러가 중지 될 때까지 기다려 줍니다.

 

6 단계: 테이블 데이터에 대한 액세스 권한 부여

다른 사람이 데이터를 관리할 수 ​​있도록 AWS Glue 데이터 카탈로그 권한을 설정하십시오. Lake Formation 콘솔을 사용하여 데이터베이스의 테이블에 대한 액세스 권한을 부여하고 취소해 줍니다.

  • 탐색 분할 창에서 Tables(테이블)을 선택하십시오 .
  • Grant(부여)를 선택하십시오.
  • 다음 정보를 제공하십시오.
    1. IAM 역할로 사용자와  AWSGlueServiceRoleDefault을 선택합니다.
    2.  Table permission(테이블 권한)으로 Select all (모두)를 선택합니다.

 

7 단계: Athena로 데이터 쿼리

그런 다음 Athena를 사용하여 데이터 레이크의 데이터를 쿼리하십시오.

  • Athena 콘솔에서 Query Editor 를 선택하고 zipcode-db 선택하십시오.
  • 테이블 과 우편 번호의 테이블을 선택하십시오.
  • 테이블 옵션 (테이블 이름 오른쪽에 세 개의 수직 점)을 선택하십시오.
  • 미리보기 테이블을 선택하십시오.

 

Athena는 다음 쿼리를 실행합니다.

SELECT * FROM “zipcode”.”zipcode” limit 10;

 

다음 스크린 샷에서 볼 수 있듯이 datalakeadmin 사용자는 모든 데이터를 볼 수 있습니다.

 

 

8 단계: 액세스가 제한된 새 사용자 추가 및 결과 확인

이 단계에서는 Data Lake 관리자로서 특정 열에 대한 액세스가 제한된 사용자를 설정하는 방법을 보여줍니다.

IAM 콘솔에서 user1 이라는 관리 권한이 있는 IAM 사용자 를 생성하고 AWSLakeFormationDataAdmin 정책을 추가하십시오 . 자세한 내용은 IAM 자격 증명 권한 추가 및 제거를 참조하십시오.

Lake Formation 콘솔에서 user1 에게 권한을 부여 하고 다음 구성 설정을 제공하십시오.

  • 데이터베이스zipcode-db 선택하십시오 .
  • 우편 번호를 선택하십시오 .
  • 포함 열을 선택합니다 .
  • 포함 열관할 구역 이름 및 참가자 수를 선택합니다 .
  • 테이블 권한선택 합니다.
  • 부여 가능한 권한선택 합니다.

 

제한된 권한의 결과를 확인하려면 user1 로 로그인 할 때 7 단계를 반복하십시오. 다음의 스크린 샷에서 볼 수 있듯이 user1은 datalakeadmin 사용자가 볼 수 있는 권한을 부여한 열만 볼 수 있습니다.

 

결론

오늘 게시물에서는 Lake Formation을 사용하여 안전한 데이터 레이크를 작성하는 방법을 설명해 드렸습니다. 사용자는 또한 거버넌스, 시맨틱 일관성 및 액세스 제어를 구현하는 메커니즘을 제공하여 분석 및 기계 학습에 데이터를 보다 유용하게 사용할 수 있습니다.

보다 자세한 내용을 원하신다면 다음 게시글을 참고해 주시기 바랍니다.

 

 

원문 URL: https://aws.amazon.com/ko/blogs/big-data/getting-started-with-aws-lake-formation/

 

** 메가존 클라우드 TechBlog는 AWS BLOG 영문 게재 글 중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역 및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.