비용 및 규모에 맞게 Amazon EMR 클러스터 최적화

EC2 스팟 인스턴스 및 Amazon EMR 사용

Amazon EMR은 관리형 Hadoop 프레임워크로서 동적으로 확장 가능한 Amazon EC2 인스턴스 전체에서 대량의 데이터를 쉽고 빠르며 비용 효율적으로 처리할 수 있습니다. 또한, EMR에서 Apache Spark, HBase, PrestoFlink와 같이 널리 사용되는 분산 프레임워크를 실행하고, Amazon S3 및 Amazon DynamoDB와 같은 다른 AWS 데이터 스토어의 데이터와 상호 작용할 수 있습니다. 널리 사용되는 Jupyter Notebook에 기반한 EMR Notebooks는 임시 쿼리 및 탐색 분석을 위한 개발 및 협업 환경을 제공합니다. EMR은 로그 분석, 웹 인덱싱, 데이터 변환(ETL), 기계 학습, 금융 분석, 과학적 시뮬레이션 및 생물 정보학을 비롯하여 광범위한 빅 데이터 사용 사례를 안전하고 안정적으로 처리합니다.

Amazon EC2 스팟 인스턴스는 AWS 클라우드에서 사용할 수 있는 예비 컴퓨팅 파워를 온디맨드 요금과 비교하여 상당히 할인된 금액으로 제공합니다. EC2에서 해당 용량이 다시 필요하면 2분 알림으로 EC2가 스팟 인스턴스를 중단시킬 수 있습니다. 다양한 내결함성 및 유연한 애플리케이션에 스팟 인스턴스를 사용할 수 있습니다. 대표적인 예는 분석, 컨테이너식 워크로드, 고성능 컴퓨팅(HPC), 상태 비저장 웹 서버, 렌더링, CI/CD, 기타 테스트 및 개발 워크로드입니다.

이 자습서에서는 클러스터 생성 마법사를 사용하여 Amazon EC2 스팟 인스턴스에서 첫 번째 Amazon EMR 클러스터를 시작하는 방법에 대해 알아봅니다. 스팟 인스턴스에서 Amazon EMR을 실행하면 빅 데이터 비용이 대폭 절감되고, 컴퓨팅 용량이 크게 상승하고, 큰 데이터 세트를 처리하는 데 걸리는 시간이 단축됩니다.

자습서 소개
시간 10-20분      
요금 무료
사용 사례 컴퓨팅
제품 Amazon EMR, EC2 스팟 인스턴스
레벨 200
최종 업데이트 날짜 2020년 2월 4일

1단계: 고급 옵션을 사용하여 클러스터 생성

1.1 — 브라우저를 열고 Amazon EMR 콘솔로 이동합니다. 또는 EMR을 검색하거나 콘솔 랜딩 페이지의 [Analytics] 섹션 아래에서 Amazon EMR을 찾습니다. 이미 AWS 계정이 있을 경우 콘솔에 로그인합니다. 그렇지 않으면 새 AWS 계정을 생성한 후 시작합니다.

1.2 — 오른쪽 상단 모서리에서 Amazon EMR 클러스터를 시작할 리전을 선택합니다.

1.3 — Amazon EMR 창에서 [클러스터 생성]을 클릭합니다.

1.4 — [클러스터 생성] 창에서 [고급 옵션으로 이동]을 클릭합니다.

2단계: 클러스터 소프트웨어 및 앱 구성

2.1 — [소프트웨어 구성] 섹션에서 클러스터에 필요한 소프트웨어를 선택하거나, 빠르게 시작하기 위해 기본 옵션을 그대로 사용합니다.

2.2 — AWS Glue 데이터 카탈로그와 연결하기 위한 모든 필수 구성 정보는 물론 클러스터의 소프트웨어를 구성하는 동안 사용하고자 하는 모든 구성 파일을 선택적으로 입력합니다.

클러스터 가용성 개선에 다중 마스터 노드 사용 옵션은 다음 단계에서 구성할 인스턴스 플릿과 호환되지 않기 때문에 비활성화된 상태 그대로 둡니다.

2.3 — 프로비저닝된 후에 클러스터가 실행하도록 할 단계를 선택적으로 구성하거나, 클러스터 시작을 빠르게 시연하기 위해 이 단계를 건너뜁니다.

