이 지침은 데이터 소비 요구 사항과 일반적인 ETL 작업에서 수행되는 하위 데이터 처리 활동 간의 격차를 해소하는 데 도움이 됩니다. SQL 기반 데이터 관리 시스템을 운영하는 조직의 경우 현대적인 데이터 엔지니어링 방식에 맞춰가다 보면 데이터에서 강력한 인사이트를 끌어내는 과정의 진행 속도가 느려질 수 있습니다. 이 지침은 사용자 중심 ETL 접근 방식에 대한 오픈 소스 데이터 프레임워크인 Arc를 통해 데이터 프로세스 생산성을 높이기 위한 품질 인식 설계를 제공합니다. 이 지침은 ETL 작업에서의 상호 작용을 가속화하여 배치 및 스트리밍이 통합된 ETL 활동에서 단순성을 촉진하고 추상화 수준을 높여줍니다.

또한 효율적인 컴퓨팅 인스턴스(예: AWS Graviton Processor)를 사용하여 최적의 설계를 위한 옵션을 제공하므로 Amazon EKS에서 대규모로 ETL 작업을 실행하는 데 필요한 성능과 비용을 최적화할 수 있습니다.

참고: [고지 사항]

아키텍처 다이어그램

[아키텍처 다이어그램 설명]

아키텍처 다이어그램(PDF) 다운로드 

Well-Architected 원칙

AWS Well-Architected Framework는 클라우드에서 시스템을 구축하는 동안 사용자가 내리는 의사 결정의 장단점을 이해하는 데 도움이 됩니다. 이 프레임워크의 6가지 원칙을 통해 안정적이고 안전하며 효과적이고 비용 효율적이며 지속 가능한 시스템을 설계 및 운영하기 위한 아키텍처 모범 사례를 배울 수 있습니다. AWS Management Console에서 추가 요금 없이 사용할 수 있는 AWS Well-Architected Tool을 사용하면 각 원칙에 대한 여러 질문에 답하여 이러한 모범 사례와 비교하며 워크로드를 검토할 수 있습니다.

