BLOG
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(부여)를 선택하십시오.
- 다음 정보를 제공하십시오.
- IAM 역할로 사용자와 AWSGlueServiceRoleDefault을 선택합니다.
- 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 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.