Amazon EC2
EC2는 AWS 안에서 운영체제와 애플리케이션을 직접 올려 돌리는 가상 서버입니다. 필요할 때 인스턴스를 띄우고 붙일 디스크와 네트워크를 조합해 장시간 실행 워크로드의 계산 자리를 제공합니다.
▶아키텍처 다이어그램
🔍 구조 다이어그램점선 애니메이션은 데이터 또는 요청의 흐름 방향을 나타냅니다
새 기능을 배포했는데 프로세스가 몇 시간씩 살아 있어야 하면, 요청이 없을 때도 서버는 계속 켜둬야 합니다. 물리 서버나 고정 용량 서버만 쓰면 트래픽이 늘 때 바로 늘리지 못하고, 줄어도 남는 용량 비용을 계속 냅니다.
예전에는 애플리케이션을 띄우려면 물리 서버를 먼저 구매하고 랙, 전원, 네트워크까지 준비해야 했습니다. 이런 방식은 용량 예측이 틀리면 과투자나 증설 지연으로 바로 이어졌고, 그래서 필요한 만큼 가상 서버를 즉시 할당하는 EC2 같은 모델이 등장했습니다.
EC2는 필요한 순간에 가상 서버를 띄우고, 인스턴스 타입으로 CPU와 메모리를 정합니다. 보통 VPC 안에 인스턴스를 배치하고, ALB가 요청을 분산하며, EBS가 디스크를 붙여 항상 켜진 컴퓨팅 환경을 만듭니다.
EC2와 ECS는 둘 다 애플리케이션을 실행하지만 초점이 다릅니다. EC2는 서버 자체를 관리하는 선택이고, ECS는 컨테이너 단위 배포와 오케스트레이션에 초점이 있습니다. OS 설정, 런타임, 장기 실행 프로세스를 직접 제어해야 하면 EC2가 맞습니다.
웹 서버, 장시간 실행 배치, 상태를 가진 애플리케이션처럼 서버를 계속 유지해야 하는 경우에 적합합니다. 컨테이너 단위 배포가 더 중요하거나 요청 단위의 짧은 실행만 필요한 경우에는 맞지 않습니다.