Amazon Redshift가 구성된 Amazon Aurora 제로 ETL 통합 생성 - Amazon Aurora

Amazon Redshift가 구성된 Amazon Aurora 제로 ETL 통합 생성

Amazon Aurora 제로 ETL 통합을 생성할 때는 소스 Aurora DB 클러스터와 대상 Amazon Redshift 데이터 웨어하우스를 지정합니다. 암호화 설정을 사용자 지정하고 태그를 추가할 수도 있습니다. Aurora는 소스 DB 클러스터와 대상 간에 통합을 생성합니다. 통합이 활성화되면 소스 DB 클러스터에 삽입한 모든 데이터가 구성된 Amazon Redshift 대상에 복제됩니다.

필수 조건

제로 ETL 통합을 생성하기 전에 소스 DB 클러스터와 대상 Amazon Redshift 데이터 웨어하우스를 생성해야 합니다. 또한 DB 클러스터를 인증된 통합 소스로 추가하여 데이터 웨어하우스로의 복제를 허용해야 합니다.

각 단계를 완료하기 위한 지침은 Amazon Redshift가 구성된 Aurora 제로 ETL 통합 시작하기 섹션을 참조하세요.

필요한 권한

제로 ETL 통합을 생성하려면 특정 IAM 권한이 필요합니다. 최소한 다음 작업을 수행할 수 있는 권한이 필요합니다.

  • 소스 Aurora DB 클러스터를 위한 제로 ETL 통합을 생성합니다.

  • 모든 제로 ETL 통합을 보고 삭제합니다.

  • 대상 데이터 웨어하우스에 인바운드 통합을 생성합니다. 동일한 계정이 Amazon Redshift 데이터 웨어하우스를 소유하고 있고 이 계정이 해당 데이터 웨어하우스의 승인된 보안 주체인 경우 이 권한이 필요하지 않습니다. 승인된 보안 주체 추가에 대한 자세한 내용은 Amazon Redshift 데이터 웨어하우스에 대한 권한 부여 구성을 참조하세요.

다음 샘플 정책은 통합을 생성하고 관리하는 데 필요한 최소 권한을 보여줍니다. 사용자 또는 역할에 더 광범위한 권한(예: AdministratorAccess 관리형 정책)이 있는 경우 이러한 정확한 권한이 필요하지 않을 수 있습니다.

참고

Redshift Amazon 리소스 이름(ARN)의 형식은 다음과 같습니다. 서버리스 네임스페이스 UUID 앞에는 콜론(:) 대신 슬래시((/)를 사용한다는 점에 유의하세요.

  • 프로비저닝된 클러스터 – arn:aws:redshift:{region}:{account-id}:namespace:namespace-uuid

  • 서버리스 – arn:aws:redshift-serverless:{region}:{account-id}:namespace/namespace-uuid

중요

Aurora PostgreSQL 미리 보기의 경우 Amazon RDS 데이터베이스 미리 보기 환경 내의 모든 ARN 및 작업은 -preview를 서비스 네임스페이스에 추가합니다. 예: rds-preview:CreateIntegrationarn:aws:rds-preview:….

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "rds:CreateIntegration" ], "Resource": [ "arn:aws:rds:{region}:{account-id}:cluster:source-db", "arn:aws:rds:{region}:{account-id}:integration:*" ] }, { "Effect": "Allow", "Action": [ "rds:DescribeIntegrations" ], "Resource": ["*"] }, { "Effect": "Allow", "Action": [ "rds:DeleteIntegration", "rds:ModifyIntegration" ], "Resource": [ "arn:aws:rds:{region}:{account-id}:integration:*" ] }, { "Effect": "Allow", "Action": [ "redshift:CreateInboundIntegration" ], "Resource": [ "arn:aws:redshift:{region}:{account-id}:namespace:namespace-uuid" ] }] }

다른 계정에서 대상 데이터 웨어하우스 선택

다른 AWS 계정에 있는 대상 Amazon Redshift 데이터 웨어하우스를 지정하려면 현재 계정의 사용자가 대상 계정의 리소스에 액세스할 수 있도록 허용하는 역할을 만들어야 합니다. 자세한 내용은 소유한 다른 AWS 계정의 IAM 사용자에 액세스 권한 제공을 참조하세요.

역할에는 사용자가 대상 계정에서 사용 가능한 Amazon Redshift 프로비저닝 클러스터와 Redshift Serverless 네임스페이스를 볼 수 있도록 허용하는 다음 권한이 있어야 합니다.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "redshift:DescribeClusters", "redshift-serverless:ListNamespaces" ], "Resource":[ "*" ] } ] }

역할에는 대상 계정 ID를 지정하는 다음과 같은 신뢰 정책이 있어야 합니다.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "AWS": "arn:aws:iam::{external-account-id}:root" }, "Action":"sts:AssumeRole" } ] }

