209. 스팟 인스턴스 (Spot Instance) - 클라우드 비용 최적화 AWS 잉여 자원 임대 중단(Interruption) 내결함성 무상태(Stateless) 배치 처리 워크로드

핵심 인사이트: (클라우드 자본주의의 꽃, 극한의 가성비 사냥) 아마존(AWS) 데이터센터에는 수백만 대의 서버(쇳덩어리 기계)가 돌아간다. 근데 1년 365일 모든 기계가 손님(회사)들에게 다 팔려서 꽉 차 있을까? 절대 아니다. 낮에는 한가해서 서버 10만 대가 허공에 전기세만 태우며 텅텅 놀고먹고(잉여 자원) 있다. 아마존 사장님이 분노했다. "야!! 이 놀고먹는 빈 기계 10만 대 아까워 뒤지겠네!! 1달에 10만 원짜리 정가(온디맨드)를 다 받지 말고, '야! 지금 당장 놀고 있는 이 잉여 기계, 내가 90% 미친 폭탄 세일해서 단돈 1만 원(스팟)에 빌려줄게!! 대신 조건이 있어! 정가 내고 들어오는 호구 손님이 나타나면, 넌 쓰던 중간에 2분 경고만 주고 내가 기계 강제로 확 뺏어서 폭파(강제 회수)해 버릴 거야!! 억울해도 환불은 없다!!'" 언제 내쫓길지 모르는 끔찍한 시한부 생명이지만, 가격표가 -90% 덤핑 쳐진 가난한 스타트업들의 절대 구원줄, 스팟 인스턴스다.

Ⅰ. 온디맨드(On-Demand)의 정가 박치기

  • 온디맨드 인스턴스: 우리가 아는 일반 클라우드(EC2) 대여입니다. "나 한 달 동안 이 기계 절대 안 뺏기고 쓸래!" 아마존은 정가(비쌈)를 100% 다 받고 안정성을 보장해 줍니다.
  • 하지만 딥러닝 AI 학습이나 빅데이터 분석(수천 대의 서버가 며칠 동안 죽어라 계산만 해야 함)을 온디맨드 정가로 돌리면, 계산이 끝나기도 전에 회사가 서버비(수억 원)를 감당 못하고 파산합니다.

Ⅱ. 스팟 인스턴스 (Spot Instance)의 개념 🌟

  • 개념: 아마존(AWS), 구글(GCP), MS(Azure) 등 클라우드 제공업체가 보유한 '놀고 있는 남는 잉여 컴퓨터 자원(유휴 용량)'을 정가의 최대 90%까지 미친 할인가로 떨이 처분하여 빌려주는 클라우드 요금 모델입니다.
  • 치명적 족쇄 (강제 회수 Interruption) 🌟: 정가 손님이 갑자기 늘어나 아마존 창고에 남는 기계가 모자라게 되는 순간! 아마존은 이 스팟 인스턴스 세입자들에게 "야, 미안한데 2분 뒤에 네 기계 전원 강제로 뽑는다. 방 빼라."(2분 경고 룰) 라고 통보한 뒤, 계산을 하던 말던 가차 없이 쇳덩어리 전원을 확 뺏어가 버립니다(강제 중단 및 회수).

Ⅲ. 뺏겨도 살아남는 생존 아키텍처 (어디에 써야 할까?) 🌟 핵심 🌟

언제 폭파될지 모르는 시한폭탄 서버에 도대체 뭘 올려서 돌릴까요?

1. 절대 쓰면 안 되는 곳 (사형 선고)

  • 실시간 웹 서버 / 결제 DB: 손님이 장바구니 담고 결제 누르는 찰나에 "2분 뒤 스팟 회수됨 ㅃㅃ" 하고 서버가 뒈져버리면 회사 게시판에 불이 납니다. (상태 State를 머릿속에 저장하는 Stateful 앱은 무조건 100% 뒈집니다.)

2. 최고의 황금 궁합 (찰떡궁합 워크로드) 🌟 무조건 암기

