AWS Glue: 작동 방식 - AWS Glue

AWS Glue: 작동 방식

AWS Glue는 다른 AWS 서비스를 통해 추출, 변환, 로드 작업을 오케스트레이션하여 데이터 웨어하우스 및 데이터 레이크를 빌드하고 출력 스트림을 생성합니다. AWS Glue는 API 작업을 호출하여 데이터를 변환하고, 런타임 로그를 생성하고, 작업 로직을 저장하고, 작업 실행을 모니터링하는 데 도움이 되는 알림을 생성합니다. AWS Glue 콘솔은 이런 서비스를 관리형 애플리케이션으로 연결하여 ETL 작업을 생성하고 모니터링하는 데 집중할 수 있습니다. 콘솔은 사용자를 대신하여 관리 및 작업 개발 작업을 수행합니다. 자격 증명 및 기타 속성을 AWS Glue에 제공하여 데이터 원본에 액세스하고 데이터 대상에 작성합니다.

AWS Glue는 워크로그가 실행되도록 필요한 리소스를 프로비저닝 및 관리를 담당합니다. ETL 도구를 사용하기 위해서 인프라를 생성할 필요가 없는 이유는 AWS Glue가 대신하기 때문입니다. 리소스가 필요한 경우, 시작 시간을 줄이기 위해 AWS Glue는 인스턴스의 준비된 풀에서 인스턴스를 사용하여 워크로드를 실행합니다.

AWS Glue를 통해 Data Catalog에서 테이블 정의를 사용하여 작업을 생성합니다. 작업은 변환을 수행하는 프로그램 로직을 포함하는 스크립트로 구성됩니다. 트리거를 사용하여 특정 이벤트의 일정에 따라 혹은 결과에 따라 작업을 시작합니다. 대상 데이터가 있는 곳과 어떤 소스 데이터가 대상으로 채우는지 결정합니다. 입력을 통해 AWS Glue는 소스에서 대상으로 데이터를 변환할 때 필요한 코드를 생성합니다. AWS Glue 콘솔 또는 API로 스크립트를 제공하여 데이터를 실행합니다.

데이터 원본

AWS Glue에서 지원되는 데이터 원본은 다음과 같습니다.

  • 데이터 스토어

    • Amazon S3

    • Amazon Relational Database Service(Amazon RDS)

    • 타사 JDBC에서 액세스할 수 있는 데이터베이스

    • Amazon DynamoDB

    • MongoDB 및 Amazon DocumentDB(MongoDB와 호환)

  • 데이터 스트림

    • Amazon Kinesis Data Streams

    • Apache Kafka

데이터 대상

AWS Glue에서 지원되는 데이터 대상은 다음과 같습니다.

  • Amazon S3

  • Amazon Relational Database Service(Amazon RDS)

  • 타사 JDBC에서 액세스할 수 있는 데이터베이스

  • MongoDB 및 Amazon DocumentDB(MongoDB와 호환)

AWS Glue는 여러 AWS 리전에서 사용할 수 있습니다. 자세한 내용은 Amazon Web Services General Reference의 AWS Regions and Endpoints를 참조하세요.

격리 중인 서버리스 ETL 작업 실행

AWS Glue는 Apache Spark 서버리스 환경에서 ETL 작업을 실행합니다. AWS Glue는 이런 작업을 가상 리소스에서 실행하여 자체 서비스 계정을 프로비저닝하고 관리합니다.

AWS Glue는 다음과 같이 하도록 설계되어 있습니다.

  • 사용자 지점 데이터 분리

  • 전송 및 저장 시 사용자 데이터 보호

  • 사용자 요청에 대항 응답으로만 임시 범위가 축소된 자격 증명 또는 계정의 IAM 역할에 대한 사용자 동의에 따라 사용자 데이터에 액세스합니다.

ETL 작업을 프로비저닝하는 중에 가상 사설 클라우드(VPC)에 입력 데이터 원본 및 출력 데이터 대상을 제공합니다. 또한, 데이터 원본 및 대상에 필요한 IAM 역할, VPC ID, 서브넷 ID 및 보안 그룹을 제공합니다. 각 튜플(사용자 계정 ID, IAM 역할, 서브넷 ID 및 보안 그룹)을 위해 AWS Glue는 AWS Glue 서비스 계정 내 다른 모든 Spark 환경의 네트워크 및 관리 수준이 격리된 새로운 Spark 환경을 생성합니다.

AWS Glue는 프라이빗 IP 주소를 사용하여 탄력적 네트워크 인터페이스를 서브넷에 생성합니다. Spark 작업은 탄력적 네트워크 인터페이스를 사용하여 데이터 원본과 데이터 대상으로 액세스합니다. Spark 환경 내부 및 외부에 있는 트래픽은 한 가지를 제외하면 VPC 및 네트워크 정책이 관리합니다. 한 가지 예외 사항은 AWS Glue 라이브러리를 호출하여 프록시 트래픽에서 AWS Glue API 작업을 AWS Glue VPC를 통해 가능하게 한 경우입니다. 모든 AWS Glue API 호출은 로깅됩니다. 따라서 데이터 소유자는 감사 로그를 계정으로 전달하는 AWS CloudTrail를 활성화하여 API 액세스를 감사할 수 있습니다.

ETL 작업을 실행하는 AWS Glue 관리형 Spark 환경은 뒤이어 다른 AWS 서비스가 따르는 동일한 보안 과정에 의해 보호됩니다. 사례 및 공유 보안 책임에 대한 개요는 AWS 보안 프로세스 소개 백서를 참조하세요.