Amazon EMR 단계를 사용하여 EMR 클러스터에 설치된 Spark 프레임워크에 작업을 제출할 수 있습니다. 자세한 내용은 Amazon EMR 관리 가이드의 단계를 참조하십시오. 콘솔 및 CLI에서, spark-submit 스크립트를 자동 단계로 실행하는 Spark 애플리케이션 단계를 사용하면 됩니다. API에서는 command-runner.jar를 사용하여 spark-submit을 호출하는 단계를 사용합니다.

2.4 — 소프트웨어 구성을 빠르게 검토한 후에 다음 단계로 넘어가고 클러스터의 하드웨어를 구성할 수 있습니다.

[다음]을 클릭하여 계속 진행합니다.

3단계: 인스턴스 플릿 구성

3.1 — [인스턴스 그룹 구성] 섹션 아래에서 [인스턴스 플릿]을 선택합니다.

인스턴스 플릿을 사용하면 EC2 스팟 인스턴스를 활용할 때의 핵심 모범 사례인 인스턴스 다양성을 구현할 수 있습니다. 인스턴스 다양성은 여러 인스턴스 유형을 사용함으로써 Amazon EMR이 중단을 자동으로 처리하면서 클러스터에 필요한 모든 용량을 할당할 수 있도록 합니다.

3.2 — VPC 그리고 Amazon EMR 클러스터를 배포할 하나 이상의 서브넷을 선택합니다.

가용 영역을 여러 개 선택하는 것이 좋습니다. 클러스터는 여전히 단일 가용 영역에 배포되지만 여러 개의 가용 영역을 선택하면 Amazon EMR이 선택된 모든 가용 영역을 살펴보고 클러스터를 실행할 수 있는 EC2 스팟 용량이 가장 많은 가용 영역에 클러스터를 배포할 수 있습니다.

3.3 — 필요에 따라 루트 디바이스EBS 볼륨 크기를 구성하거나, 기본값을 그대로 사용하여 계속 진행합니다.

3.4 — [작업 인스턴스 플릿] 섹션으로 스크롤하고 [플릿에 인스턴스 유형 추가’/제거]를 선택합니다.

인스턴스 플릿을 사용하면 Amazon EMR이 사용 가능한 EC2 스팟 용량의 여러 풀에서 용량을 프로비저닝할 수 있도록 한 플릿에 최대 5개의 인스턴스 유형을 지정할 수 있습니다.

고휘발성 워크로드를 시작하는 경우가 아니라면 마스터 및 코어 노드에 대해 온디맨드 인스턴스를 사용하는 것이 좋습니다.

여기에서 일반적인 사용 사례에 대해 자세히 알아보고 EC2 스팟 인스턴스를 Amazon EMR과 함께 사용할 때의 권장 사항을 검토할 수 있습니다.

3.5 — 태스크 노드 인스턴스 플릿에서 사용할 인스턴스 유형을 최대 5개 선택합니다. 여러 인스턴스 패밀리에서 vcpu 대 메모리 비율이 비슷한 인스턴스 유형을 고려해야 합니다.

스팟 인스턴스 어드바이저를 사용하여 EMR 호환 인스턴스의 평균 비용 절감 및 중단율에 대해 자세히 알아볼 수 있습니다. 

3.6 — 인스턴스 프릿의 온디맨드 및 스팟 유닛을 구성하고, 각 인스턴스 유형의 유닛을 선택적으로 구성합니다.

온디맨드 유닛 및 스팟 유닛의 수를 늘리면 클러스터에 얼마의 용량이 프로비저닝되는지 결정됩니다. 이 시연을 빠르게 시작하고 비용을 줄이려면 소수의 스팟 유닛(예: 8개)만 배포하고 온디맨드 유닛을 배포하지 않는 것이 좋습니다.

기본적으로, 각 인스턴스 유형의 유닛은 해당 인스턴스 유형에 대한 vCore 수와 일치합니다. 다른 인스턴스 유형에 더 많은 가중치를 주기 위해 이를 필요에 맞게 구성할 수 있으며, 이는 Amazon EMR이 인스턴스 플릿의 용량을 충족할 때 고려됩니다.