역할을 생성하기 위한 지침은 사용자 지정 신뢰 정책을 사용하여 역할 생성을 참조하세요.

제로 ETL 통합 생성

AWS Management Console, AWS CLI 또는 RDS API를 사용하여 Aurora MySQL 제로 ETL 통합을 생성할 수 있습니다. Aurora PostgreSQL 통합을 생성하려면 AWS Management Console을 사용해야 합니다.

제로 ETL 통합을 생성하려면
  1. https://console.aws.amazon.com/rds/에서 AWS Management Console에 로그인한 후 Amazon RDS 콘솔을 엽니다.

    Aurora PostgreSQL DB 클러스터를 통합 소스로 사용하는 경우 https://us-east-2.console.aws.amazon.com/rds-preview/home?region=us-east-2#databases에서 Amazon RDS 데이터베이스 미리 보기 환경에 로그인해야 합니다.

  2. 왼쪽 탐색 창에서 제로 ETL 통합을 선택합니다.

  3. 제로 ETL 통합 생성을 선택합니다.

  4. 통합 식별자에 통합의 이름을 입력합니다. 이름은 최대 63자의 영숫자로 구성할 수 있으며, 하이픈을 포함할 수 있습니다.

  5. 다음을 선택합니다.

  6. 소스에서 데이터의 출처가 될 Aurora DB 클러스터를 선택합니다. 클러스터Aurora MySQL 버전 3.05 이상 또는 Aurora PostgreSQL(PostgreSQL 15.4 및 제로 ETL 지원과 호환)을 실행해야 합니다.

    참고

    MySQL 소스의 경우 DB 클러스터 파라미터가 올바르게 구성되지 않은 경우 RDS에서 알려줍니다. 이 메시지를 받으면 수정 요청을 선택하거나 수동으로 구성할 수 있습니다. 수동으로 수정하는 방법에 대한 지침은 1단계: 사용자 지정 DB 클러스터 파라미터 그룹 생성 섹션을 참조하세요.

    DB 클러스터 파라미터를 수정하려면 재부팅해야 합니다. 통합을 생성하려면 먼저 재부팅을 완료하고 새 파라미터 값을 클러스터에 성공적으로 적용해야 합니다.

  7. Aurora PostgreSQL 소스 클러스터를 선택한 경우 명명된 데이터베이스에서 통합의 소스로 사용할 명명된 데이터베이스를 지정합니다. PostgreSQL 리소스 모델을 사용하면 단일 DB 클러스터 내에 여러 데이터베이스를 만들 수 있지만, 각 제로 ETL 통합에는 하나만 사용할 수 있습니다.

    template1에서 명명된 데이터베이스를 만들어야 합니다. 자세한 내용은 PostgreSQL 설명서에서 템플릿 데이터베이스를 참조하세요.

  8. (선택 사항) Aurora MySQL 소스 DB 클러스터를 선택한 경우 데이터 필터링 옵션 사용자 지정을 선택하고 통합에 데이터 필터를 추가합니다. 데이터 필터를 사용하여 대상 데이터 웨어하우스로 복제할 범위를 정의할 수 있습니다. 자세한 내용은 Amazon Redshift와 Aurora 제로 ETL 통합의 데이터 필터링 단원을 참조하십시오.

  9. 소스 DB 클러스터가 성공적으로 구성되면 다음을 선택합니다.

  10. 대상에서 다음을 수행합니다.

    1. (선택 사항) Amazon Redshift 대상에 다른 AWS 계정를 사용하려면 다른 계정 지정을 선택합니다. 그런 다음 데이터 웨어하우스를 표시할 권한이 있는 IAM 역할의 ARN을 입력합니다. IAM 역할을 생성하는 방법에 대한 지침은 다른 계정에서 대상 데이터 웨어하우스 선택 섹션을 참조하세요.

    2. Amazon Redshift 데이터 웨어하우스의 경우 소스 DB 클러스터에서 복제된 데이터의 대상을 선택합니다. 프로비저닝된 Amazon Redshift 클러스터 또는 Redshift Serverless 네임스페이스를 대상으로 선택할 수 있습니다.

    참고

    지정된 데이터 웨어하우스의 리소스 정책 또는 대/소문자 구분 설정이 올바르게 구성되지 않은 경우 RDS에서 알려줍니다. 이 메시지를 받으면 수정 요청을 선택하거나 수동으로 구성할 수 있습니다. 수동으로 수정하는 방법에 대한 지침은 Amazon Redshift 관리 가이드의 데이터 웨어하우스에 대/소문자 구분 기능 사용 설정데이터 웨어하우스에 대한 권한 부여 구성을 참조하세요.

    프로비저닝된 Redshift 클러스터의 대/소문자 구분을 수정하려면 재부팅해야 합니다. 통합을 생성하려면 먼저 재부팅을 완료하고 새 파라미터 값을 클러스터에 성공적으로 적용해야 합니다.

    선택한 소스와 대상이 다른 AWS 계정에 있는 경우 Amazon RDS에서 이러한 설정을 수정할 수 없습니다. Amazon Redshift에서 다른 계정으로 이동하여 수동으로 수정해야 합니다.

  11. 대상 데이터 웨어하우스가 올바르게 구성되었으면 다음을 선택합니다.

  12. (선택 사항) 태그에서 통합에 하나 이상의 태그를 추가합니다. 자세한 내용은 Amazon RDS 리소스에 태그 지정 단원을 참조하십시오.

  13. 암호화에서 통합을 암호화할 방법을 지정합니다. 기본적으로 RDS는 AWS 소유 키를 사용하여 모든 통합을 암호화합니다. 고객 관리형 키를 대신 선택하려면 암호화 설정 사용자 지정을 활성화하고 암호화에 사용할 KMS 키를 선택합니다. 자세한 내용은 Amazon Aurora 리소스 암호화 단원을 참조하십시오.

    참고

    사용자 지정 KMS 키를 설정하는 경우 키 정책에서 Amazon Redshift 서비스 보안 주체(redshift.amazonaws.com)에 대한 kms:CreateGrant 작업을 허용해야 합니다. 자세한 내용은 AWS Key Management Service 개발자 안내서키 정책 생성을 참조하세요.

    선택적으로 암호화 컨텍스트를 추가합니다. 자세한 내용은 AWS Key Management Service 개발자 가이드에서 암호화 컨텍스트를 참조하세요.

  14. 다음을 선택합니다.

  15. 통합 설정을 검토하고 제로 ETL 통합 생성을 선택합니다.

    생성에 실패할 경우 제로 ETL 통합을 생성할 수 없습니다에서 문제 해결 단계를 확인하세요.