서버가 중간에 뒈져도 "아 뒈졌네? 그럼 딴 스팟 서버 하나 1만 원에 또 주워 와서 하던 거 이어서 다시 계산하지 뭐~" 라고 쿨하게 넘길 수 있는 내결함성(Fault-Tolerant) 앱에 씁니다.

  • 배치(Batch) 데이터 처리 / 빅데이터 맵리듀스(Hadoop): 파일 10만 개 변환하다 10개째에서 뒈지면, 딴 싼 서버 주워다가 11개째부터 다시 돌리면 그만입니다.
  • AI / 머신러닝 모델 학습: 수만 번 반복 학습하는 거라 중간에 서버 뺏기면 딴 데서 다시 돌리면 됩니다.
  • 무상태(Stateless) 컨테이너 / CI/CD 빌드 로봇: 상태를 안 들고 있으니 죽어도 노 타격입니다.

Ⅳ. 쿠버네티스(K8s)와 스팟의 환상적 시너지 (오토스케일링 결합)

  • 실무 스타트업의 눈물겨운 짠돌이 흑마법입니다.
  • 전략: K8s를 세팅할 때, 최소한의 뼈대(웹서버 1대)는 절대 안 뺏기는 비싼 정가(온디맨드) 서버에 올려놓습니다. 그리고 트래픽이 폭주해서 오토스케일링(HPA)으로 텐트(Pod) 100개를 복제할 때는? 그 늘어나는 100개의 텐트를 모조리 -90% 떨이로 주워 온 싼 쇳덩어리 '스팟 인스턴스' 위장 땅에다가 쑴풍쑴풍 꽂아버립니다.
  • 도중에 아마존이 스팟을 뺏어가서 텐트 10개가 뒈진다? 196번 K8s의 '자가 치유' 기능이 발동해서 "어 텐트 죽었네? 스팟 다른 놈 또 주워와서 거기에 다시 쳐!" 라며 바퀴벌레 같은 생명력으로 0.1초 만에 메꿔버립니다. 아마존의 강제 회수 횡포를 K8s의 자동 부활(Healing)로 찍어 누르는 궁극의 가성비 + 무중단 아키텍처가 완성됩니다.

📢 섹션 요약 비유: **스팟 인스턴스(Spot Instance)**는 클라우드 호텔의 **'초특가 -90% 심야 복도 돗자리 숙박권'**입니다. 이 호텔의 10만 원짜리 정가 스위트룸(온디맨드 인스턴스)은 한 달 내내 푹 자도 절대 안 쫓겨나는 권리가 보장됩니다. 하지만 비수기에 호텔 방 100개가 텅텅 비자 빡친 사장님(아마존)이 거지 배낭여행객(스타트업)들에게 제안합니다. "남는 방 만 원에 재워줄게(스팟 떨이). 단, 정가 10만 원 내고 온다는 VIP 손님이 로비에 나타나면, 넌 자다가 팬티 바람이어도 2분 안에 짐 싸서 무조건 길바닥으로 강제로 쫓겨난다(강제 회수 룰)!!" 가난한 배낭여행객은 언제 쫓겨날지 몰라 심장이 쫄깃하지만 가격이 너무 싸서 이 유혹을 뿌리칠 수 없습니다. 만약 배낭여행객이 방 안에서 수술(실시간 결제 DB)을 하고 있었다면 쫓겨날 때 환자가 죽어버리므로 절대 이 방을 쓰면 안 됩니다. 하지만 이 방에 들어간 놈이 그냥 10시간짜리 영화 렌더링이나 AI 수학 문제(빅데이터 딥러닝 연산)를 풀고 있었다면? 쫓겨나도 "아휴, 내일 딴 호텔 만 원짜리 스팟 방 하나 또 잡아서 문제 마저 풀지 뭐~" 하고 종이(저장된 상태 데이터)만 챙겨서 미련 없이 떠나면 그만입니다. 시스템이 중간에 뚝 끊어져 죽더라도 다시 이어서(내결함성) 할 수 있는 깡다구를 가진 서비스만이 90% 인프라 비용 절감의 마약을 빨 수 있는 클라우드 경제학의 정수입니다.