
들어가며
AWS에서 가장 먼저 접하게 되는 서비스 중 하나가 Amazon EC2(Elastic Compute Cloud)입니다.
EC2는 AWS에서 제공하는 가상 서버(Virtual Machine) 서비스로, 필요한 만큼 서버를 생성하고 사용한 만큼만 비용을 지불하는 것이 가장 큰 특징입니다.
웹 서버를 구축하거나 데이터베이스를 운영하는 것뿐만 아니라, 데이터 수집, 데이터 처리, 머신러닝 학습 등 다양한 환경에서 활용됩니다.
이번 글에서는 EC2의 기본 개념부터 인스턴스 종류, 과금 방식, Auto Scaling, 그리고 AWS Graviton까지 함께 살펴보겠습니다.
1. Amazon EC2란?

EC2는 AWS에서 제공하는 가상 서버(Virtual Machine) 서비스입니다. 기존에는 웹 서비스나 애플리케이션을 운영하기 위해 물리 서버를 직접 구매하고 설치해야 했으며, 서버 용량이 부족하면 새로운 장비를 추가로 구매해야 했습니다. 이 과정은 시간과 비용이 많이 들고, 트래픽 변화에 유연하게 대응하기도 어려웠습니다.
EC2는 이러한 문제를 해결하기 위해 필요한 만큼의 가상 서버를 몇 분 안에 생성하고 사용할 수 있도록 지원합니다. 또한 사용량에 따라 서버를 늘리거나 줄일 수 있어 비용을 효율적으로 관리할 수 있습니다.
예를 들어 웹 서버, API 서버, 데이터베이스, 데이터 처리 프로그램 등 다양한 애플리케이션을 EC2에서 실행할 수 있습니다.
2. EC2의 특징
| 기능 | 설명 |
| 가상 서버 | 필요한 만큼 서버 생성 |
| 다양한 운영체제 | Linux, Windows 등 지원 |
| 탄력적인 확장 | 필요 시 CPU, 메모리 확장 가능 |
| 다양한 인스턴스 타입 | 용도에 맞는 사양 선택 |
| 사용량 기반 과금 | 사용한 시간만큼 비용 지불 |
3. EC2 구성 요소

EC2를 생성할 때는 여러 가지 항목을 함께 설정합니다.
- AMI(Amazon Machine Image)
- Instance Type
- EBS(Storage)
- Security Group
- Key Pair
- VPC / Subnet
이러한 요소를 조합하여 원하는 서버 환경을 구축할 수 있습니다.
4. EC2 인스턴스 타입
| 타입 | 용도 |
| General Purpose | 웹 서버, 일반 애플리케이션 |
| Compute Optimized | CPU 연산 |
| Memory Optimized | 캐시, 분석 |
| Storage Optimized | 대용량 I/O |
| Accelerated Computing | GPU, AI |
5. EC2 과금 방식
5-1) On-Demand
필요할 때 생성하고 사용한 만큼만 비용을 지불합니다. 가장 많이 사용하는 방식이며 개발이나 테스트 환경에 적합합니다.
5-2) Reserved Instance
1년 또는 3년 동안 사용할 것을 미리 예약하여 할인받는 방식입니다. 장기간 운영하는 서비스나 데이터베이스에 적합합니다.
5-3) Spot Instance
AWS의 남는 서버 자원을 매우 저렴하게 사용할 수 있습니다. 다만 AWS가 자원이 필요하면 인스턴스를 회수할 수 있습니다.
- 머신러닝 학습
- 배치 작업
- 빅데이터 분석
처럼 중단되어도 다시 실행할 수 있는 작업에 많이 사용됩니다.
6. EC2와 Auto Scaling
서비스 이용자가 증가하면 서버도 함께 늘어나야 합니다. 이를 위해 EC2는 Auto Scaling을 지원합니다.
사용자 증가
↓
CPU 사용률 증가
↓
Auto Scaling
↓
EC2 자동 생성
반대로 트래픽이 감소하면 불필요한 EC2를 자동으로 종료하여 비용을 절감할 수 있습니다.
7. EC2와 빅데이터

