Lake Formation
•
데이터 레이크 서비스
데이터 레이크
•
구조화되거나 반구조화되거나 구조화되지 않은 모든 유형의 대량의 데이터를 저장, 처리, 보호하기 위한 중앙 집중식 저장소
과정
•
S3, Relational 및 NoSQL 데이터베이스의 기존 데이터 스토어를 식별하고 데이터를 데이터 레이크로 이동
•
분석을 위해 데이터를 크롤링하고 카탈로그를 작성하고 준비
•
필요한 경우 데이터 변환, 중복 제거, 스토리지 최적화, 민감한 데이터 엑세스 보호 수행
•
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 계정과 간단하고 안전하게 공유할 수 있다.
•
개별 서비스별 설정을 할 필요는 없다.





