들어가며
지난 글에서는 Amazon EMR의 기본 개념과 클러스터 구조를 살펴보았습니다.
EMR은 단순히 Spark를 실행하는 서비스가 아니라 다양한 AWS 서비스와 연동하여 데이터를 저장하고 처리하는 빅데이터 플랫폼입니다. 또한 작업 중 생성되는 데이터를 어디에 저장할 것인지에 따라 성능과 운영 방식도 달라집니다.
이번 글에서는 EMR이 AWS 서비스와 어떻게 연동되는지, 그리고 HDFS와 Amazon S3를 어떻게 활용하는지 알아보겠습니다.
1. EMR과 AWS 서비스 연동
EMR은 여러 AWS 서비스와 연동하여 하나의 데이터 처리 환경을 구성합니다.

대표적으로 다음과 같은 서비스와 함께 사용됩니다.
| 서비스 | 역할 |
| Amazon EC2 | EMR 클러스터를 구성하는 서버 |
| Amazon VPC | 클러스터 네트워크 구성 |
| Amazon S3 | 원본 및 결과 데이터 저장 |
| Amazon CloudWatch | 클러스터 모니터링 |
| AWS IAM | 접근 권한 관리 |
| AWS CloudTrail | 사용자 활동 감사 로그 |
| AWS Data Pipeline | 작업 스케줄링(현재는 Step Functions, MWAA 등이 많이 사용됨) |
2. EMR에서는 데이터를 어디에 저장할까?
EMR에서는 데이터를 저장하는 방식이 크게 두 가지입니다.
- HDFS
- Amazon S3(EMRFS)
2-1) HDFS란?
HDFS(Hadoop Distributed File System)는 Hadoop에서 사용하는 분산 파일 시스템입니다.

하나의 파일을 여러 블록으로 나누어 여러 노드에 저장하기 때문에 대용량 데이터를 빠르게 처리할 수 있습니다.
2-1-1) HDFS의 특징
- 여러 노드에 데이터를 복제하여 저장
- 데이터가 있는 노드에서 연산 수행
- 중간 결과 저장
등에 적합합니다. 다만 EMR 클러스터가 종료되면 HDFS에 저장된 데이터도 함께 삭제됩니다.
즉, HDFS는 임시 저장소로 사용하는 것이 일반적입니다.
2-2) EMRFS란?
EMRFS는 EMR에서 Amazon S3를 HDFS처럼 사용할 수 있도록 지원하는 기능입니다.

형태로 동작합니다. 사용자는 S3를 직접 사용하는 것이 아니라 HDFS처럼 접근하여 데이터를 읽고 저장할 수 있습니다.
- Spark 작업 제출
- 사용자가 Spark Job을 실행하면 작업은 Amazon EMR 클러스터로 전달됩니다. Spark는 데이터를 읽거나 저장할 때 EMRFS를 통해 S3에 접근합니다.
- S3 접근 권한 확인
- EMRFS는 IAM 사용자나 Role의 권한을 확인하고, 접근 가능한 S3 Bucket과 Prefix에 대한 자격 증명을 요청합니다.
- 필요한 권한만 부여
- EMRFS는 요청한 작업에 필요한 범위만큼의 권한(Scoped Credentials)을 받아옵니다. 이를 통해 전체 S3가 아닌 지정된 Bucket이나 Prefix만 접근할 수 있어 보안성을 높일 수 있습니다.
- Amazon S3 접근
- EMRFS는 발급받은 권한을 이용해 Amazon S3에서 데이터를 읽거나 결과 데이터를 저장합니다. Spark는 S3를 직접 다루는 것처럼 보이지 않고, HDFS를 사용하는 것과 유사한 방식으로 데이터를 처리할 수 있습니다.
2-2-1) 왜 EMRFS를 사용할까?
- 클러스터 종료 후에도 데이터 유지
- 여러 EMR 클러스터에서 동일한 데이터 사용
- 높은 내구성 확보
등의 장점이 있습니다. 따라서 실제 운영 환경에서는 대부분 S3 기반으로 데이터를 저장합니다.
3. HDFS와 Amazon S3 비교
| 항목 | HDFS | Amazon S3 |
| 저장 위치 | EMR 클러스터 내부 | AWS 객체 스토리지 |
| 데이터 유지 | 클러스터 종료 시 삭제 | 영구 저장 |
| 주요 용도 | 중간 결과, 캐시 | 원본 및 결과 데이터 |
| 확장성 | 클러스터 크기에 의존 | 사실상 무제한 |
| 실제 활용 | 임시 저장 | 운영 환경의 기본 저장소 |
4. 마치며
이번 글에서는 EMR이 AWS 서비스와 어떻게 연동되는지, 그리고 HDFS와 Amazon S3를 중심으로 EMR의 저장 구조를 살펴보았습니다.
EMR은 EC2 위에서 Spark와 Hadoop을 실행하는 것에 그치지 않고, S3, IAM, CloudWatch 등 다양한 AWS 서비스와 연동하여 하나의 데이터 처리 환경을 구성합니다. 또한 작업 중 생성되는 중간 데이터는 HDFS를 활용하고, 장기간 보관하거나 여러 클러스터에서 함께 사용하는 데이터는 Amazon S3에 저장하는 것이 일반적인 운영 방식입니다.
이러한 저장 구조를 이해하면 EMR이 단순한 Spark 실행 환경이 아니라, AWS의 다양한 서비스를 활용해 효율적인 데이터 파이프라인을 구축하는 플랫폼이라는 점을 이해하는 데 도움이 됩니다.
'Data Engineering > AWS' 카테고리의 다른 글
| Amazon EMR | EMR Serverless와 EMR on EKS 이해하기 (0) | 2026.07.23 |
|---|---|
| Amazon EMR란? (0) | 2026.07.23 |
| Amazon Athena | Federated Query로 다양한 데이터 소스를 SQL로 조회하기 (0) | 2026.07.23 |
| Apache Iceberg와 Glue Data Catalog 연동 이해하기 (0) | 2026.07.22 |
| AWS Athena | Workgroup, 비용 최적화, 보안 (0) | 2026.07.21 |