민혁이의 IT스토리

[AWS] - EC2 개념 정리 본문

AWS

[AWS] - EC2 개념 정리

FE_Minhyuk 2026. 1. 8. 20:45

왜 멀쩡한 내 컴퓨터 놔두고 EC2를 쓸까?


 

웹 개발을 처음 배우면 보통 내 노트북(Local)에서 개발을 합니다. localhost:3000에서 내 웹사이트가 아주 잘 돌아가죠. 그런데 이걸 친구들에게 보여주거나 실제 서비스를 하려면 어떻게 해야 할까요?

가장 무식한 방법은 내 노트북을 24시간 켜두는 것입니다. 하지만 이건 현실적으로 불가능합니다.

  • 노트북이 과열되거나 전기가 끊기면 서비스도 죽습니다.
  • IP 주소가 바뀌면 접속이 불가능해집니다.
  • 집 전기세 폭탄을 맞을 수도 있습니다.

그래서 우리는 "24시간 꺼지지 않고, 전원 관리나 인터넷 연결을 누가 대신 해주는 컴퓨터"가 필요합니다. 그게 바로 서버이고, 아마존(AWS)에서 빌려주는 가상 서버 서비스가 바로 EC2(Elastic Compute Cloud)입니다.

쉽게 말해, "아마존이라는 거대한 건물에 있는 '원룸(컴퓨터)' 하나를 월세 내고 빌리는 것"이라고 생각하면 됩니다.

 


EC2의 핵심 구성요소 (나만의 컴퓨터 조립하기)


EC2를 만든다는 건, 온라인에서 컴퓨터 한 대를 조립하는 과정과 똑같습니다. 용어만 다를 뿐이죠.

 

1. 인스턴스 (Instance) = 컴퓨터 본체

가장 먼저 컴퓨터 성능을 골라야 합니다. CPU는 얼마나 좋은 걸 쓸지, 램(RAM)은 몇 기가를 쓸지 결정합니다. AWS는 이를 t2.micro, m5.large 같은 모델명으로 부릅니다.

  • 비유: "사장님, 게임용 고사양 본체로 주세요" vs "사무용 저렴한 걸로 주세요"

2. AMI (Amazon Machine Image) = 윈도우/리눅스 설치 CD

컴퓨터를 샀으면 운영체제(OS)를 깔아야겠죠? AWS에서는 미리 세팅된 OS 이미지를 AMI라고 부릅니다.

  • Ubuntu, Linux, Windows 등 원하는 OS가 설치된 CD를 골라 끼우는 과정입니다.

3. EBS (Elastic Block Store) = 하드디스크(SSD)

컴퓨터에 데이터를 저장할 공간입니다. 본체(인스턴스)와는 별개로 붙였다 뗐다 할 수 있는 외장 하드 느낌에 가깝습니다.

  • 비유: 내 원룸에 꽂혀 있는 C드라이브

4. 보안 그룹 (Security Group) = 우리 집 현관문/경비실

아무리 좋은 컴퓨터라도 아무나 들어오면 안 되겠죠? "누구는 들어와도 되고, 누구는 안 돼"라고 정하는 가상 방화벽입니다.

  • 포트(Port) 설정: "웹사이트 볼 사람(80번 포트)은 들어오고, 해커는 오지 마!"

 


헷갈리기 쉬운 개념 잡기


초보자가 가장 많이 실수하고 헷갈려 하는 3가지 개념입니다.

1. 키 페어 (Key Pair) = 집 열쇠

EC2라는 원룸을 빌렸으면 들어갈 열쇠가 필요합니다. AWS는 .pem이라는 파일로 된 열쇠를 줍니다.

  • 주의: 이 열쇠는 딱 한 번만 다운로드 가능합니다. 잃어버리면? AWS 할아버지가 와도 문 못 열어줍니다. 절대 잃어버리지 않게 백업해두세요.

2. 탄력적 IP (Elastic IP) = 고정된 집 주소

EC2는 껐다 켜면 IP 주소가 바뀝니다. (마치 이사 다니는 것처럼요.) 친구들에게 "우리 집 주소는 A야"라고 했는데, 자고 일어나니 B로 바뀌어 있으면 곤란하겠죠? 그래서 고정된 IP 주소를 돈 주고 사서 딱 박아두는 것, 그게 탄력적 IP입니다.

3. 중지(Stop) vs 종료(Terminate)

이거 정말 중요합니다. 한국어로는 비슷해 보이지만 천지 차이입니다.

  • 중지 (Stop): 컴퓨터 전원 끄기. (데이터 살아있음, 다시 켜기 가능)
  • 종료 (Terminate): 컴퓨터 갖다 버리기. (인스턴스 삭제, 데이터 다 날아감, 복구 불가)

실습 끝나고 "종료" 눌렀다가 데이터 다 날려서 우는 분들 많습니다. 주의하세요!

 


EC2와 친구들 (Docker & ECS)


요즘 개발자들은 EC2에 직접 프로그램을 깔기보다 Docker(도커)를 많이 씁니다.

EC2만 쓸 때 vs Docker를 쓸 때

  • EC2만 사용 (옛날 방식): EC2에 접속해서 Java 설치하고, 환경변수 잡고... 복잡합니다. 이사 갈 때마다 가구 배치를 다시 하는 꼴이죠.
  • Docker 사용 (요즘 방식): 내 프로그램을 '컨테이너'라는 박스에 예쁘게 포장해서 EC2 위에 툭 올려놓기만 하면 됩니다.

ECS는 뭔가요? (트럭과 배차 담당자)

여기서 ECS(Elastic Container Service)라는 개념이 등장합니다.

  • EC2 = 트럭 (운송 수단)
  • Docker = 컨테이너 박스 (짐)
  • ECS = 배차 담당자 (관리자)

트럭(EC2)이 한 대일 땐 내가 직접 운전하면 됩니다. 하지만 트럭이 100대가 되면? 누가 어떤 짐을 싣고 어디로 가야 할지 관리해 줄 사람이 필요하죠. ECS는 "이 컨테이너는 1호차(EC2)에 싣고, 1호차가 고장 나면 2호차로 옮겨!"라고 지시하는 똑똑한 관리자입니다. 즉, EC2와 ECS는 경쟁 관계가 아니라 협력 관계입니다.

 


결론 및 요금 주의사항


EC2는 클라우드 컴퓨팅의 가장 기본이 되는 서비스입니다. 내 컴퓨터가 아닌, 아마존의 컴퓨터를 빌려 쓴다는 개념만 잡으면 반은 성공입니다.

마지막으로 요금 주의! (프리티어) AWS에 처음 가입하면 1년간 무료(프리티어)로 EC2를 쓸 수 있습니다. 단, t2.microt3.micro 같은 특정 모델만 무료입니다.

  • 실습이 끝나면 반드시 인스턴스를 '중지' 또는 '종료'하세요.
  • 특히 '탄력적 IP'는 인스턴스에 연결 안 해두면 요금이 나갑니다. (쓰지도 않는데 돈 나가는 억울한 상황 1순위)

다음 포스팅에서는 실제로 AWS 콘솔에 접속해서 5분 만에 나만의 서버를 띄우는 법을 다뤄보겠습니다

'AWS' 카테고리의 다른 글

[AWS] - ECS 구조 완벽 정리: 클러스터, 서비스, 태스크  (1) 2026.01.09