EC2는 다양한 AWS 데이터 엔지니어링 서비스의 기반이 됩니다.
- Amazon EMR
- Apache Spark
- Hadoop
- Kafka
등은 내부적으로 EC2 인스턴스를 사용하여 클러스터를 구성합니다.
특히 Amazon EMR에서는
- Master Node
- Core Node
- Task Node
구조를 EC2 위에서 실행합니다.
7-1) Master Node
Master Node는 EMR 클러스터 전체를 관리하는 중심 노드입니다.
클러스터 생성과 종료, 작업(Job) 스케줄링, 리소스 관리, 각 노드의 상태를 모니터링하는 역할을 수행합니다.
사용자가 Spark나 Hadoop 작업을 실행하면 먼저 Master Node가 작업을 받아 Core Node와 Task Node에 작업을 분배합니다.
주요 역할
- 클러스터 생성 및 관리
- 작업(Job) 스케줄링
- 리소스 관리
- 노드 상태 모니터링
7-2) Core Node
Core Node는 실제 데이터를 저장하고 처리하는 노드입니다.
HDFS(Hadoop Distributed File System)에 데이터를 저장하며, Spark나 Hadoop 작업도 함께 수행합니다.
데이터를 저장하는 역할을 담당하기 때문에 클러스터의 핵심 노드라고 볼 수 있습니다.
주요 역할
- HDFS 데이터 저장
- 데이터 처리
- Spark 및 Hadoop 작업 수행
7-3) Task Node
Task Node는 데이터를 저장하지 않고 연산만 수행하는 노드입니다.
Master Node가 작업을 분배하면 Core Node와 함께 병렬로 데이터를 처리하지만, HDFS에는 데이터를 저장하지 않습니다.
필요에 따라 개수를 쉽게 늘리거나 줄일 수 있어 작업량이 많을 때 처리 성능을 높이는 데 활용됩니다.
주요 역할
- 데이터 저장 없음
- Spark 작업 실행
- 병렬 연산 수행
- 필요 시 유연하게 확장 가능
7-4)노드별 비교
| 구분 | Master | NodeCore | NodeTask Node |
| 클러스터 관리 | O | X | X |
| HDFS 데이터 저장 | X | O | X |
| 데이터 처리 | 일부 | O | O |
| Spark/Hadoop 작업 | 관리 | 수행 | 수행 |
| Auto Scaling | 일반적으로 고정 | 가능 | 가능 |
- Master Node : 클러스터를 관리하고 작업을 분배하는 노드
- Core Node : 데이터를 저장하고 실제 데이터 처리를 수행하는 노드
- Task Node : 데이터를 저장하지 않고 연산만 수행하여 처리 성능을 높이는 노드
8. 마치며
이번 글에서는 Amazon EC2의 기본 개념과 주요 기능을 살펴보았습니다. 처음에는 단순한 가상 서버 서비스라고 생각했지만, 학습하면서 인스턴스 타입을 워크로드에 맞게 선택하는 것, On-Demand·Reserved·Spot과 같은 구매 옵션을 상황에 맞게 활용하는 것, 그리고 Auto Scaling을 통해 성능과 비용을 함께 관리하는 것이 EC2 운영에서 중요하다는 점을 이해할 수 있었습니다.
또한 EC2는 웹 서버뿐만 아니라 데이터 수집, 애플리케이션 운영, 빅데이터 처리 등 다양한 환경에서 활용되며, 특히 Amazon EMR과 같은 데이터 엔지니어링 서비스의 기반 인프라로 사용된다는 점도 알게 되었습니다.
'Data Engineering > AWS' 카테고리의 다른 글
| AWS SAM(Serverless Application Model)란 (0) | 2026.07.08 |
|---|---|
| AWS Lambda란 (0) | 2026.07.08 |
| AWS 데이터 이동 서비스 정리 | Data Exchange, Transfer Family, Snow Family (0) | 2026.07.06 |
| AWS DataSync 란 (0) | 2026.07.06 |
| AWS DMS(Database Migration Service)란 (0) | 2026.07.06 |