Search

Lake Formation

Lake Formation
데이터 레이크 서비스

데이터 레이크

구조화되거나 반구조화되거나 구조화되지 않은 모든 유형의 대량의 데이터를 저장, 처리, 보호하기 위한 중앙 집중식 저장소

과정

S3, RelationalNoSQL 데이터베이스의 기존 데이터 스토어를 식별하고 데이터를 데이터 레이크로 이동
분석을 위해 데이터를 크롤링하고 카탈로그를 작성하고 준비
필요한 경우 데이터 변환, 중복 제거, 스토리지 최적화, 민감한 데이터 엑세스 보호 수행
Redshift, Athena, EMR for Apache Spark, QuickSight 등에서 데이터 세트를 사용

Blueprint

데이터 가져오기용 템플릿이다.
데이터 가져오기 처리와 데이터 카탈로그 생성을 수행한다.
데이터 소스로서는 JDBC(Java Database Connectivity) 연결을 사용한 온프레미스 DB 또는 RDS DB, CloudTrail 로그 등에서 가져오기가 가능하다. 실제로는 Glue의 크롤러나 작업이 자동으로 생성된다.

Lake Formation의 실체 - AWS Glue와 S3 등의 조합

블루프린트로 데이터를 가져오고 데이터 카탈로그를 만든다.
(카탈로그화 하는 작업은 AWS Glue의 크롤러, 작업, 데이터 카탈로그(※) 등의 구성 요소를 통해 이루어진다)
가져온 실제 데이터의 저장 위치는 S3 Bucket이며, 이는 사전에 생성하여 Lake Formation에 등록해 두어야 한다.

데이터 접근 권한 설정

IAM의 권한 설정 외에도, Lake Formation 고유의 권한 관리 모델을 가지고 있어, 테이블 단위행, 열, 셀 단위와 같은 세밀한 접근 제어를 수행할 수 있다.
적절한 권한을 가진 사용자만 필요한 데이터에 접근할 수 있게 한다.
접근 제어 방법으로는 2가지가 있다.
Named Resource Access Control - 데이터베이스명이나 테이블명을 지정하여 제어한다.
TBCA: Tag-Based Access Control - 속성 정보(LF 태그)를 사용하여 제어한다. LF 태그는 사전에 생성하여 리소스에 할당해 두어야 한다.
LF 태그는 부여된 리소스의 하위 리소스에 자동으로 상속된다.
예를 들어, 데이터베이스에 부여하면 해당 데이터베이스 아래의 모든 테이블에 태그가 부여된다.
이러한 특징 덕분에 태그 기반 방법을 사용하면 관리해야 할 권한의 수를 줄일 수 있다.
또한, 제어 대상 리소스가 증가하더라도 리소스에 태그를 부여하는 것만으로 충분하기 때문에, 특히 관리하는 리소스가 많은 환경에서 유효한 방법으로 AWS에서도 공식적으로 권장되고 있다

데이터 레이크 공유

Lake Formation에서 관리되는 데이터 레이크는 크로스 계정 공유 설정을 통해, 다른 AWS 계정과 간단하고 안전하게 공유할 수 있다.
개별 서비스별 설정을 할 필요는 없다.