기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS CloudTrail 소스에서 데이터 레이크 생성
이 자습서에서는 AWS CloudTrail 소스에서 첫 번째 데이터 레이크를 생성하고 로드하기 위해 Lake Formation 콘솔에서 수행하는 작업을 안내합니다.
데이터 레이크 생성을 위한 개략적인 단계
Amazon Simple Storage Service(S3) 경로를 데이터 레이크로 등록합니다.
데이터 카탈로그 및 데이터 레이크의 Amazon S3 위치에 쓸 수 있는 권한을 Lake Formation에 부여합니다.
데이터 카탈로그에서 메타데이터 테이블을 구성하기 위해 데이터베이스를 생성합니다.
청사진을 사용하여 워크플로를 생성합니다. 워크플로를 실행하여 데이터 소스에서 데이터를 수집합니다.
-
다른 사람이 데이터 카탈로그 및 데이터 레이크의 데이터를 관리할 수 있도록 Lake Formation 권한을 설정합니다.
Amazon S3 데이터 레이크로 가져온 데이터를 쿼리하도록 Amazon Athena를 설정합니다.
일부 데이터 스토어 유형의 경우, Amazon S3 데이터 레이크로 가져온 데이터를 쿼리하도록 Amazon Redshift Spectrum을 설정합니다.
주제
수강 대상
다음 테이블에는 이 자습서에서 데이터 레이크를 생성하는 데 사용되는 역할이 나열되어 있습니다.
역할 | 설명 |
---|---|
IAM 관리자 | AWS 관리형 정책 AdministratorAccess 를 보유합니다. IAM 역할 및 Amazon S3 버킷을 생성할 수 있습니다. |
데이터 레이크 관리자 | 데이터 카탈로그에 액세스하고, 데이터베이스를 생성하고, Lake Formation 권한을 다른 사용자에게 부여할 수 있는 사용자입니다. IAM 관리자보다 IAM 권한이 적지만 데이터 레이크를 관리하기에는 충분합니다. |
데이터 분석가 | 데이터 레이크에 대해 쿼리를 실행할 수 있는 사용자입니다. 쿼리를 실행할 수 있는 권한만 있습니다. |
워크플로 역할 | 워크플로를 실행하는 데 필요한 IAM 정책이 포함된 역할입니다. 자세한 내용은 (선택 사항) 워크플로에 대한 IAM 역할 생성 단원을 참조하십시오. |
사전 조건
시작하기 전:
-
설정 AWS Lake Formation의 작업을 완료했는지 확인합니다.
-
CloudTrail 로그의 위치를 파악합니다.
-
Athena는 데이터 분석가 페르소나가 Athena를 사용하기 전에 쿼리 결과를 저장할 Amazon S3 버킷을 생성하도록 요구합니다.
AWS Identity and Access Management(IAM) 사용에 익숙하다고 가정합니다. IAM에 대한 자세한 내용은 IAM 사용 설명서를 참조하세요.
1단계: 데이터 분석가 사용자 생성
이 사용자는 데이터 레이크를 쿼리할 수 있는 최소 권한 세트를 보유합니다.
-
https://console.aws.amazon.com/iam
에서 IAM 콘솔을 엽니다. 관리자 액세스 권한이 있는 사용자 생성에서 생성한 관리자 사용자 또는 AdministratorAccess
AWS 관리형 정책을 사용하는 사용자로 로그인합니다. -
다음 설정을 사용하여
datalake_user
라는 사용자를 생성합니다.-
AWS Management Console 액세스를 활성화합니다.
-
암호를 설정합니다. 암호 재설정은 필요하지 않습니다.
-
AmazonAthenaFullAccess
AWS 관리형 정책을 연결합니다. -
다음 인라인 정책을 연결합니다. 정책 이름을
DatalakeUserBasic
로 지정합니다.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:SearchTables", "glue:GetDatabase", "glue:GetDatabases", "glue:GetPartitions", "lakeformation:GetResourceLFTags", "lakeformation:ListLFTags", "lakeformation:GetLFTag", "lakeformation:SearchTablesByLFTags", "lakeformation:SearchDatabasesByLFTags" ], "Resource": "*" } ] }
-
2단계: 워크플로 역할에 AWS CloudTrail 로그 읽기 권한 추가
-
다음 인라인 정책을
LakeFormationWorkflowRole
역할에 연결합니다. 이 정책은 AWS CloudTrail 로그를 읽을 수 있는 권한을 부여합니다. 정책 이름을DatalakeGetCloudTrail
로 지정합니다.LakeFormationWorkflowRole
역할을 생성하려면 (선택 사항) 워크플로에 대한 IAM 역할 생성 단원을 참조하십시오.중요
<your-s3-cloudtrail-bucket>
을 CloudTrail 데이터의 Amazon S3 위치로 바꾸십시오.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetObject", "Resource": ["arn:aws:s3:::
<your-s3-cloudtrail-bucket>
/*"] } ] } -
세 개의 정책이 역할에 연결되어 있는지 확인합니다.
3단계: 데이터 레이크에 대한 Amazon S3 버킷 생성
데이터 레이크의 루트 위치가 될 Amazon S3 버킷을 생성합니다.
-
https://console.aws.amazon.com/s3/
에서 Amazon S3 콘솔을 열고 관리자 액세스 권한이 있는 사용자 생성에서 생성한 관리자 사용자로 로그인합니다. -
버킷 생성을 선택하고 마법사를 통해
이라는 버킷을 생성합니다. 여기서<yourName>
-datalake-cloudtrail<yourName>
은 이름의 첫 번째 이니셜과 성입니다. 예:jdoe-datalake-cloudtrail
.Amazon S3 버킷 생성에 대한 자세한 지침은 버킷 생성을 참조하세요.
4단계: Amazon S3 경로 등록
Amazon S3 경로를 데이터 레이크의 루트 위치로 등록합니다.
-
Lake Formation 콘솔(https://console.aws.amazon.com/lakeformation/
)을 엽니다. 데이터 레이크 관리자로 로그인합니다. -
탐색 창의 등록 및 수집에서 데이터 레이크 위치를 선택합니다.
-
위치 등록을 선택한 다음 찾아보기를 선택합니다.
-
이전에 생성한
버킷을 선택하고 기본 IAM 역할<yourName>
-datalake-cloudtrailAWSServiceRoleForLakeFormationDataAccess
를 수락한 다음 위치 등록을 선택합니다.위치 등록에 대한 자세한 내용은 데이터 레이크에 Amazon S3 위치 추가 섹션을 참조하세요.
5단계: 데이터 위치 권한 부여
보안 주체는 데이터 레이크 위치에 대한 데이터 위치 권한이 있어야 해당 위치를 가리키는 데이터 카탈로그 테이블 또는 데이터베이스를 생성할 수 있습니다. 워크플로가 데이터 수집 대상에 쓸 수 있도록 워크플로의 IAM 역할에 데이터 위치 권한을 부여해야 합니다.
-
탐색 창의 권한에서 데이터 위치를 선택합니다.
-
권한 부여를 선택하고 권한 부여 대화 상자에서 다음과 같이 선택합니다.
-
IAM 사용자 및 역할에 대해
LakeFormationWorkflowRole
을 선택합니다. -
스토리지 위치에 대해
버킷을 선택합니다.<yourName>
-datalake-cloudtrail
-
-
권한 부여를 선택합니다.
데이터 위치 권한에 대한 자세한 내용은 Underlying data access control 섹션을 참조하세요.
6단계: 데이터 카탈로그에서 데이터베이스 생성
Lake Formation 데이터 카탈로그의 메타데이터 테이블은 데이터베이스 내에 저장됩니다.
-
탐색 창의 데이터 카탈로그에서 데이터베이스를 선택합니다.
-
데이터베이스 생성을 선택하고 데이터베이스 세부 정보에서 이름
lakeformation_cloudtrail
을 입력합니다. -
다른 필드는 비워 두고 데이터베이스 생성을 선택합니다.
7단계: 데이터 권한 부여
데이터 카탈로그에서 메타데이터 테이블을 생성하려면 권한을 부여해야 합니다. 워크플로는 LakeFormationWorkflowRole
역할로 실행되므로 해당 역할에 이러한 권한을 부여해야 합니다.
-
Lake Formation 콘솔 탐색 창의 데이터 카탈로그에서 데이터베이스를 선택합니다.
-
lakeformation_cloudtrail
데이터베이스를 선택한 다음 작업 드롭다운 목록의 권한 머리글 아래에서 권한 부여를 선택합니다. -
데이터 권한 부여 대화 상자에서 다음과 같이 선택합니다.
-
보안 주체에서 IAM 사용자 및 역할에 대해
LakeFormationWorkflowRole
을 선택합니다. -
LF 태그 또는 카탈로그 리소스에서 명명된 데이터 카탈로그 리소스를 선택합니다.
-
데이터베이스의 경우
lakeformation_cloudtrail
데이터베이스가 이미 추가된 것을 확인할 수 있습니다. -
데이터베이스 권한에서 테이블 생성, 변경 및 삭제를 선택하고 슈퍼 옵션이 선택되어 있으면 선택을 취소합니다.
이제 데이터 권한 부여 대화 상자가 이 스크린샷처럼 보일 것입니다.
-
-
권한 부여를 선택합니다.
Lake Formation 권한 부여에 대한 자세한 내용은 Lake Formation 권한 관리 섹션을 참조하세요.
8단계: 청사진을사용하여 워크플로 생성
CloudTrail 로그를 읽고, 구조를 이해하고, 데이터 카탈로그에서 적절한 테이블을 생성하려면 AWS Glue 크롤러, 작업, 트리거 및 워크플로로 구성된 워크플로를 설정해야 합니다. Lake Formation의 청사진은 이 프로세스를 단순화합니다.
워크플로는 작업, 크롤러 및 데이터를 검색하고 데이터 레이크로 데이터를 수집하는 트리거를 생성합니다. 사전 정의된 Lake Formation 청사진 중 하나를 기반으로 워크플로를 생성합니다.
-
Lake Formation 콘솔의 탐색 창에서 청사진을 선택한 다음 청사진 사용을 선택합니다.
-
청사진 사용 페이지의 청사진 유형에서 AWS CloudTrail을 선택합니다.
-
소스 가져오기에서 CloudTrail 소스 및 시작 날짜를 선택합니다.
-
대상 가져오기에서 다음 파라미터를 지정합니다.
대상 데이터베이스 lakeformation_cloudtrail
대상 스토리지 위치 s3://
<yourName>
-datalake-cloudtrail데이터 형식 PARQUET -
가져오기 빈도에 대해서는 온디맨드 실행을 선택합니다.
-
가져오기 옵션에서 다음 파라미터를 지정합니다.
워크플로 이름 lakeformationcloudtrailtest
IAM 역할 LakeFormationWorkflowRole
테이블 접두사 cloudtrailtest
참고
소문자여야 합니다.
-
생성을 선택하고 콘솔에서 워크플로가 성공적으로 생성되었음을 보고할 때까지 기다립니다.
작은 정보
다음과 같은 오류 메시지가 표시되나요?
User: arn:aws:iam::
<account-id>
:user/<datalake_administrator_user>
is not authorized to perform: iam:PassRole on resource:arn:aws:iam::<account-id>
:role/LakeFormationWorkflowRole...그렇다면 데이터 레이크 관리자 사용자에 대한 인라인 정책에서
<account-id>
를 유효한 AWS 계정 번호로 바꿨는지 확인하세요.
9단계: 워크플로 실행
워크플로가 온디맨드 실행되도록 지정했으므로 워크플로를 수동으로 시작해야 합니다.
-
청사진 페이지에서
lakeformationcloudtrailtest
워크플로를 선택하고 작업 메뉴에서 시작을 선택합니다.워크플로가 실행되면 마지막 실행 상태 열에서 진행 상황을 볼 수 있습니다. 가끔 새로 고침 버튼을 선택합니다.
상태가 실행 중에서 검색 중, 가져오는 중, 완료됨으로 바뀝니다.
워크플로가 완료되면:
-
데이터 카탈로그에 새 메타데이터 테이블이 포함됩니다.
-
CloudTrail 로그가 데이터 레이크에 수집됩니다.
워크플로가 실패하면 다음을 수행합니다.
-
워크플로를 선택하고 작업 메뉴에서 그래프 보기를 선택합니다.
워크플로가 AWS Glue 콘솔에서 열립니다.
-
워크플로가 선택되어 있는지 확인하고 [기록(History)] 탭을 선택합니다.
-
기록에서 가장 최근 실행을 선택하고 실행 세부 정보 보기를 선택합니다.
-
동적(런타임) 그래프에서 실패한 작업이나 크롤러를 선택하고 오류 메시지를 검토합니다. 장애가 발생한 노드는 빨간색 또는 노란색입니다.
-
10단계: 테이블에 대한 SELECT 권한 부여
데이터 분석가가 테이블이 가리키는 데이터를 쿼리할 수 있도록 새 데이터 카탈로그 테이블에 대한 SELECT
권한을 부여해야 합니다.
참고
워크플로는 워크플로에서 생성된 테이블에 대한 SELECT
권한을 해당 워크플로를 실행한 사용자에게 자동으로 부여합니다. 데이터 레이크 관리자가 이 워크플로를 실행했으므로 데이터 분석가에게 SELECT
권한을 부여해야 합니다.
-
Lake Formation 콘솔 탐색 창의 데이터 카탈로그에서 데이터베이스를 선택합니다.
-
lakeformation_cloudtrail
데이터베이스를 선택한 다음 작업 드롭다운 목록의 권한 머리글 아래에서 권한 부여를 선택합니다. -
데이터 권한 부여 대화 상자에서 다음과 같이 선택합니다.
-
보안 주체에서 IAM 사용자 및 역할에 대해
datalake_user
을 선택합니다. -
LF 태그 또는 카탈로그 리소스에서 명명된 데이터 카탈로그 리소스를 선택합니다.
-
데이터베이스의 경우
lakeformation_cloudtrail
데이터베이스가 이미 선택되어 있어야 합니다. -
테이블에 대해
cloudtrailtest-cloudtrail
을 선택합니다. -
테이블 및 열 권한에서 선택을 선택합니다.
-
-
권한 부여를 선택합니다.
다음 단계는 데이터 분석가로서 수행됩니다.
11단계: Amazon Athena를 사용하여 데이터 레이크 쿼리
Amazon Athena 콘솔을 사용하여 데이터 레이크의 CloudTrail 데이터를 쿼리합니다.
-
https://console.aws.amazon.com/athena/
에서 Athena 콘솔을 열고 데이터 분석가인 사용자 datalake_user
로 로그인합니다. -
필요한 경우 시작하기를 선택하여 Athena 쿼리 편집기로 계속 진행합니다.
-
데이터 소스에 대해 AwsDataCatalog를 선택합니다.
-
Database(데이터베이스)에서
lakeformation_cloudtrail
를 선택합니다.테이블 목록이 채워집니다.
-
cloudtrailtest-cloudtrail
테이블 옆에 있는 오버플로 메뉴(3개의 점이 가로로 정렬됨)에서 테이블 미리 보기를 선택한 다음 실행을 선택합니다.쿼리가 실행되고 10개의 데이터 행이 표시됩니다.
이전에 Athena를 사용해 본 적이 없다면 먼저 Athena 콘솔에서 쿼리 결과를 저장할 Amazon S3 위치를 구성해야 합니다.
datalake_user
는 선택한 Amazon S3 버킷에 액세스하는 데 필요한 권한을 가지고 있어야 합니다.
참고
자습서를 완료했으므로 이제 조직의 보안 주체에게 데이터 권한 및 데이터 위치 권한을 부여하세요.