EC2 (Elastic Compute Cloud)
기술노트
EC2 (Elastic Compute Cloud)
비유로 쉽게 이해하기
EC2는 **'클라우드에 있는 가상의 개인 컴퓨터를 필요한 만큼 빌려 쓰는 것'**과 같습니다. 실제 컴퓨터를 구매하고 설치하는 대신, 인터넷을 통해 몇 번의 클릭만으로 고성능 컴퓨터 한 대를 즉시 대여하고, 사용한 시간만큼만 비용을 내는 서비스입니다.
개요
Amazon Elastic Compute Cloud (EC2)는 AWS 클라우드에서 확장 가능한 컴퓨팅 용량을 제공하는 핵심적인 웹 서비스입니다. 사용자가 가상 서버(인스턴스)를 생성하고 관리하여 다양한 애플리케이션을 실행할 수 있게 해줍니다.
상세 설명
EC2는 물리적인 서버 하드웨어를 직접 관리할 필요 없이, 필요에 따라 가상 서버의 사양(CPU, 메모리, 스토리지)과 개수를 자유롭게 조절할 수 있는 유연성을 제공합니다. 'Elastic'(탄력적인)이라는 이름처럼, 트래픽이 몰리면 서버 수를 자동으로 늘리고(Scale-out), 트래픽이 줄면 다시 줄여(Scale-in) 비용을 최적화할 수 있습니다. (Auto Scaling 기능 연동)
다양한 운영체제(Linux, Windows 등)를 선택할 수 있으며, 전 세계 여러 지역에 서버를 배치하여 사용자에게 더 빠른 서비스를 제공할 수 있습니다.
왜 중요할까요?
- 초기 비용 절감: 비싼 물리 서버를 직접 구매할 필요가 없어 초기 투자 비용이 거의 들지 않습니다.
- 유연성과 확장성: 갑작스러운 트래픽 증가에도 자동으로 대응하여 안정적인 서비스 운영이 가능합니다.
- 시간 절약: 서버를 준비하고 설치하는 데 걸리는 시간이 몇 주에서 단 몇 분으로 줄어듭니다.
주요 특징
- 다양한 인스턴스 유형: 워크로드 특성에 맞춰 범용, 컴퓨팅 최적화, 메모리 최적화 등 다양한 사양의 가상 서버를 선택할 수 있습니다.
- 탄력적 확장성: Auto Scaling과 연동하여 트래픽에 따라 인스턴스 수를 자동으로 조절합니다.
- 다양한 구매 옵션: On-Demand(사용한 만큼 지불), Reserved(기간 약정 할인), Spot(경매 방식의 저렴한 옵션) 등 비용 최적화를 위한 선택지를 제공합니다.
- 완전한 제어권: 사용자는 인스턴스에 직접 접속하여 운영체제부터 애플리케이션까지 모든 것을 제어할 수 있습니다.
- 안전한 네트워킹: Security Group과 같은 가상 방화벽을 통해 인스턴스로 들어오고 나가는 트래픽을 세밀하게 제어합니다.
사용 사례
- 웹사이트 및 웹 애플리케이션 호스팅
- 기업용 소프트웨어 실행 (ERP, CRM 등)
- 데이터 분석 및 빅데이터 처리
- 게임 서버 운영
- 개발 및 테스트 환경 구축
관련 서비스/용어
- Auto Scaling
- ELB (Elastic Load Balancing)
- EBS (Elastic Block Store)
- VPC (Virtual Private Cloud)
- AMI (Amazon Machine Image)