제로 ETL 통합 대상 구성
제로 ETL 통합을 위해 대상을 구성할 때 AWS에서 제공하는 몇 가지 옵션이 있습니다. 대상은 암호화된 Amazon Redshift 데이터 웨어하우스 또는 Amazon SageMaker Lakehouse 카탈로그일 수 있습니다.
제로 ETL 통합의 대상을 선택하기 전에 다음 대상 리소스 중 하나를 구성해야 합니다.
제로 ETL 통합의 대상에 대한 구성 옵션은 다음을 포함합니다.
일반 Amazon S3 스토리지로 구성된 Amazon SageMaker Lakehouse 카탈로그 및 데이터베이스. 일반 S3 스토리지를 사용한 Amazon SageMaker Lakehouse 카탈로그 구성을(를) 참조하세요.
Amazon S3 Tables 버킷으로 구성된 Amazon SageMaker Lakehouse 카탈로그. Amazon S3 Tables를 대상으로 구성을(를) 참조하세요.
Amazon Redshift 관리형 스토리지로 구성된 Amazon SageMaker Lakehouse 카탈로그. Amazon Redshift 관리형 스토리지로 Amazon SageMaker Lakehouse 카탈로그 구성을(를) 참조하세요.
Redshift 네임스페이스로 식별되는 Amazon Redshift 데이터 웨어하우스. Amazon Redshift 데이터 웨어하우스 대상 구성을(를) 참조하세요.
참고
생성 후에는 제로 ETL 통합의 대상을 수정할 수 없습니다.
일반 S3 스토리지를 사용한 Amazon SageMaker Lakehouse 카탈로그 구성
이 섹션에서는 제로 ETL 통합에서 Amazon SageMaker Lakehouse 카탈로그 대상의 스토리지로 일반 Amazon S3 버킷을 구성하는 데 필요한 사전 조건과 설정 단계에 대해 설명합니다.
통합 설정을 위한 사전 조건
일반 S3 스토리지를 사용하여 Amazon SageMaker Lakehouse 카탈로그와 제로 ETL 통합을 생성하기 전에 다음 설정 작업을 완료해야 합니다.
AWS Glue 데이터베이스 설정
카탈로그 RBAC 정책 제공
대상 IAM 역할 생성
일반 Amazon S3 스토리지로 Amazon SageMaker Lakehouse 카탈로그를 구성한 후 대상과의 통합 구성(으)로 이동하여 통합 설정을 완료할 수 있습니다.
Amazon S3 Tables를 대상으로 구성
이 섹션에서는 제로 ETL 통합을 위한 대상으로 Amazon S3 Tables를 구성하는 데 필요한 사전 조건과 설정 단계에 대해 설명합니다.
통합 설정을 위한 사전 조건
Amazon S3 Tables를 대상으로 하는 제로 ETL 통합을 생성하기 전에 다음 설정 작업을 완료해야 합니다.
Amazon S3 Tables 버킷 설정
카탈로그 RBAC 정책 제공
대상 IAM 역할 생성
Amazon S3 Tables 버킷 설정
Amazon S3 Tables 시작하기의 지침에 따라 계정에 S3 Tables 버킷을 생성합니다.
Amazon S3 Tables와 AWS 서비스 통합 지침에 따라 S3 Tables 버킷과의 분석 통합을 사용하도록 설정합니다.
카탈로그 RBAC 정책 제공
소스와 Amazon S3 Tables 카탈로그 대상 간의 통합을 허용하려면 카탈로그 RBAC 정책에 다음 권한을 추가해야 합니다.
대상 AWS Glue 카탈로그 리소스 정책에는 AuthorizeInboundIntegration에 대한 Glue 서비스 권한이 포함되어야 합니다. 또한 통합을 생성하는 소스 보안 주체나 대상 AWS Glue 리소스 정책에는 CreateInboundIntegration 권한이 필요합니다.
참고
교차 계정 시나리오의 경우 소스 주 계정과 대상 AWS Glue 카탈로그 리소스 정책 모두에 리소스에 대한 glue:CreateInboundIntegration 권한이 포함되어야 합니다.
{ "Version": "2012-10-17", "Statement": [ { // Optional for same account but mandatory for cross account scenarios // Allow Alice to create Integration on Target Catalog "Principal": { "AWS": [ "arn:aws:iam::<source-account-id>:user/Alice" ] }, "Effect": "Allow", "Action": [ "glue:CreateInboundIntegration" ], "Resource": [ "arn:aws:glue:<region>:<Target-Account-Id>:catalog/<s3tablescatalog>/*" ], "Condition": { "StringLike": { "aws:SourceArn": "arn:aws:dynamodb:<region>:<Account>:table/<table-name>" } } }, { // Required: Allow Glue to Authorize the Inbound Integration on behalf of Bob "Principal": { "Service": [ "glue.amazonaws.com" ] }, "Effect": "Allow", "Action": [ "glue:AuthorizeInboundIntegration" ], "Resource": [ "arn:aws:glue:<region>:<Target-Account-Id>:catalog/<s3tablescatalog>/*" ], "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:dynamodb:<region>:<account-id>:table/<table-name>" } } } ] }
참고
<s3tablescatalog>
를 S3 Tables의 카탈로그 이름으로 바꿉니다.
대상 IAM 역할 생성
다음과 같은 권한 및 신뢰 관계를 가진 대상 IAM 역할을 생성합니다.
IAM 정책 예제:
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3tables:ListTableBuckets", "s3tables:GetTableBucket", "s3tables:GetTableBucketEncryption", "s3tables:GetNamespace", "s3tables:CreateNamespace", "s3tables:ListNamespaces", "s3tables:CreateTable", "s3tables:GetTable", "s3tables:GetTableEncryption", "s3tables:ListTables", "s3tables:GetTableMetadataLocation", "s3tables:UpdateTableMetadataLocation", "s3tables:GetTableData", "s3tables:PutTableData" ], "Resource": "arn:aws:s3tables:<region>:<account-id>:bucket/*", "Effect": "Allow" }, { "Action": [ "cloudwatch:PutMetricData" ], "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": "AWS/Glue/ZeroETL" } }, "Effect": "Allow" }, { "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "*", "Effect": "Allow" } ] }
대상 IAM 역할에 다음 신뢰 정책을 추가하여 AWS Glue 서비스가 역할을 수임할 수 있도록 허용합니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
참고
S3 Tables 버킷 리소스 정책에 이 대상 IAM 역할에 대한 명시적인 거부 문이 없는지 확인합니다. 명시적으로 거부하면 모든 허용 권한이 무시되고 통합이 제대로 작동하지 않습니다.
Amazon Redshift 관리형 스토리지로 Amazon SageMaker Lakehouse 카탈로그 구성
이 섹션에서는 Amazon Redshift 관리형 스토리지(RMS)를 제로 ETL 통합의 대상으로 사용하여 Amazon SageMaker Lakehouse 카탈로그를 구성하기 위한 사전 조건 및 설정 단계에 대해 설명합니다.
통합 설정을 위한 사전 조건
Redshift 관리형 스토리지를 사용하여 Amazon SageMaker Lakehouse 카탈로그와의 제로 ETL 통합을 생성하기 전에 다음 설정 작업을 완료해야 합니다.
Amazon Redshift 클러스터 또는 서버리스 작업 그룹 설정
Lake Formation과의 Amazon Redshift 통합 등록
Lake Formation에서 관리형 카탈로그 생성
IAM 권한 구성
Amazon Redshift 관리형 스토리지 설정
제로 ETL 통합을 위한 Amazon Redshift 관리형 스토리지를 설정하려면 다음 단계를 따르세요.
기존 Amazon Redshift 클러스터 또는 Serverless 작업 그룹을 생성하거나 사용합니다. 통합을 성공적으로 수행하려면 대상 Amazon Redshift 작업 그룹이나 클러스터에서
enable_case_sensitive_identifier
파라미터가 켜져 있는지 확인합니다. 대소문자 구분 활성화에 대한 자세한 내용은 Amazon Redshift 관리 안내서의 데이터 웨어하우스에 대소문자 구분 기능 사용 설정을 참조하세요.Redshift에서 AWS Lake Formation의 카탈로그로 통합을 등록합니다. AWS Glue 데이터 카탈로그에 클러스터 및 네임스페이스 등록을 참조하세요.
AWS Lake Formation에서 페더레이션 또는 관리형 카탈로그를 생성합니다. 자세한 내용은 다음을 참조하세요.
대상 역할에 대한 IAM 권한을 구성합니다. 이 역할에는 Redshift 및 Lake Formation 리소스 모두에 액세스할 수 있는 권한이 필요합니다. 이 역할에는 적어도 다음 사항이 있어야 합니다.
Redshift 클러스터 또는 작업 그룹에 액세스할 수 있는 권한
Lake Formation 카탈로그에 액세스할 수 있는 권한
카탈로그에서 테이블을 생성하고 관리할 수 있는 권한
모니터링을 위한 CloudWatch 및 CloudWatch Logs 권한
Amazon Redshift 관리형 스토리지로 Amazon SageMaker Lakehouse 카탈로그를 구성한 후 대상과의 통합 구성(으)로 이동하여 통합 설정을 완료할 수 있습니다.
Amazon Redshift 데이터 웨어하우스 대상 구성
이 섹션에서는 제로 ETL 통합을 위한 대상으로 Amazon Redshift 데이터 웨어하우스를 구성하는 데 필요한 사전 조건과 설정 단계에 대해 설명합니다.
통합 설정을 위한 사전 조건
Amazon Redshift 데이터 웨어하우스 대상과 제로 ETL 통합을 생성하기 전에 다음 설정 작업을 완료해야 합니다.
Amazon Redshift 클러스터 또는 서버리스 작업 그룹 설정
대/소문자 구분 구성
IAM 권한 구성
Amazon Redshift 데이터 웨어하우스 설정
제로 ETL 통합을 위한 Amazon Redshift 데이터 웨어하우스를 설정하려면 다음 단계를 따르세요.
Amazon Redshift 콘솔
로 이동하여 클러스터 생성을 클릭하거나 기존 클러스터를 사용합니다. Amazon Redshift Serverless의 경우 작업 그룹 생성을 클릭합니다. 새 클러스터를 생성하는 경우 적절한 클러스터 크기를 선택하고 클러스터가 암호화되어 있는지 확인합니다. 서버리스의 경우 요구 사항에 따라 작업 그룹 설정을 구성합니다.
통합을 성공적으로 수행하려면 대상 Amazon Redshift 작업 그룹이나 클러스터에서
enable_case_sensitive_identifier
파라미터가 켜져 있는지 확인합니다. 대소문자 구분 활성화에 대한 자세한 내용은 Amazon Redshift 관리 안내서의 데이터 웨어하우스에 대소문자 구분 기능 사용 설정을 참조하세요.제로 ETL 통합이 Amazon Redshift 데이터 웨어하우스에 액세스할 수 있도록 IAM 권한을 구성합니다. 다음 권한이 있는 IAM 역할을 생성해야 합니다.
Amazon Redshift 클러스터 또는 작업 그룹에 액세스할 수 있는 권한
Amazon Redshift에서 데이터베이스 및 테이블을 생성하고 관리할 수 있는 권한
모니터링을 위한 CloudWatch 및 Amazon CloudWatch Logs 권한
Amazon Redshift 작업 그룹 또는 클러스터 설정이 완료되면 제로 ETL 통합을 위해 데이터 웨어하우스를 구성해야 합니다. 자세한 내용은 Amazon Redshift 관리 안내서의 제로 ETL 통합 시작하기를 참조하세요.
참고
Amazon Redshift 데이터 웨어하우스를 대상으로 사용하는 경우 통합은 지정된 데이터베이스에 복제된 데이터를 저장하기 위한 스키마를 생성합니다. 스키마 이름은 통합 이름에서 파생됩니다.
Amazon Redshift 데이터 웨어하우스를 구성한 후 대상과의 통합 구성(으)로 이동하여 통합 설정을 완료할 수 있습니다.
대상과의 통합 구성
대상 리소스를 구성하고, 연결을 선택하고, 소스 IAM 역할을 지정한 후, 다음 단계에 따라 통합 설정을 완료합니다.
이전 단계에서 구성한 대상을 지정합니다.
AWS Glue 수정 요청 옵션을 선택합니다. Amazon Redshift 대상의 경우 다음과 같은 결과로 이어집니다.
Amazon Redshift 클러스터 또는 서버리스 작업 그룹에 권한이 있는 서비스 보안 주체를 적용합니다.
Amazon Redshift 클러스터 또는 서버리스 작업 그룹에 권한이 있는 AWS Glue 소스 ARN을 적용합니다.
enable_case_sensitive_identifier = true
를 사용하여 새 파라미터 그룹을 연결합니다.
통합 이름을 제공하고 통합 생성 및 시작을 선택합니다.
통합이 활성 상태가 되면 통합 세부 정보 페이지로 이동하여 통합에서 데이터베이스 생성을 선택합니다.
마지막으로 Redshift 쿼리 편집기로 이동한 다음 데이터베이스에 연결하여 스냅샷 및 증분 데이터를 검증할 수 있습니다.
참고
네임스페이스 또는 카탈로그 이름에는 소문자 영숫자와 밑줄만 사용할 수 있습니다. 이는 AWS Glue Data Catalog에서 특수 문자를 포함한 원하는 이름을 사용하여 데이터베이스를 생성할 수 있도록 허용하는 것과 다릅니다.