[SEO 부제목]
이 지침은 데이터 엔지니어와 데이터 과학자가 손쉽게 시작하고 액세스할 수 있는 셀프 서비스 데이터 분석 환경을 구성하는 방법을 보여줍니다. 통합 개발 환경(IDE)은 Jupyter Notebook을 기반으로 하며, 간편한 데이터 탐색을 위한 대화형 인터페이스를 제공하고 거의 실시간으로 데이터 파이프라인을 디버깅, 구축 및 예약하는 데 필요한 모든 도구를 포함합니다. 이 환경은 워크로드 격리를 통해 안전한 팀 협업을 지원하며 관리자가 기본 인프라의 복잡성을 노출하거나 보안, 거버넌스 및 비용 효율성을 저해시키지 않고도 단일 인터페이스에서 리소스를 자체 프로비저닝, 확장 및 프로비저닝 해제할 수 있습니다. 관리자는 클러스터 구성을 독립적으로 관리하고 비용, 보안, 신뢰성 및 성능을 지속적으로 최적화할 수 있습니다.
참고: [고지 사항]
아키텍처 다이어그램
[아키텍처 다이어그램 설명]
1단계
클라우드 운영 팀은 원하는 사양(예: 인스턴스 유형 및 네트워크 구성)에 따라 AWS CloudFormation에서 Amazon EMR 클러스터 템플릿을 개발하고 셀프 서비스 프로비저닝을 위해 템플릿을 AWS Service Catalog에 제품으로 게시합니다.
2단계
웹 광고의 입찰 이벤트 또는 픽셀은 사용자 노출을 캡처하고 Amazon Kinesis Data Streams 엔드포인트로 데이터를 전송합니다.
3단계
데이터 엔지니어링 팀은 Amazon EMR Studio의 작업 공간에 로그인합니다. 여기서는 Amazon EMR 클러스터를 자체 프로비저닝합니다. 또는 기존 클러스터를 연결하여 대화형 노트북을 사용해 입찰 검증 또는 노출 측정과 같은 Spark Streaming 애플리케이션을 개발할 수도 있습니다.
4단계
Spark Streaming 애플리케이션은 Amazon EMR 클러스터에서 실행됩니다. Kinesis Data Streams에서 원시 입찰 또는 노출 이벤트 데이터를 지속적으로 수집합니다. 애플리케이션은 데이터를 변환합니다. 그런 다음 변환된 데이터를 Amazon Simple Storage Service(S3) 데이터 레이크에 저장합니다.
이 프로세스를 통해 거의 실시간으로 운영을 보고할 수 있습니다. 비용 최적화의 유연성을 극대화하기 위해 프로비저닝된 Amazon EMR 클러스터를 선택하거나 배포 및 클러스터 관리를 간소화하는 서버리스 Amazon EMR 클러스터를 선택할 수 있습니다.
5단계
Amazon S3는 데이터를 분할된 폴더에 저장합니다. 데이터를 열 형식 또는 Apache Iceberg와 같은 다른 개방형 테이블 형식으로 압축할 수 있습니다.
6단계
모든 데이터베이스 및 테이블 메타데이터는 AWS Glue 데이터 카탈로그에 등록되므로 Amazon Athena 또는 Amazon SageMaker와 같은 여러 AWS 서비스로 데이터를 쿼리할 수 있습니다.
7단계
(선택 사항) 데이터 레이크 관리자는 AWS Lake Formation에 데이터 카탈로그를 등록하여 보다 세분화된 액세스 제어를 제공하고 사용자 관리를 중앙 집중화할 수 있습니다.
8단계
사용자는 Athena를 사용하여 Amazon S3의 선별된 클릭스트림 또는 노출 데이터에 대해 SQL 쿼리를 거의 실시간으로 실행하고 Amazon QuickSight를 사용하여 대시보드를 시각화할 수 있습니다.
9단계
Amazon S3 데이터 레이크 외에도 Amazon EMR 워크로드는 Amazon DynamoDB와 같은 NoSQL 데이터베이스 또는 Aerospike와 같은 인 메모리 데이터베이스에 데이터를 쓸 수 있습니다. 이는 입찰 필터링 또는 운영 보고와 같이 대규모의 빠른 성능이 필요한 읽기 워크로드를 지원합니다.
시작하기
Well-Architected 원칙
AWS Well-Architected Framework는 클라우드에서 시스템을 구축하는 동안 사용자가 내리는 의사 결정의 장단점을 이해하는 데 도움이 됩니다. 이 프레임워크의 6가지 원칙을 통해 안정적이고 안전하며 효과적이고 비용 효율적이며 지속 가능한 시스템을 설계 및 운영하기 위한 아키텍처 모범 사례를 배울 수 있습니다. AWS Management Console에서 추가 요금 없이 사용할 수 있는 AWS Well-Architected Tool을 사용하면 각 원칙에 대한 여러 질문에 답하여 이러한 모범 사례와 비교하며 워크로드를 검토할 수 있습니다.
위의 아키텍처 다이어그램은 Well-Architected 모범 사례를 고려하여 생성된 솔루션의 예시입니다. Well-Architected를 완전히 충족하려면 가능한 많은 Well-Architected 모범 사례를 따라야 합니다.
-
운영 우수성
Amazon EMR Studio는 Jupyter Notebook과 함께 완전관리형 웹 기반 통합 개발 환경(IDE)을 제공합니다. 이를 통해 데이터 엔지니어링 또는 데이터 과학 팀은 추가 서버를 관리하지 않고도 대화형 방식으로 Spark Streaming 애플리케이션을 개발, 시각화 및 디버깅할 수 있습니다. 팀은 Service Catalog의 코드형 인프라(IaC) 템플릿을 사용하여 사전 정의된 Amazon EMR 클러스터를 자체 프로비저닝할 수 있습니다. 이를 통해 클라우드 운영 팀에 대한 의존도가 줄어들고 개발 민첩성이 향상되며 조직이 오버헤드를 최소화하면서 보안 및 거버넌스 모범 사례를 따를 수 있습니다.
-
보안
Amazon EMR Studio는 AWS Identity and Access Management(IAM) 또는 AWS Identity Center를 통한 인증 및 권한 부여를 지원하므로 Spark 클러스터에서 SSH(Secure Shell)에 직접 연결할 필요가 없습니다. Lake Formation을 사용하면 데이터 레이크의 데이터에 대한 세분화된 중앙 집중식 액세스를 제어하여 사용자 액세스 관리를 중앙 집중화하고 데이터 파이프라인에 대한 강력한 보안 및 거버넌스 태세를 강화할 수 있습니다.
-
신뢰성
Kinesis Data Streams와 Amazon EMR은 실시간 데이터 스트리밍 워크플로의 처리량 수요를 충족하는 자동 확장 기능을 제공합니다. Amazon EMR은 애플리케이션 또는 네트워크 장애 발생 시 작업을 자동으로 배포하고 재시도하는 Apache Spark 프레임워크를 사용합니다. 또한, Kinesis Data Streams는 용량을 자동으로 확장하고 3곳의 가용 영역에 데이터를 동기적으로 복제하여 높은 가용성과 데이터 내구성을 제공합니다.
-
성능 효율성
Kinesis Data Streams는 다양한 데이터 트래픽에 대응하여 용량을 자동으로 확장하므로 실시간 처리 워크플로가 처리량 수요를 충족할 수 있습니다. Amazon EMR은 Spark에 다양한 성능 최적화 기능을 제공하여 사용자가 애플리케이션을 변경하지 않고도 3.5배 빠르게 실행할 수 있도록 합니다. 또한 Athena는 자동으로 쿼리를 병렬로 처리하고 필요한 리소스를 프로비저닝합니다. 또한 Amazon S3 파티션 키와 열 형식으로 데이터를 저장하여 쿼리 성능을 높일 수 있습니다.
-
비용 최적화
이 지침은 Amazon EC2 스팟 인스턴스 용량을 갖춘 인스턴스 플릿을 사용하고 Amazon EC2 Graviton3 인스턴스 유형을 지정하는 샘플 Amazon EMR 클러스터 템플릿을 제공합니다. 이를 통해 동급 x86 기반 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 비해 비용을 최대 20% 절감할 수 있습니다. 또한 유휴 제한 시간 및 Amazon S3 스토리지 계층을 사용하면 최적화된 비용으로 컴퓨팅 및 스토리지 리소스를 더 잘 활용할 수 있습니다.
-
지속 가능성
Amazon EC2 Graviton3 인스턴스 유형은 동급 Amazon EC2 인스턴스와 동일한 성능을 제공하면서 에너지를 최대 60% 적게 사용하므로 탄소 발자국을 줄이는 데 도움이 됩니다. Amazon EC2 스팟 인스턴스와 Amazon EMR 유휴 제한 시간 설정을 사용하면 리소스 활용도를 높이고 워크로드가 환경에 미치는 영향을 최소화하는 데 도움이 됩니다.
관련 콘텐츠
고지 사항
샘플 코드, 소프트웨어 라이브러리, 명령줄 도구, 개념 증명, 템플릿 또는 기타 관련 기술(AWS 직원을 통해 제공되는 상기 항목 포함)은 AWS 이용 계약 또는 귀하와 AWS 간의 서면 계약(둘 중 해당되는 것)에 따라 AWS 콘텐츠로 제공됩니다. 이 AWS 콘텐츠를 프로덕션 계정, 프로덕션 또는 기타 중요한 데이터에 사용해서는 안 됩니다. 귀하는 특정 품질 제어 방식 및 표준에 따라 프로덕션급 사용에 적절하게 샘플 코드와 같은 AWS 콘텐츠를 테스트, 보호 및 최적화할 책임이 있습니다. AWS 콘텐츠를 배포하면 Amazon EC2 인스턴스를 실행하거나 Amazon S3 스토리지를 사용할 때와 같이 요금이 부과되는 AWS 리소스를 생성하거나 사용하는 것에 대한 AWS 요금이 발생할 수 있습니다.
본 지침에 서드 파티 서비스 또는 조직이 언급되어 있다고 해서 Amazon 또는 AWS와 서드 파티 간의 보증, 후원 또는 제휴를 의미하지는 않습니다. AWS의 지침을 기술적 시작점으로 사용할 수 있으며 아키텍처를 배포할 때 서드 파티 서비스와의 통합을 사용자 지정할 수 있습니다.