AWS Glue Data Catalog에서 Amazon Redshift 관리형 카탈로그 생성 - AWS Lake Formation

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Glue Data Catalog에서 Amazon Redshift 관리형 카탈로그 생성

현재 Amazon Redshift 생산자 클러스터 또는 Amazon Redshift 데이터 공유를 사용할 수 없지만, AWS Glue Data Catalog를 사용하여 Amazon Redshift 테이블을 생성하고 관리하고 싶을 수 있습니다. glue:CreateCatalog API 또는 AWS Lake Formation 콘솔을 통해 카탈로그 유형을 Managed로, Catalog sourceRedshift로 설정하여 AWS Glue 관리형 카탈로그를 생성하면서 시작할 수 있습니다. 이 단계에서는 다음을 수행합니다.

  • Data Catalog에서 카탈로그 생성

  • 카탈로그를 Lake Formation 데이터 위치로 등록

  • Amazon Redshift 관리형 서버리스 작업 그룹 생성

  • 데이터 공유 객체를 사용하여 Amazon Redshift Serverless 작업 그룹 및 Data Catalog 연결

관리형 카탈로그를 생성하고 권한을 설정하려면(콘솔)
  1. Lake Formation 콘솔(https://console.aws.amazon.com/lakeformation/)을 엽니다.

  2. 탐색 창의 Data Catalog에서 카탈로그를 선택합니다.

  3. 카탈로그 생성 옵션을 선택합니다.

  4. 카탈로그 설정 세부 정보 페이지에서 다음 정보를 입력합니다.

    • 이름 - 관리형 카탈로그의 고유한 이름입니다. 이름은 변경할 수 없으며 소문자여야 합니다. 이름은 계정 내에서 최대 255자까지 입력할 수 있습니다.

    • 유형 - 카탈로그 유형으로 Managed catalog를 선택합니다.

    • 스토리지 - 스토리지로 Redshift를 선택합니다.

    • 설명 - 데이터 소스에서 생성된 카탈로그에 대한 설명을 입력합니다.

  5. Amazon EMR on Amazon EC2에서 실행되는 Apache Spark 애플리케이션을 사용하여 AWS Glue Data Catalog의 Amazon Redshift 데이터베이스에 액세스할 수 있습니다.

    Apache Spark가 Amazon Redshift 관리형 스토리지에 읽고 쓸 수 있도록 하기 위해, AWS Glue는 Amazon Redshift 데이터 웨어하우스 워크로드에 영향을 미치지 않으면서 읽기 및 쓰기 작업을 수행하는 데 필요한 컴퓨팅 및 스토리지 리소스를 갖춘 관리형 Amazon Redshift 클러스터를 생성합니다. Amazon S3 버킷과 데이터를 주고받을 수 있는 권한도 IAM 역할에 부여해야 합니다. 데이터 전송 역할에 필요한 권한은 에서 Amazon Redshift 네임스페이스를 관리하기 위한 사전 조건 AWS Glue Data Catalog 섹션의 5단계를 참조하세요.

  6. 기본적으로, Amazon Redshift 클러스터의 데이터는 AWS 관리형 키를 사용하여 암호화됩니다. Lake Formation은 암호화를 위한 사용자 지정 KMS 키를 생성하는 옵션을 제공합니다. 고객 관리형 키를 사용하는 경우 키에 특정 키 정책을 추가해야 합니다.

  7. Amazon Redshift 관리형 스토리지에서 데이터를 암호화할 때 고객 관리형 키를 사용하는 경우, 암호화 설정 사용자 지정을 선택하세요. 사용자 지정 키를 사용하려면 KMS 키에 사용자 지정 관리형 키 정책을 추가해야 합니다. 자세한 내용은 에서 Amazon Redshift 네임스페이스를 관리하기 위한 사전 조건 AWS Glue Data Catalog 섹션을 참조하세요.

  8. 암호화 옵션 – 카탈로그를 암호화하기 위해 사용자 지정 키를 사용하려면 암호화 설정 사용자 지정 옵션을 선택합니다. 사용자 지정 키를 사용하려면 KMS 키에 사용자 지정 관리형 키 정책을 추가해야 합니다.

  9. 다음을 선택하여 다른 보안 주체에게 권한을 부여합니다.

  10. 권한 부여 페이지에서 권한 추가를 선택합니다.

  11. 권한 추가 화면에서 부여할 보안 주체와 권한 유형을 선택합니다.

    보안 주체 유형 및 권한 부여 옵션이 있는 카탈로그 권한 페이지입니다.
    • 보안 주체 섹션에서 보안 주체 유형을 선택한 다음 권한을 부여할 보안 주체를 지정합니다.

      • IAM 사용자 및 역할 - IAM 사용자 및 역할 목록에서 한 명 이상의 사용자 또는 역할을 선택합니다.

      • SAML 사용자 및 그룹 – SAML과 Amazon Quick Suite 사용자 및 그룹의 경우, SAML을 통해 페더레이션된 사용자 또는 그룹에 대한 하나 이상의 Amazon 리소스 이름(ARN) 또는 Amazon Quick Suite 사용자 또는 그룹에 대한 ARN을 입력합니다. 각 ARN을 입력한 후에 Enter 키를 누릅니다.

        ARN을 구성하는 방법에 대한 자세한 내용은 AWS CLI 권한 부여 및 취소 AWS CLI 명령을 참조하세요.

    • 권한 섹션에서 권한 및 부여 가능한 권한을 선택합니다.

      카탈로그 권한에서 부여할 권한을 하나 이상 선택합니다.

      슈퍼 유저를 선택하면 카탈로그 내의 모든 리소스에 대한 무제한 관리 권한을 부여할 수 있습니다.

      부여 가능한 권한 아래에서, 권한을 부여받는 사람이 자신의 AWS 계정에 있는 다른 위탁자에게 부여할 수 있는 권한을 선택합니다. 외부 계정에서 IAM 보안 주체에 권한을 부여하는 경우에는 이 옵션이 지원되지 않습니다.

  12. 다음을 선택하여 정보를 검토하고 카탈로그를 생성합니다. 카탈로그 목록에는 새 관리형 카탈로그가 표시됩니다.

페더레이션 카탈로그를 생성하려면(CLI)
  • 다음 예제는 페더레이션 카탈로그를 생성하는 방법을 보여줍니다.

    aws glue create-catalog --cli-input-json file://input.json { "Name": "CatalogName", "CatalogInput": { "Description": "Redshift published Catalog", "CreateDatabaseDefaultPermissions" : [], "CreateTableDefaultPermissions": [], "CatalogProperties": { "DataLakeAccessProperties" : { "DataLakeAccess" : "true", "DataTransferRole" : "DTR arn", "KMSKey": "kms key arn", // Optional "CatalogType": "aws:redshift" } } } }

    Glue get-catalog 응답

    aws glue get-catalog \ --catalog-id account-id:catalog-name \ --region us-east-1 Response: { "Catalog": { "Name": "CatalogName", "Description": "Glue Catalog for Redshift z-etl use case", "CreateDatabaseDefaultPermissions" : [], "CreateTableDefaultPermissions": [], "CatalogProperties": { "DataLakeAccessProperties" : { "DataLakeAccess": "true", "DataTransferRole": "DTR arn", "KMSKey": "kms key arn", "ManagedWorkgroupName": "MWG name", "ManagedWorkgroupStatus": "MWG status", "RedshiftDatabaseName": "RS db name", "NamespaceArn": "namespace key arn", "CatalogType": "aws:redshift" } } }