위의 아키텍처 다이어그램은 Well-Architected 모범 사례를 고려하여 생성된 솔루션의 예시입니다. Well-Architected를 완전히 충족하려면 가능한 많은 Well-Architected 모범 사례를 따라야 합니다.

  • Amazon EKS 클러스터 내에서 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스(X86_64 CPU, Graviton ARM64)는 Guidance 워크로드를 실행하는 컴퓨팅 노드 역할을 합니다. Spark 작업은 워크로드 수요에 따라 탄력적으로 프로비저닝되는 Amazon EC2 스팟 인스턴스에서 실행됩니다.

    CodeBuildCodePipeline은 GitOps 프로세스를 자동화하여 Git 코드 업데이트로부터 컨테이너 이미지를 빌드하고 Amazon ECR 프라이빗 레지스트리에 푸시합니다. Argo Workflows는 Amazon EKS에 ETL 작업을 예약합니다. Amazon ECR에서 Arc Docker 이미지를 자동으로 가져오고, 아티팩트 S3 버킷에서 ETL 자산을 다운로드하고, 애플리케이션 로그를 CloudWatch로 전송합니다.

    데이터 ETL 작업을 이와 같이 자동화된 방식으로 배포하고 실행하면 운영 오버헤드가 최소화되고 생산성이 개선됩니다. 또한 CI/CD 파이프라인에 CodeBuildCodePipeline을 사용하면 지속적인 개선 및 개발을 보장하는 동시에 Guidance의 Arc Docker 이미지를 Amazon ECR에 안전하게 저장할 수 있습니다.

    운영 우수성 백서 읽기 
  • Amazon EKS 클러스터 리소스가 Amazon VPC 안에 배포되므로 논리적 네트워킹이 공용 인터넷으로부터 격리됩니다. Amazon VPCVPC 엔드포인트(트래픽을 AWS 네트워크 내에 유지), 보안 그룹, 네트워크 액세스 제어 목록(ACL), AWS Identity and Access Management(IAM) 역할 및 정책(인바운드 및 아웃바운드 트래픽 및 권한 부여 제어용)과 같은 보안 기능을 지원합니다. Amazon ECR 이미지 레지스트리는 취약성 스캐닝과 같은 컨테이너 수준 보안 기능을 제공합니다. Amazon ECRAmazon EKS는 Open Container Initiative(OCI) 레지스트리 및 Kubernetes API 표준을 따르며 엄격한 보안 프로토콜을 포함합니다.

    IAMAmazon S3 애플리케이션 데이터에 대한 액세스 제어를 제공하고, AWS Key Management Service(AWS KMS)는 Amazon S3에 저장된 데이터를 암호화합니다. Amazon EKS 클러스터에서는 서비스 계정에 대한 IAM 역할(IRSA)을 사용하여 역할 기반 액세스 제어를 적용하고 권한이 없는 Amazon S3 데이터 액세스를 제한함으로써 포드에 대한 액세스 권한을 세분화하여 제어할 수 있습니다. Secrets Manager는 자격 증명을 안전하게 저장하고 관리합니다. CloudFront는 Jupyter 및 Argo Workflows 웹 도구에 SSL 인코딩 보안 진입점을 제공합니다.

    보안 백서 읽기 
  • Amazon EKS는 Kubernetes 컨트롤 플레인 및 컴퓨팅 플레인을 여러 가용 영역(AZ)에 배포하여 토폴로지의 고가용성을 보장합니다. 이렇게 하면 AZ에 장애가 발생하더라도 데이터 애플리케이션의 지속적인 가용성이 보장되므로 Amazon EKS에 다중 AZ EC2 인스턴스를 안정적으로 배포할 수 있습니다.

    데이터 스토리지의 경우 Amazon S3는 리전 내 여러 AZ에 데이터 객체를 자동으로 복제하여 내구성과 가용성을 높여줍니다. 또한 Amazon ECR은 Docker 이미지를 가용성과 확장성이 뛰어난 아키텍처에서 호스팅하여 컨테이너 기반 애플리케이션의 배포와 규모 조정을 안정적으로 지원합니다.

    Amazon S3, Amazon EKSAmazon ECR은 운영 비용을 절감하면서 높은 서비스 수준 계약(SLA)을 제공하도록 설계된 완전관리형 서비스입니다. 이 서비스를 사용하여 비즈니스 크리티컬 애플리케이션을 배포하면 고가용성 요구 사항을 충족할 수 있습니다.

    신뢰성 백서 읽기 
  • Amazon EKS 클러스터의 Amazon EC2 컴퓨팅 노드는 애플리케이션 워크로드에 따라 동적으로 스케일 업 및 스케일 다운이 가능합니다. Graviton 기반 EC2 인스턴스는 맞춤 설계된 ARM 기반 프로세서, 최적화된 하드웨어, 아키텍처 개선을 통해 성능 효율성을 높여줍니다.

    컴퓨팅-스토리지 분리 패턴(Amazon S3에 저장된 입력 및 출력 데이터 포함)은 컴퓨팅 규모를 동적으로 조정할 때의 효율성을 높여줍니다. 데이터 카탈로그Athena와 원활하게 통합됩니다. 따라서 메타데이터 관리가 간편해지고 쿼리 성능이 개선되어 메타데이터 관리 작업이 간소화됩니다. 데이터 카탈로그는 기술 메타데이터의 크롤링 및 유지 관리를 자동화하여 데이터 처리 및 쿼리 작업의 효율성을 개선합니다. Athena에서 Amazon S3 데이터를 이동하지 않고도 빠르게 쿼리할 수 있으므로 분석 워크플로의 효율성이 추가로 개선됩니다.

    성능 효율성 백서 읽기 
  • Amazon ECR은 컨테이너 애플리케이션의 보안 및 지원을 위한 관리형 서비스입니다. 매월 정액 요금으로 컨테이너 이미지를 저장하고 제공할 수 있습니다. Amazon EKS 클러스터 컴퓨팅 노드는 Spark 워크로드를 기반으로 스케일 업 및 스케일 다운이 가능하므로 Graviton스팟 인스턴스 유형을 비용 효율적으로 사용할 수 있습니다. 데이터 카탈로그는 완전관리형 서버리스 메타데이터 리포지토리를 제공하므로 장기간 실행되는 메타데이터 데이터베이스를 설정 및 유지 관리할 필요가 없고 운영 오버헤드와 비용이 줄어듭니다. CodeBuildCodePipeline은 서버리스 환경에서 Arc ETL Framework의 Docker 이미지의 빌드 및 배포를 자동화하므로 인프라 유지 관리 비용이 절감될 뿐만 아니라 빌드 서버를 프로비저닝하고 관리할 필요가 없어집니다.

    비용 최적화 백서 읽기 
  • 이 지침에서는 Graviton 프로세서 기반의 효율적인 컴퓨팅 유형으로 구성된 Amazon EKS 클러스터를 실행합니다. Amazon ECR을 사용하면 사용자 지정 하드웨어 또는 물리적 서버 관리가 필요하지 않습니다. 데이터 카탈로그Athena는 서버리스 서비스이므로 에너지와 환경에 미치는 영향이 더욱 줄어듭니다.

    대규모 Apache Spark 워크로드에 맞게 Amazon EKS 컴퓨팅 계층을 최적화하면 분석 워크로드가 환경에 미치는 영향을 최소화할 수 있습니다. 성능 요구 사항 및 지속 가능성 우선순위에 따라 ARM 기반 프로세서를 유연하게 선택할 수 있습니다.

    지속 가능성 백서 읽기 

구현 리소스

샘플 코드를 시작점으로 사용할 수 있습니다. 이 샘플 코드는 업계에서 검증되었고 규범적이지만 최종적인 것은 아니며, 시작하는 데 도움을 줄 것입니다.

[콘텐츠 유형]

[제목]

이 [블로그 게시물/eBook/지침/샘플 코드]은(는) [간단한 설명 삽입] 방법을 보여줍니다.

고지 사항

샘플 코드, 소프트웨어 라이브러리, 명령줄 도구, 개념 증명, 템플릿 또는 기타 관련 기술(AWS 직원을 통해 제공되는 상기 항목 포함)은 AWS 이용계약 또는 귀하와 AWS 간의 서면 계약(적용되는 것)에 따라 AWS 콘텐츠로 제공됩니다. 이 AWS 콘텐츠를 프로덕션 계정, 프로덕션 또는 기타 중요한 데이터에 사용해서는 안 됩니다. 귀하는 특정 품질 제어 방식 및 표준에 따라 프로덕션급 사용에 적절하게 샘플 코드와 같은 AWS 콘텐츠를 테스트, 보호 및 최적화할 책임이 있습니다. AWS 콘텐츠를 배포하면 Amazon EC2 인스턴스를 실행하거나 Amazon S3 스토리지를 사용할 때와 같이 요금이 부과되는 AWS 리소스를 생성하거나 사용하는 것에 대한 AWS 요금이 발생할 수 있습니다.

본 지침에 서드 파티 서비스 또는 조직이 언급되어 있다고 해서 Amazon 또는 AWS와 서드 파티 간의 보증, 후원 또는 제휴를 의미하지는 않습니다. AWS의 지침을 기술적 시작점으로 사용할 수 있으며 아키텍처를 배포할 때 서드 파티 서비스와의 통합을 사용자 지정할 수 있습니다.

이 페이지의 내용이 도움이 되었나요?