Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 블로그 게시물
DynamoDB에 대한 제로 ETL 통합 생성
제로 ETL 통합을 생성하기 전에 Amazon Redshift와 제로 ETL 통합을 사용할 때 고려할 사항에 설명된 고려 사항 및 요구 사항을 검토하세요. 이 일반적인 흐름에 따라 DynamoDB에서 Amazon Redshift로의 제로 ETL 통합을 생성합니다.
제로 ETL 통합이 구성된 Amazon Redshift로 DynamoDB 데이터를 복제하려면
-
로그인 자격 증명이 Amazon Redshift 및 DynamoDB와의 제로 ETL 통합으로 작업할 수 있는 권한을 허용하는지 확인합니다. IAM 정책 예제는 DynamoDB 제로 ETL 통합을 사용하는 IAM 정책 섹션을 참조하세요.
-
DynamoDB 콘솔에서 Amazon DynamoDB 개발자 안내서에 설명된 대로 시점 복구(PITR), 리소스 정책, 자격 증명 기반 정책 및 암호화 키 권한을 갖도록 DynamoDB 테이블을 구성합니다.
-
Amazon Redshift 콘솔에서: 대상 Amazon Redshift 데이터 웨어하우스 생성 및 구성.
-
AWS CLI 또는 Amazon Redshift 콘솔에서: 데이터 웨어하우스에 대/소문자 구분 기능 사용 설정.
-
Amazon Redshift 콘솔에서: Amazon Redshift 데이터 웨어하우스에 대한 권한 부여 구성.
-
-
Amazon Redshift 콘솔에서 이 주제의 뒷부분에 설명된 대로 제로 ETL 통합을 생성합니다.
-
Amazon Redshift 콘솔에서 Amazon Redshift 데이터 웨어하우스에 대상 데이터베이스를 생성합니다. 자세한 내용은 Amazon Redshift에서 대상 데이터베이스 생성 섹션을 참조하세요.
-
Amazon Redshift 콘솔에서 Amazon Redshift 데이터 웨어하우스에서 복제된 데이터를 쿼리합니다. 자세한 내용은 Amazon Redshift에서 복제된 데이터 쿼리 섹션을 참조하세요.
이 단계에서는 Amazon Redshift와의 Amazon DynamoDB 제로 ETL 통합을 생성합니다.
DynamoDB 제로 ETL 통합을 사용하는 IAM 정책
제로 ETL 통합을 생성할 때 로그인 자격 증명은 DynamoDB 및 Amazon Redshift 작업과 통합의 소스 및 대상으로 관련된 리소스에 대한 권한이 있어야 합니다. 다음은 필요한 최소 권한을 보여주는 예제입니다.
고객 관리형 키를 사용하여 DynamoDB 통합 암호화
DynamoDB 제로 ETL 통합을 생성할 때 AWS 소유 키가 아닌 사용자 지정 KMS 키를 지정하는 경우 키 정책은 Amazon Redshift 서비스 위탁자에 CreateGrant 작업에 대한 액세스 권한을 제공해야 합니다. 또한, 요청자 계정 또는 역할 권한이 DescribeKey 및 CreateGrant 작업을 수행할 수 있도록 허용해야 합니다.
다음 샘플 키 정책 문은 정책에 필요한 권한을 보여줍니다. 일부 예에는 권한 범위를 더 축소하기 위한 컨텍스트 키가 포함됩니다.
다음 정책 문을 사용하면 요청자 계정 또는 역할이 KMS 키에 대한 정보를 검색할 수 있습니다.
{ "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::{account-ID}:role/{role-name}" }, "Action":"kms:DescribeKey", "Resource":"*" }
다음 정책 문에서는 요청자 계정 또는 역할이 KMS 키에 권한 부여를 추가할 수 있도록 허용합니다. kms:ViaService 조건 키는 Amazon Redshift로부터의 요청으로 KMS 키의 사용을 제한합니다.
{ "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::{account-ID}:role/{role-name}" }, "Action":"kms:CreateGrant", "Resource":"*", "Condition":{ "StringEquals":{ "kms:EncryptionContext:{context-key}":"{context-value}", "kms:ViaService":"redshift.{region}.amazonaws.com" }, "ForAllValues:StringEquals":{ "kms:GrantOperations":[ "Decrypt", "GenerateDataKey", "CreateGrant" ] } } }
다음 정책 문은 Amazon Redshift 서비스 보안 주체가 KMS 키에 권한을 추가하는 것을 허용합니다.
{ "Effect":"Allow", "Principal":{ "Service":"redshift.amazonaws.com" }, "Action":"kms:CreateGrant", "Resource":"*", "Condition":{ "StringEquals":{ "kms:EncryptionContext:{context-key}":"{context-value}", "aws:SourceAccount":"{account-ID}" }, "ForAllValues:StringEquals":{ "kms:GrantOperations":[ "Decrypt", "GenerateDataKey", "CreateGrant" ] }, "ArnLike":{ "aws:SourceArn":"arn:aws:*:{region}:{account-ID}:integration:*" } } }
자세한 내용은 AWS Key Management Service 개발자 안내서의 키 정책 생성을 참조하세요.
암호화 컨텍스트
제로 ETL 통합을 암호화할 때 키-값 페어를 추가 암호화 컨텍스트로 추가할 수 있습니다. 이러한 키-값 페어를 추가하여 복제되는 데이터에 대한 추가 컨텍스트 정보를 추가할 수 있습니다. 자세한 내용은 AWS Key Management Service 개발자 가이드에서 암호화 컨텍스트를 참조하세요.
Amazon Redshift는 추가한 모든 항목 외에도 다음과 같은 암호화 컨텍스트 쌍을 추가합니다.
-
aws:redshift:integration:arn-IntegrationArn -
aws:servicename:id-Redshift
이렇게 하면 추가할 수 있는 전체 쌍 수가 8개에서 6개로 줄어들고 권한 부여 제약 조건의 전체 문자 제한이 늘어납니다. 자세한 내용은 AWS Key Management Service 개발자 안내서에서 권한 부여 제약 사용을 참조하세요.