통합 상태는 생성 중인 동안 Creating이며, 대상 Amazon Redshift 데이터 웨어하우스의 상태는 Modifying입니다. 이 기간 동안에는 데이터 웨어하우스를 쿼리하거나 구성을 변경할 수 없습니다.

통합이 성공적으로 생성되면 통합 상태와 대상 Amazon Redshift 데이터 웨어하우스가 모두 Active로 변경됩니다.

참고

Aurora PostgreSQL 제로 ETL 통합을 미리 보는 중에는 AWS Management Console을 통해서만 통합을 생성할 수 있습니다. AWS CLI, Amazon RDS API 또는 SDK는 사용할 수 없습니다.

AWS CLI를 사용하여 제로 ETL 통합을 생성하려면 다음 옵션과 함께 create-integration 명령을 사용하세요.

  • --integration-name - 통합 이름을 지정합니다.

  • --source-arn - 통합의 소스가 될 Aurora DB 클러스터의 ARN을 지정합니다.

  • --target-arn - 통합의 대상이 될 Amazon Redshift 데이터 웨어하우스의 ARN을 지정합니다.

대상 LinuxmacOS, 또는Unix:

aws rds create-integration \ --integration-name my-integration \ --source-arn arn:aws:rds:{region}:{account-id}:my-cluster \ --target-arn arn:aws:redshift:{region}:{account-id}:namespace:namespace-uuid

Windows의 경우:

aws rds create-integration ^ --integration-name my-integration ^ --source-arn arn:aws:rds:{region}:{account-id}:my-cluster ^ --target-arn arn:aws:redshift:{region}:{account-id}:namespace:namespace-uuid
참고

Aurora PostgreSQL 제로 ETL 통합을 미리 보는 중에는 AWS Management Console을 통해서만 통합을 생성할 수 있습니다. AWS CLI, Amazon RDS API 또는 SDK는 사용할 수 없습니다.

Amazon RDS API를 사용하여 제로 ETL 통합을 생성하려면 다음 파라미터를 적용한 CreateIntegration 작업을 사용하세요.

  • IntegrationName - 통합 이름을 지정합니다.

  • SourceArn - 통합의 소스가 될 Aurora DB 클러스터의 ARN을 지정합니다.

  • TargetArn - 통합의 대상이 될 Amazon Redshift 데이터 웨어하우스의 ARN을 지정합니다.

다음 단계

제로 ETL 통합을 성공적으로 생성한 후에는 대상 Amazon Redshift 클러스터 또는 작업 그룹 내에 대상 데이터베이스를 생성해야 합니다. 그런 다음 소스 Aurora DB 클러스터에 데이터를 추가하고 Amazon Redshift에서 쿼리할 수 있습니다. 자세한 지침은 Amazon Redshift에서 대상 데이터베이스 생성을 참조하세요.