
EC2(Elastic Compute Cloud)는 AWS에서 제공하는 가장 대표적인 IaaS(Infrastructure as a Service) 서비스로, 원하는 사양의 가상 서버(인스턴스)를 손쉽게 생성하고 제거할 수 있도록 해준다. 쉽게 말해, AWS에게 컴퓨터를 빌려 쓰는 것이라 볼 수 있다.
EC2는 Auto Scaling 기능을 통해 트래픽 증가 시 자동으로 인스턴스 수를 늘리고, 트래픽이 줄면 줄이는 방식으로 탄력적으로 대응할 수 있다. 필요한 자원을 즉시 프로비저닝하고, 사용 후에는 곧바로 해제할 수 있어 비용 최적화에 유리하다.
EC2 인스턴스는 보안 그룹(Security Group)을 통해 인바운드/아웃바운드 트래픽을 제어한다. 보안 그룹은 가상 방화벽 역할을 수행하여, 원하는 IP와 포트만 인스턴스에 접근하도록 설정할 수 있다.
EC2 인스턴스는 VPC, RDS, ELB 등 다른 AWS 서비스와 긴밀하게 연동할 수 있다. 예를 들어, ELB를 이용해 트래픽을 여러 인스턴스에 분산하거나, RDS를 통해 안정적인 DB를 연동하는 등 다양한 아키텍처를 손쉽게 구축할 수 있다.

EC2는 사용자의 요구 사항에 따라 다양한 인스턴스 타입을 제공하며, 각각 CPU, 메모리, 스토리지, 네트워크 성능이 다르다. 대표적으로 다음과 같은 패밀리가 있다.
균형 잡힌 CPU, 메모리, 네트워크 리소스를 제공한다. 예: 웹 서버나 코드 리포지토리에 적합하다.

고성능 CPU가 필요한 작업에 특화되었다. 예: 미디어 트랜스코딩, HPC, 머신 러닝 등.

대규모 데이터를 인메모리로 처리하는 애플리케이션에 적합하다. 예: 인메모리 DB, 캐시 서버 등.

대규모 데이터 읽기/쓰기가 많은 워크로드에 최적화되었다. 예: 분산 파일 시스템, OLTP 등.

GPU 기반으로 그래픽 처리나 패턴 매칭 등 CPU보다 빠르게 수행해야 하는 작업에 적합하다.
이렇게 인스턴스 타입을 적절히 선택하면, 애플리케이션에 맞는 성능과 비용 효율을 얻을 수 있다.
EC2(Elastic Compute Cloud)는 On-demand로 원하는 사양의 가상 서버를 사용할 수 있게 해준다.
확장성, 탄력성, 보안성, 그리고 다양한 AWS 서비스와의 통합 측면에서 장점을 가진다.
인스턴스를 생성할 때 OS, 보안 그룹, 인스턴스 유형을 비롯해 다양한 설정을 할 수 있으며, CPU∙메모리∙스토리지 등의 조합을 자유롭게 선택할 수 있다.
결국 EC2는 클라우드 컴퓨팅의 핵심적인 개념을 직접 체험할 수 있는 대표 서비스라 할 수 있다. 필요한 만큼만 사용하고, 필요 없으면 즉시 중단해 비용을 절감할 수 있다는 점이 큰 장점이다.
끝!