온디맨드 인스턴스 또는 EC2 스팟 인스턴스로부터 충족될 유닛 수를 지정할 수도 있습니다. 그러면 여러 인스턴스 유형 및 구매 옵션을 결합하여 인스턴스 다양성 그리고 클러스터에 필요한 용량을 달성할 수 있습니다.

3.7 — 클러스터의 정의된 기간프로비저닝 제한 시간 동작을 선택적으로 구성합니다.

프로비저닝 제한 시간에서는 Amazon EMR이 인스턴스 플릿의 용량을 프로비저닝할 수 없을 경우 클러스터의 동작을 정의할 수 있습니다. 기본 동작은 [Terminate]이지만, 시간 초과가 발생할 때 클러스터가 스팟 인스턴스 대신 온디맨드 인스턴스 프로비저닝을 시도하도록 할 수도 있습니다.

여기에서 이러한 옵션에 대해 자세히 알아볼 수 있습니다.

3.8 — 하드웨어 구성을 빠르게 검토한 후에 다음 단계로 넘어가고 클러스터의 일반 설정을 구성할 수 있습니다.

[다음]을 클릭하여 계속 진행합니다.

4단계: 일반 클러스터 설정

4.1 — 클러스터의 이름을 지정하거나 기본값인 my cluster를 그대로 사용하여 계속 진행합니다.

로깅, 디버깅종료 보호를 구성할 수도 있습니다. 

로깅 및 디버깅에 대한 자세한 내용은 여기에서 알아볼 수 있습니다.

종료 보호에 대한 자세한 내용은 여기에서 알아볼 수 있습니다.

4.2 — 클러스터의 관련 태그를 선택적으로 구성합니다. 태그는 현재 생성 중인 클러스터가 어떤 팀의 소유인지 또는 어떤 환경에 속하는지를 식별하는 데 유용합니다.

여기에서 태깅에 대해 자세히 알아볼 수 있습니다.
 

4.3 — EMRFS 일관된 보기, 사용자 지정 AMI ID, 부트스트랩 작업 등 클러스터에 필요한 추가 옵션을 선택적으로 구성합니다.

4.4 — 일반 클러스터 구성을 빠르게 검토한 후에 다음 단계로 넘어가고 클러스터의 보안 설정을 구성할 수 있습니다.

[다음]을 클릭하여 계속 진행합니다. 

5단계: 보안

5.1 — 키 페어, 인스턴스 역할 및 프로파일, 보안 그룹, 암호화 등 클러스터를 위해 필요한 보안 구성을 선택적으로 구성합니다.

5.2 — 클러스터 보안 구성을 빠르게 검토하여 클러스터를 생성할 준비를 마칩니다.

[클러스터 생성]을 클릭하여 EC2 스팟 인스턴스를 실행하는 새로운 Amazon EMR 클러스터를 시작합니다.

축하합니다!

EC2 스팟 인스턴스에서 Amazon EMR 클러스터를 시작했습니다. 이제 EMR 클러스터에 스팟 인스턴스를 통합하고 빅 데이터 워크로드의 비용과 성능을 최적화할 수 있는 준비가 되었습니다.

이 자습서가 유용했습니까?

감사합니다.
좋아하는 사항을 알려주세요.
닫기
실망을 드려 죄송합니다.
오래되었거나 혼란스럽거나 부정확한 사항이 있습니까? 피드백을 제공하여 이 자습서를 개선할 수 있도록 도와주십시오.
닫기

EMR과 함께 Spark 앱 실행

EC2 스팟 인스턴스를 Amazon EMR과 함께 사용하는 방법을 배웠으므로 이제 워크로드 안에 인스턴스 플릿과 지금까지 배운 기타 모범 사례를 구현할 준비가 되었습니다. 계속해서 학습하려면 여기에 위치한 자습형 워크숍을 따르는 것이 좋습니다.

설명서 보기

Amazon EMR 관리 가이드를 읽어서 Amazon EMR의 기능에 대해 알아보십시오.

Amazon EC2 스팟 인스턴스 살펴보기

Amazon EC2 스팟 인스턴스에 대해 자세히 알아보려면 Amazon EC2 스팟 인스턴스 제품 페이지를 방문하여 설명서, 동영상, 블로그 등을 살펴보십시오.