EMR을 선택해야 하는 이유
Amazon EMR은 Apache Spark, Apache Hive 및 Presto와 같은 오픈 소스 프레임워크를 사용하여 데이터 처리, 대화식 분석 및 기계 학습(ML)을 위한 업계 최고의 클라우드 빅 데이터 플랫폼입니다. Amazon EMR 요금은 간단하고 예측 가능합니다. 사용한 모든 시간(초)에 대해 초당 요금을 지불하며 최소 요금은 1분입니다. 노드가 10개인 클러스터가 10시간 동안 실행되는 비용은 노드가 100개인 클러스터가 1시간 동안 실행되는 비용과 같습니다. Amazon EMR 요금은 EMR 애플리케이션을 배포한 방식에 따라 다릅니다. Amazon Elastic Cloud Compute(Amazon EC2) 인스턴스가 있는 EMR 클러스터, AWS Outposts, Amazon Elastic Kubernetes Service(Amazon EKS) 또는 EMR 서버리스에서 실행할 수 있습니다. Amazon EKS는 EC2 또는 AWS Fargate를 사용하여 AWS에서 실행할 수 있습니다.
Amazon EMR on EC2 클러스터, Amazon EMR on EKS 클러스터, Amazon EMR Serverless 애플리케이션에 사용되는 IPv4 주소에 대해서는 표준 퍼블릭 IPv4 주소 요금이 부과됩니다. 자세한 내용은 VPC 요금 페이지의 퍼블릭 IPv4 주소 섹션을 참조하세요.
AWS 요금 계산기
Amazon EMR 및 아키텍처 비용을 단일 예상 비용으로 계산할 수 있습니다.
Amazon EC2 기반 Amazon EMR
이 요금은 Amazon EC2 인스턴스로 구성된 Amazon EMR 클러스터에서 실행되는 Amazon EMR 애플리케이션에 적용됩니다.
Amazon EMR 요금은 Amazon EC2 요금(기본 서버에 대한 요금)과 Amazon Elastic Block Store(Amazon EBS) 요금(Amazon EBS 볼륨을 연결할 경우)에 추가됩니다. 또한, 요금은 1분을 최소 요금으로 초당 청구됩니다. 온디맨드(아래 참조), 1년 및 3년 예약 인스턴스, Capacity Savings Plans, 스팟 인스턴스를 비롯하여 다양한 EC2 요금 옵션을 선택할 수 있습니다. 스팟 인스턴스는 온디맨드 요금과 비교하여 최대 90% 할인된 금액으로 제공되는 예비 EC2 용량입니다. 스팟 인스터스 어드바이저 페이지에서 ’EMR에서 지원하는 인스턴스 유형’으로 필터링하여 온디맨드 대비 스팟 인스턴스 비용 절감을 확인하세요.
Amazon EMR on Amazon EKS
이 요금은 Amazon EKS 클러스터 기반 Amazon EMR에 적용됩니다.
Amazon EMR 요금은 Amazon EKS 요금 또는 EKS와 함께 사용되는 다른 모든 서비스의 요금에 추가됩니다. EKS는 EC2 또는 AWS Fargate를 사용하여 AWS에서 실행할 수 있습니다. EC2(EKS 관리형 노드 그룹 포함)를 사용하는 경우, Kubernetes 작업자 노드를 실행하기 위해 생성한 AWS 리소스(예: EC2 인스턴스 또는 EBS 볼륨)에 대한 비용만 지불하면 됩니다. 상세한 요금 정보는 EC2 요금 페이지를 참조하세요. AWS Fargate를 사용하는 경우, 컨테이너 이미지를 다운로드하기 시작한 시점부터 EKS 팟이 종료될 때까지 사용된 vCPU 및 메모리 리소스를 기반으로 초 단위로 반올림하여 요금이 계산됩니다. 일분의 최소 요금이 부과됩니다. 상세한 요금 정보는 AWS Fargate 요금 페이지를 참조하세요.
Amazon EKS 기반의 Amazon EMR 요금은 EMR 애플리케이션 이미지를 다운로드하기 시작한 시점부터 EKS Pod가 종료될 때까지 사용된 vCPU 및 메모리 리소스를 기반으로 초 단위로 반올림하여 계산됩니다. 요금은 해당 태스크 또는 팟을 위해 요청된 vCPU 및 메모리 리소스를 기반으로 합니다.
AWS Outposts 기반 Amazon EMR
AWS Outposts 기반 Amazon EMR 요금은 EMR의 클라우드 기반 인스턴스와 동일합니다. AWS Outpost 요금에 대한 자세한 내용은 AWS Outposts 요금 페이지를 참조하세요.
Amazon EMR 서버리스
EMR 서버리스를 사용하면 선결제 비용은 없으며 사용하는 리소스에 대한 비용만 지불하면 됩니다. 애플리케이션에서 사용하는 vCPU, 메모리 및 스토리지 리소스의 양에 대해 비용을 지불합니다.
EMR 서버리스를 사용하면 오픈 소스 프레임워크 버전을 사용하여 애플리케이션을 생성하고 애플리케이션에 작업을 제출합니다. 작업 사양의 일부로 최소 및 최대 동시 작업자 수와 각 작업자에 대한 vCPU, 메모리 및 스토리지를 제공할 수 있습니다. EMR은 지정된 한도 내에서 작업에 필요한 사항에 따라 작업자를 자동으로 추가 및 제거합니다. 작업자를 위한 컴퓨팅, 메모리 및 스토리지의 세 가지 차원을 독립적으로 구성할 수 있습니다. 작업자당 vCPU 1개, vCPU 2개, vCPU 4개, vCPU 8개 또는 vCPU 16개 중에서 선택하고, 작업자당 메모리를 1~8GB 단위로 2GB에서 120GB까지 선택할 수 있습니다. 스토리지 옵션의 경우 작업자당 20~200GB의 표준 스토리지를 선택하거나 작업자당 20GB~2TB의 셔플 최적화 스토리지를 선택할 수 있습니다.
작업자가 워크로드를 실행할 준비가 되었을 때부터 작업자가 중지할 때까지 사용된 총 vCPU, 메모리 및 스토리지 리소스에 대해 요금이 부과되며 근접한 초 단위로 반올림됩니다(최소 시간은 1분). 애플리케이션 시작 시 워커를 시작하도록 애플리케이션을 설정한 경우 요청된 워커는 애플리케이션을 시작할 때 시작되고 애플리케이션을 중지하거나 애플리케이션이 유휴 상태일 때 종료됩니다.
참고: 사용자 지정 이미지를 사용하는 경우 EMR Serverless의 이미지 다운로드가 시작된 후부터 워커가 중지될 때까지, 근접한 초 단위로 반올림된 시간(최소 시간은 1분) 동안 사용된 총 vCPU, 메모리 및 스토리지 리소스에 대한 요금이 부과됩니다.
요금 세부 정보(컴퓨팅 및 메모리)
요금은 워커에 사용된 vCPU, 메모리 및 스토리지 리소스를 전체 워커에 걸쳐 집계하여 계산됩니다.
-
Linux/x86
-
Linux/ARM
-
Linux/x86
-
-
Linux/ARM
-
요금 내역(임시 스토리지)
표준 스토리지: 기본적으로 모든 작업자는 처음 20GB의 임시 스토리지를 사용할 수 있습니다. 작업자당 구성한 추가 스토리지에 대해서만 비용을 지불하면 됩니다.
셔플 최적화 스토리지: 처음 20GB를 포함하여 작업자당 구성된 전체 스토리지에 대한 비용을 지불합니다.
지원되는 작업자 구성
CPU | 메모리 값 | 임시 스토리지 |
1개의 vCPU | 최소 2GB 및 최대 8GB(1GB씩 증분) | 20GB~200GB |
2개의 vCPU | 최소 4GB 및 최대 16GB(1GB씩 증분) | 20GB~200GB |
4개의 vCPU | 최소 8GB 및 최대 30GB(1GB씩 증분) | 20GB~200GB |
8개의 vCPU | 최소 16GB 및 최대 60GB(4GB씩 증분) | 20GB~200GB |
16개의 vCPU | 최소 32GB 및 최대 120GB(8GB씩 증분) | 20GB~200GB |
지속 시간
지속 시간은 작업자가 워크로드를 실행할 준비가 되었을 때부터 작업자가 종료되는 시간까지 계산되며 최소 1분 단위로 가장 가까운 초로 반올림됩니다.
추가 요금
애플리케이션에서 다른 AWS 서비스를 사용하는 경우 추가 요금이 발생할 수 있습니다. 예를 들어 애플리케이션에서 Amazon Simple Storage Service(S3)를 사용하여 데이터를 저장하고 처리하는 경우 스탠더드 Amazon S3 요금이 청구됩니다. Amazon S3, Amazon Relational Database Service(RDS) 또는 Amazon Redshift와 같은 데이터 소스의 데이터를 이동하는 경우, 요청 및 데이터 전송 표준 요금이 부과됩니다. Amazon CloudWatch를 사용하는 경우 CloudWatch 로그 및 CloudWatch 이벤트 표준 요금이 부과됩니다.
Amazon EMR WAL
이 요금은 Amazon EMR WAL을 사용하는 Apache HBase 애플리케이션이 있는 EC2 클러스터의 Amazon EMR에 대한 것입니다. Apache HBase 미리 쓰기 로그(WAL)를 사용하면 데이터의 모든 변경 사항을 파일 기반 스토리지에 기록할 수 있습니다. EC2에서 Amazon EMR을 사용하면 클러스터보다 오래 사용할 수 있는 내구성이 뛰어난 관리형 스토리지 계층인 Amazon EMR WAL에 Apache HBase 미리 쓰기 로그를 작성할 수 있습니다. 클러스터 또는 드물기는 하지만 가용 영역이 비정상 상태가 되거나 사용할 수 없게 되는 경우, 새 클러스터를 생성하여 동일한 Amazon S3 루트 디렉터리와 Amazon EMR WAL 작업 공간을 가리키고 몇 분 내에 WAL에서 데이터를 자동으로 복구할 수 있습니다. 자세한 내용은 Amazon EMR WAL 설명서를 참조하세요.
요금은 EMR WAL에 사용한 만큼만 부과됩니다. WAL을 사용하도록 구성된 활성 클러스터가 있는 경우 사용량을 기준으로 EMR WAL 스토리지(EMR-WAL-WALHours), 쓰기(WriteRequestGiB) 및 읽기(ReadRequestGiB)에 대한 요금이 청구됩니다.
EMR-WAL-WALHours: EMR WAL은 Apache HBase 리전당 1개의 WAL을 생성합니다. 클러스터가 종료된 후에도 EMR WAL에 Amazon S3로 플러시되지 않은 데이터가 여전히 있는 경우 복구 클러스터를 시작하여 데이터를 복구하거나, 임시 클러스터를 생성하여 WAL을 정리하고 EMR WAL CLI를 사용하여 EMR WAL 리소스를 삭제할 수 있습니다. EMR WAL 데이터를 명시적으로 삭제하지 않으면 EMR WAL에 데이터가 보존되고 30일 동안 플러시되지 않은 데이터에 대해 요금이 부과됩니다. 아래에서 예를 볼 수 있습니다.
ReadRequestGiB 및 WriteRequestGiB: 이 2개의 차원은 읽기 요청과 쓰기 요청에 대한 것입니다. EMR WAL이 있는 클러스터의 테이블에 데이터를 쓰기 위한 Apache HBase API 직접 호출은 WriteRequestGiB로 청구됩니다. EMR WAL 쓰기는 'Put' 작업과 같은 모든 Apache HBase 쓰기에 대해 발생합니다. Apache HBase 복구 작업 중에 EMR WAL에서 데이터를 읽기 위한 Apache HBase API 직접 호출은 ReadRequestGiB로 청구됩니다. 읽기 및 쓰기 요금은 항목 크기 및 EMR 요금을 기준으로 최소 1바이트부터 부과됩니다.
요금 예
예 1: EC2 기반의 EMR
US-East-1 요금을 기반으로 합니다.
Amazon EC2에 배포된 Amazon EMR 애플리케이션을 사용한다고 가정하면, 사용자는 한 개의 c4.2xlarge EC2 인스턴스를 프라이머리 노드로, 두 개의 c4.2xlarge EC2 인스턴스를 코어 노드로 사용합니다. EMR과 EC2 노드 양쪽에 대한 비용이 부과됩니다. 한 달 동안 실행하고 해당 기간 동안 100% 사용률을 보이며 EC2에 대한 온디맨드 요금제를 사용한다면, 다음 요금이 부과됩니다.
프라이머리 노드:
EMR 요금 = 1개 인스턴스 x 시간당 0.105 USD x (100 / 100 사용/월) x 1개월 기준 730시간 = 76.65 USD(EMR 마스터 노드 비용)EC2 요금 = 1개 인스턴스 x 시간당 0.398 USD x 1개월 기준 730시간 = 290.54 USD(EC2 마스터 노드 비용)
코어 노드:
EMR 요금 = 2개 인스턴스 x 시간당 0.105 USD x (100 / 100 사용/월) x 1개월 기준 730시간 = 153.30 USD(코어 노드 비용)
EC2 요금 = 2개 인스턴스 x 시간당 0.398 USD x 1개월 기준 730시간 = 581.08 USD(EC2 코어 노드 비용)
총 요금 = 76.65 USD + 290.54 USD + 153.30 USD + 581.08 USD = 1101.57 USD
예 2: EKS 기반의 EMR
US-East-1 요금을 기반으로 합니다.
Amazon EKS에 배포된 Amazon EMR-Spark 애플리케이션을 실행한다고 가정해 보겠습니다. 이 경우 EKS는 r5.2xlarge EC2 인스턴스(vCPU 8개, 64GB RAM)를 사용하여 컴퓨팅 용량을 확보합니다. 이 EKS 클러스터에 100개의 노드, 즉 총 800개의 vCPU와 6400GB의 총 메모리가 있다고 가정해 보겠습니다. 애플리케이션 100개의 VCPU 및 300GB의 메모리를 30분 동안 사용한다고 가정해 보겠습니다.
작업을 위한 총 Amazon EMR 사용 요금:
총 vCPU 사용 요금 = (100 * 0.01012 USD * 0.5) = (vCPU 수 * vCPU-시간당 요금 * 작업 런타임) = 0.506 USD
총 메모리 사용 요금 = ( 300 * 0.00111125 USD * 0.5) = (메모리 사용량 * GB-시간당 요금 * 작업 런타임) = 0.1667 USD
EMRA 작업을 위한 총 EMRA 사용 요금 = 0.6727 USD
추가 비용
생성하는 각 Amazon EKS 클러스터에 대해 시간당 0.10 USD를 지불합니다. Kubernetes 네임스페이스와 IAM 보안 정책을 활용하면 하나의 Amazon EKS 클러스터를 사용하여 여러 애플리케이션을 실행할 수 있습니다. EKS는 Amazon EC2 또는 AWS Fargate를 사용하여 AWS에서 실행할 수 있습니다.
Amazon EC2(Amazon EKS 관리형 노드 그룹 포함)를 사용하는 경우, Kubernetes 작업자 노드를 실행하기 위해 생성하는 AWS 리소스(예: EC2 인스턴스 또는 Amazon EBS 볼륨)에 대한 비용을 지불합니다. 사용하는 것에 대해서만 사용할 때 지불합니다. 최소 요금 및 사전 약정은 없습니다. 상세한 요금 정보는 EC2 요금 페이지를 참조하세요.
AWS Fargate를 사용하는 경우, 컨테이너 이미지를 다운로드하기 시작한 시점부터 Amazon EKS 팟이 종료될 때까지 사용된 vCPU 및 메모리 리소스를 기반으로 초 단위로 반올림하여 요금이 계산됩니다. 일분의 최소 요금이 부과됩니다. 상세한 요금 정보는 AWS Fargate 요금 페이지를 참조하세요.
예 3: EMR 서버리스
Spark 작업을 EMR 서버리스에 제출한다고 가정합니다. 작업이 각각 4VCPU 및 30GB 메모리로 구성된 최소 25명의 작업자와 최대 75명의 작업자를 사용하도록 구성되어 있다고 가정하겠습니다. 추가 임시 스토리지가 구성되지 않았음을 고려합니다. 작업이 25명의 작업자(또는 100vCPU)를 사용하여 30분 동안 실행되고 15분 동안 50명의 작업자(vCPU 200개 추가)를 추가하도록 자동으로 조정된 경우:
총 vCPU 시간 비용 = (100 * 0.052624 USD * 0.5) + (200 * 0.052624 USD * 0.25) = (vCPU 수 * vCPU 시간당 요율 * 작업 런타임(시간)) = 5.2624 USD
총 GB 시간 = (750 * 0.0057785 USD * 0.5) + (1500 * 0.0057785 USD * 0.25) = (구성된 총 메모리 GB * GB 시간당 요율 * 작업 런타임(시간)) = 4.333875 USD
총 EMR 서버리스 요금 = 9.596275 USD
추가 요금: 애플리케이션에서 Amazon S3와 같은 다른 AWS 서비스를 사용하는 경우 표준 S3 요금이 부과됩니다.
예 4: EMR WAL
Apache HBase가 있는 새 Amazon EMR 클러스터를 생성하고 미국 동부(버지니아 북부) 리전의 클러스터를 완전히 백업하기로 선택했다고 가정해 보겠습니다. 이 클러스터는 새 애플리케이션에 대한 것이므로 트래픽 패턴을 알 수 없습니다. 간단한 설명을 위해, 사용자가 시스템 테이블을 포함하는 HBase 테이블 10개와 테이블당 2개의 HBase 리전을 생성하고 애플리케이션과 상호 작용할 때마다 1KiB의 데이터를 기록한다고 가정해 보겠습니다.
10일 동안 애플리케이션에서 수신한 트래픽이 거의 없어 테이블에는 매일 1만 회의 쓰기가 이루어집니다. 하지만 11일째에는 애플리케이션 트래픽이 250만 회의 쓰기로 급증합니다. 또한 클러스터의 사용자 지정 코드를 동시에 업데이트하고 11일차에 최종 사용자를 위해 야간 가동 중단을 예약하기로 결정합니다. HBase 복구 작업을 위해 EMR WAL에서 100만 회의 읽기가 발생한다고 가정해 보겠습니다. 사용자에게 원할한 경험을 제공하기 위해 애플리케이션 규모가 조정됩니다. 이후 애플리케이션은 보다 규칙적인 트래픽 패턴을 보이면서 월말까지 매일 평균 5만 회의 쓰기를 수행합니다.
다음 표에 월별 총 사용량이 요약되어 있습니다.
기간 - (일) | 쓰기 합계 | 읽기 합계 | EMR WAL 사용량 |
1~10 | 쓰기 10만 회(쓰기 1만 회 x 10일) | ||
11 | 쓰기 250만 회 | 읽기 100만 회 | |
12~30 | 쓰기 95만 회(쓰기 5만 회 x 19일) | ||
월 합계 | 쓰기 355만 회 | 읽기 100만 회 | |
월별 청구 금액 | 0.30 USD(EMR WAL 쓰기 요청 GiB당 0.0883 USD x 355만 KiB 쓰기 / 104만 8,576KiB/GiB) | 0.08 USD(EMR WAL 읽기 요청 GiB당 0.0883 USD x 100만 KiB 읽기 / 104만 8,576KiB/GiB) | 25.92 USD(각 WAL의 EMR WAL 사용 시간당 0.0018 USD X HBase 테이블 10개 사용량 X HBase 테이블당 HBase 리전 2개 X HBase 리전당 WAL 1개 X 30일 X 24시간 또는 1만 4,400 EMR-WAL-WALHours 사용량) |
해당 월의 청구액은 26.52 USD이며, 총 청구액에는 ReadRequestGiB 및 WriteRequestGiB에 대한 0.38 USD와 EMR-WAL-WALHours에 대한 25.92 USD가 포함됩니다.
추가 요금 리소스
AWS에서 월별 비용을 손쉽게 계산
AWS 전문가에게 맞춤 견적 받기