AI와 함께 사주앱을 만들고 나니, 마지막 산이 남았습니다. 바로 "내 컴퓨터가 꺼져도 누구나 접속할 수 있게 인터넷에 올리기" — 즉 배포(deploy)입니다. 만드는 건 AI가 도와줘도, 서버는 정말 어렵게 느껴졌어요. 화면 가득 영어로 적힌 콘솔, 처음 보는 약어들, "이거 잘못 누르면 요금 폭탄 나는 거 아냐?" 하는 막연한 두려움까지. 저도 똑같이 겁부터 먹었습니다.
그래서 결심했습니다. 개발자가 아닌 제가, 세계에서 가장 많이 쓰는 클라우드인 AWS(아마존 웹서비스)에 직접 배포해보기로요. 이 시리즈는 그 과정을 그대로 담은 사용기입니다. 성공한 부분도, 헤맨 부분도, "아 이걸 미리 알았으면" 싶었던 것도 숨기지 않고 적었어요.
이 글은 시리즈의 첫 편이자 '전체 지도'입니다. 세부 실습은 각 편에서 하나씩 다루고, 여기서는 "배포가 대체 뭐고, 왜 필요하고, 전체 그림이 어떻게 생겼는가"를 비개발자 눈높이로 크게 그려 드릴게요. 지도를 먼저 손에 쥐면, 뒤이어 나오는 세부 골목길에서 길을 잃지 않거든요.
전문 용어는 최대한 걷어내고, "이게 왜 필요하고, 어떤 순서로 하는가"만 남기려 했습니다.
배포(deploy)가 대체 뭔가요?
먼저 가장 기본부터요. 우리가 노트북에서 앱을 만들면, 그 앱은 내 노트북 안에서만 돌아갑니다. 브라우저 주소창에 localhost라고 치면 나만 볼 수 있는 상태죠. 문제는 명확합니다. 내 노트북을 끄면 앱도 같이 꺼지고, 옆집 친구는 그 주소로 들어올 수 없어요. 세상 누구도 내 앱을 쓸 수 없는 겁니다.
배포란, 이 앱을 "항상 켜져 있고, 인터넷에 연결된 남의 컴퓨터"에 올려서, 세상 누구나 주소만 알면 접속할 수 있게 만드는 일입니다. 그 '항상 켜져 있는 남의 컴퓨터'가 바로 서버(server)이고, 그 서버를 빌려주는 회사가 클라우드 사업자(AWS 같은)예요.
왜 "내 컴퓨터"로는 안 되나요?
이론상 내 노트북을 24시간 켜두고 인터넷에 직접 연결하면 서버가 될 수도 있어요. 하지만 현실은 이렇습니다. 정전 한 번이면 서비스가 죽고, 인터넷 공유기가 재부팅되면 접속이 끊기고, 집 인터넷 주소(IP)는 통신사가 수시로 바꿔서 손님이 어제 알던 주소로 다시 못 찾아옵니다. 게다가 노트북을 끄고 외출도 못 하죠. 이걸 비유하자면:
내 노트북으로 서비스하는 건, 우리집 거실에 가게를 차리고 "손님 오시면 제가 문 열어드릴게요, 대신 제가 잠들거나 외출하면 문 닫습니다"라고 하는 것과 같아요. 장사가 될 리 없죠.
그래서 우리는 전기도 안 끊기고, 인터넷도 튼튼하고, 주소도 안 바뀌고, 24시간 누가 지켜주는 건물을 빌립니다. 그게 클라우드예요. 내가 건물을 짓지 않고, 필요한 만큼만 방을 빌려 쓰는 거죠.
전체 그림부터 — '가게 차리기'에 비유하면
클라우드 배포를 처음 보면 용어가 많아 기가 죽습니다. EC2, ALB, RDS, ACM, Route 53… 외계어 같죠. 그래서 저는 이걸 전부 "동네에 가게 하나 차리는 일"로 바꿔서 이해했어요. 신기하게도 딱딱 들어맞습니다.
- EC2 — 앱이 살 "땅과 건물", 즉 서버 한 대. 여기에 내 앱을 올려두면 24시간 장사를 합니다.
- 로드밸런서(ALB) — 손님을 여러 창구로 나눠주는 "문지기". 손님이 몰려도 줄이 한 곳에 쏠리지 않게 정리해줘요.
- 데이터베이스(RDS) — 회원 정보·주문 기록 같은 자료를 보관하는 "창고". 불이 나도 자료가 안 타게 관리해주는 창고죠.
- SSL 인증서(ACM) — 문에 다는 "자물쇠(https)". 손님과 가게가 주고받는 대화를 아무도 엿듣지 못하게 막아줍니다.
- Route 53 — 간판에 적는 "주소(도메인)".
3.35.xxx.xxx같은 숫자 대신내가게.com이라는 예쁜 이름을 달아주는 거예요.
이 다섯 가지가 유기적으로 물려 돌아가면, 비로소 "누구나 이름으로 찾아와서, 안전하게, 끊김 없이 쓸 수 있는 서비스"가 완성됩니다. 표로 한 번 더 정리해볼게요.
| AWS 용어 | 가게 비유 | 없으면 생기는 일 |
|---|---|---|
| EC2 (서버) | 가게가 들어설 땅·건물 | 앱을 올려둘 공간 자체가 없음 → 배포 불가 |
| ALB (로드밸런서) | 손님을 나눠 안내하는 문지기 | 손님 몰리면 한 창구에 줄이 쏠려 가게가 멈춤 |
| RDS (데이터베이스) | 자료를 보관하는 창고 | 회원·기록이 서버와 함께 날아갈 위험 |
| ACM (SSL 인증서) | 문에 다는 자물쇠(https) | 주소창에 "안전하지 않음" 경고, 손님이 도망감 |
| Route 53 (도메인) | 간판에 적힌 가게 이름·주소 | 손님이 외우기 힘든 숫자 주소만 남음 |
클라우드 vs 온프레미스 — 뭐가 다른가요?
배포 이야기를 하다 보면 온프레미스(on-premise)라는 말이 나옵니다. 어려워 보이지만 뜻은 간단해요. "내가 직접 서버 장비를 사서, 내 사무실이나 전산실에 놓고, 내 손으로 관리하는 방식"입니다. 반대로 클라우드는 "남의 거대한 전산실에서 필요한 만큼만 빌려 쓰는 방식"이고요.
이걸 집에 비유하면 이렇습니다. 온프레미스는 집을 직접 짓는 것이에요. 땅 사고, 자재 사고, 인부 부르고, 다 짓고 나면 보일러·수도·정전까지 평생 내가 책임집니다. 클라우드는 완성된 오피스텔을 월세로 빙 빌리는 것이죠. 관리는 건물주가 하고, 나는 필요한 평수만큼 방을 넓혔다 줄였다 하면 됩니다.
👍 클라우드(AWS)의 장점
- 초기 장비 구입비 0원 — 쓴 만큼만 냄
- 손님이 늘면 클릭 몇 번으로 서버 확장
- 정전·냉방·보안 등 물리 관리는 AWS가 담당
- 세계 각지에 서버가 있어 접속이 빠름
- 몇 분 만에 새 서버를 켜고 끌 수 있음
👎 온프레미스(직접 구축)의 부담
- 서버 장비를 처음에 목돈 주고 사야 함
- 고장·정전·보안 사고를 내가 다 책임
- 손님이 늘어도 장비 추가에 며칠~몇 주
- 전기세·냉방·전산실 공간 비용이 계속 나감
- 새 서버 하나 켜는 데도 준비가 오래 걸림
물론 대기업이나 특수한 보안이 필요한 곳은 온프레미스를 고집하기도 합니다. 하지만 혼자 앱 하나를 세상에 올리려는 우리 같은 사람에게는, 집을 짓는 대신 방을 빌리는 클라우드가 압도적으로 유리해요. 실패해도 방만 빼면 되니까요.
그 많은 클라우드 중, 왜 AWS인가요?
클라우드 회사는 여럿입니다. 아마존의 AWS, 마이크로소프트의 Azure, 구글의 GCP가 흔히 말하는 3대장이죠. 저도 처음엔 "뭘 골라야 하지?" 하고 한참 고민했어요. 결론부터 말하면 비개발자 입문자에게는 AWS가 가장 무난합니다. 이유는 이렇습니다.
- 가장 오래되고 가장 많이 씁니다. AWS는 2006년에 시작한, 이 분야를 사실상 연 맏형입니다. 오랫동안 시장 점유율 1위를 지켜왔어요. 많이 쓴다는 건 곧, 막혔을 때 검색하면 답이 나온다는 뜻입니다. 입문자에게 이건 정말 큰 장점이에요.
- 한국어 자료와 커뮤니티가 풍부합니다. 같은 에러를 이미 누군가 겪고 한글로 정리해뒀을 확률이 높아요.
- 이 책과 시리즈가 AWS 기준으로 쓰였습니다. 화면을 그대로 따라 하기 좋게 맞춰뒀어요.
따라 하기 ① — AWS 계정 만들기
이제 진짜 첫걸음입니다. 땅을 사려면 부동산에 회원 가입부터 해야 하듯, AWS를 쓰려면 계정을 만들어야 해요. 신용카드(또는 체크카드) 등록이 필요하지만, 뒤에서 설명할 크레딧과 안전장치 덕분에 겁먹을 필요 없습니다. 차근차근 따라오세요.
AWS 가입 페이지 접속
검색창에 "AWS 회원가입" 또는 "AWS 프리 티어"를 치고 공식 아마존 사이트(aws.amazon.com)로 들어갑니다. 주소에 amazon이 들어있는지 꼭 확인하세요 — 사칭 사이트를 피하기 위해서요.
이메일과 계정 이름 입력
루트 사용자(root user)라고 부르는, 가장 높은 권한의 이메일을 등록합니다. 평소 잘 쓰는 이메일로 하되, 비밀번호는 반드시 길고 강하게 만드세요. 이건 '가게 금고 열쇠'라 잃어버리면 큰일 납니다.
연락처·주소 입력 (개인 계정 선택)
개인(Personal)과 회사(Business) 중 개인을 고르고, 이름·주소·전화번호를 적습니다. 나중에 인증 문자가 오니 실제 번호를 넣어야 해요.
카드 정보 등록
결제 수단으로 카드를 등록합니다. 이 단계에서 소액(1달러 안팎)이 결제 확인용으로 잠깐 잡혔다가 취소될 수 있는데, 정상이니 놀라지 마세요. 크레딧과 알람을 걸어두면 실제 큰 금액이 나갈 일은 거의 없습니다.
본인 인증(문자/전화)
휴대폰으로 오는 인증 코드를 입력합니다. 로봇이 아님을 확인하는 절차예요.
지원 플랜은 '무료(Basic)' 선택
마지막에 유료 지원 플랜을 권하는데, 연습 단계에선 무조건 Basic(무료)을 고르세요. 나중에 필요하면 언제든 바꿀 수 있습니다.
여기까지 하면 축하합니다. 이제 여러분은 세계 최대 클라우드의 세입자가 되었어요. 콘솔(관리 화면)에 로그인하면 텅 빈 대시보드가 반겨줄 겁니다.
크레딧과 프리 티어 — 얼마나 공짜로 연습할 수 있나요?
가장 궁금한 돈 이야기입니다. 다행히 AWS는 신규 가입자에게 넉넉한 체험 기회를 줍니다. 2025년 7월 개편 이후, 새 계정은 가입 시 약 $100 크레딧을 주고, 특정 활동(간단한 실습 등)을 완료해 조건을 충족하면 최대 $200까지 받을 수 있으며, 6개월간 이 크레딧으로 여러 서비스를 체험할 수 있어요. 이 시리즈에서 하는 연습은 대부분 이 범위 안에서 충분히 소화됩니다.
즉, 처음엔 사실상 "체험판 지갑"을 하나 쥐고 시작하는 셈이에요. 이 지갑 안에서 마음껏 켜보고, 지워보고, 다시 만들어보세요.
다만 명심할 점. 크레딧이 바닥나거나 6개월이 지나면, 그때부터는 실제 요금이 카드로 청구됩니다. 그래서 다음 섹션이 이 글에서 가장 중요할지도 몰라요. 바로 '비용 걱정 해소법'입니다.
비용이 무서운 초보를 위한 안전장치
솔직히 저를 가장 오래 망설이게 한 건 기술이 아니라 "자다가 요금 폭탄 맞으면 어쩌지?"라는 공포였습니다. 인터넷에 떠도는 "며칠 방치했다가 수십만 원 나왔다"는 무서운 후기들 때문이죠. 결론부터 말하면, 그런 사고는 거의 대부분 '안 쓰는 자원을 켜둔 채 잊어버려서' 생깁니다. 그리고 그건 몇 가지 습관으로 충분히 막을 수 있어요. 제가 실제로 걸어둔 안전장치를 소개할게요.
안전장치 1 — 안 쓰는 자원은 반드시 끈다
클라우드 요금은 대부분 "켜둔 시간"에 비례합니다. 택시 미터기랑 같아요. 세워둬도 시동이 켜져 있으면 요금이 오르죠. 연습이 끝났으면 EC2 서버를 중지(stop)하거나 삭제(terminate)하는 습관을 들이세요. 특히 실습용으로 만든 건 미련 없이 지우는 게 정신 건강에 좋습니다.
안전장치 2 — 결제 알람(Billing alarm)을 건다
이게 핵심입니다. "요금이 얼마 이상 나오면 나한테 문자/메일로 알려줘"라고 미리 설정해두는 기능이에요. 예를 들어 "$5를 넘으면 알려줘"라고 걸어두면, 뭔가 잘못 돼서 요금이 오르기 시작할 때 초기에 잡을 수 있습니다. 자세한 클릭 순서는 이렇습니다.
결제 대시보드로 이동
콘솔 우측 상단 계정 이름을 누르고 "Billing and Cost Management(결제)"로 들어갑니다.
결제 알림 받기 설정 켜기
결제 환경설정에서 "결제 알림 수신(Receive Billing Alerts)"을 활성화합니다. 이걸 켜야 알람을 만들 수 있어요.
예산(Budgets) 또는 알람 생성
"Budgets"에서 월 한도(예: $5, $10)를 정하고, 그 금액에 다다르면 알려달라고 설정합니다. 내 이메일을 알림 대상으로 넣으세요.
알림 확인 메일 승인
알림 이메일 주소로 확인 메일이 오면 링크를 눌러 구독을 확정합니다. 이걸 놓치면 알람이 안 와요.
결제 알람은 자동차의 연료 경고등 같은 거예요. 기름이 다 떨어지기 전에 미리 불이 들어오니, 당황하지 않고 주유소를 찾을 수 있죠.
안전장치 3 — 프리 티어 사용량을 주기적으로 본다
결제 대시보드에는 "프리 티어를 얼마나 썼는지" 보여주는 화면이 있습니다. 일주일에 한 번쯤 들여다보며 "아직 여유가 있구나" 확인하는 것만으로도 마음이 놓여요. 그리고 루트 계정에는 반드시 2단계 인증(MFA)을 걸어두세요. 누가 내 계정을 몰래 써서 비싼 서버를 켜는 사고를 막아줍니다.
전체 배포 순서 — 한눈에 보는 흐름도
이제 지도를 펼칠 시간입니다. 앱 하나가 세상에 나오기까지, 우리가 거칠 큰 흐름은 이렇습니다. 왼쪽에서 오른쪽으로, 순서대로요.
서버(땅) 준비
문지기 배치
창고 연결
자물쇠(https)
간판(도메인)
땅을 사서 가게를 열고(EC2), 손님이 몰릴 것에 대비해 문지기를 세우고(ALB), 자료를 안전하게 보관할 창고를 붙이고(RDS), 손님이 안심하도록 문에 자물쇠를 달고(ACM), 마지막으로 예쁜 간판을 겁니다(Route 53). 순서에는 이유가 있어요 — 앞 단계가 있어야 뒷 단계가 의미가 있기 때문입니다. 땅도 없이 간판부터 걸 수는 없으니까요.
이 순서대로 했습니다 — 5편 미리보기
아래 순서대로 하나씩 글을 올립니다. 처음이라면 위에서부터 차례대로 따라오시면 돼요.
- 1편. EC2 서버 만들기 — 내 앱이 처음 인터넷에 떠오른 순간
- 2편. 로드밸런서(ALB) 구축하기 — 트래픽을 나눠주는 문지기
- 3편. 데이터베이스(RDS) 만들기 — 데이터를 안전하게 맡기다
- 4편. SSL 인증서 발급받기(ACM) — 자물쇠(https) 다는 법
- 5편. Route 53 도메인 신청하기 — 내 주소를 갖다
각 편이 무엇을 해결하고, 왜 필요하며, 대략 어느 정도 난이도인지 비교표로 정리했습니다. 지금은 "아, 이런 걸 이런 순서로 하는구나" 정도만 눈에 담아두세요. 세부는 각 편에서 손잡고 갑니다.
| 편 | 핵심 주제 | 해결하는 문제 | 체감 난이도 |
|---|---|---|---|
| 1편 | EC2 서버 만들기 | 앱을 올려둘 24시간 켜진 공간이 없다 | ★★☆ 첫 산이라 낯섦 |
| 2편 | ALB 로드밸런서 | 손님이 몰리면 한 서버가 버거워한다 | ★★☆ 개념만 잡으면 수월 |
| 3편 | RDS 데이터베이스 | 회원·기록을 안전하게 보관할 곳이 없다 | ★★★ 연결 설정이 조금 까다로움 |
| 4편 | ACM SSL 인증서 | 주소창에 "안전하지 않음" 경고가 뜬다 | ★☆☆ 발급 자체는 의외로 쉬움 |
| 5편 | Route 53 도메인 | 손님이 외우기 힘든 숫자 주소뿐이다 | ★★☆ 도메인 구매·연결이 관건 |
보시면 알겠지만, 하나하나 떼어놓으면 그렇게 무서운 것도 아니에요. "가게에 문지기 한 명 세우기", "창고 하나 붙이기"처럼, 작은 할 일 다섯 개일 뿐입니다.
자주 묻는 질문 (FAQ)
제가 이 시리즈를 준비하며, 그리고 실제로 강의하며 가장 많이 받은 질문들을 모았어요.
Q. 예산이 정말 크레딧 안에서 끝나나요? 얼마나 들까요?
A. 이 시리즈의 연습 수준은 대부분 크레딧 범위 안에서 소화됩니다. 다만 크레딧이 떨어지거나 6개월이 지나면 실제 과금이 시작돼요. 그래서 앞서 말한 안 쓰는 자원 끄기 + 결제 알람 두 가지를 꼭 세팅하세요. 정확한 최신 금액은 결제 전 AWS 공식 요금 페이지에서 확인하시고요.
Q. 화면이 전부 영어예요. 영어를 못 하는데 괜찮을까요?
A. 괜찮습니다. AWS 콘솔은 오른쪽 위에서 한국어로 언어 전환이 가능하고(일부 화면은 영어로 남아있기도 해요), 이 시리즈가 "어느 버튼을 누르는지"를 그대로 짚어드립니다. 저도 영어로 밥벌이하는 사람이 아닙니다. 몇 개 핵심 단어(Launch=실행, Instance=서버 한 대, Delete/Terminate=삭제)만 익히면 충분해요.
Q. 따라 하다 막히면 어떡하죠?
A. 100% 막힙니다. 저도 매 편마다 막혔어요. 그럴 때 방법은 세 가지예요. ① 에러 메시지를 그대로 복사해 검색하면 대개 한글 답이 나옵니다(AWS를 쓰는 이유!). ② 서버가 꼬였으면 미련 갖지 말고 지우고 처음부터 다시 만드세요 — 클라우드의 최대 장점이 "몇 분 만에 새로 만들기"입니다. ③ 그래도 안 되면 AI에게 에러를 그대로 붙여넣고 물어보세요.
Q. 코딩을 정말 하나도 몰라도 되나요?
A. 이 시리즈는 "직접 코드를 짜는" 것보다 "AWS 화면에서 클릭으로 설정하는" 비중이 훨씬 큽니다. 명령어를 몇 줄 복사·붙여넣기 할 일은 있지만, 그게 무슨 뜻인지는 그때그때 풀어드릴게요. 겁먹지 마세요.
Q. 실수로 뭘 잘못 눌렀다가 큰일 나면요?
A. 대부분의 실수는 되돌릴 수 있고, 정말 위험한 작업(삭제 등)은 AWS가 한 번 더 물어봅니다. 그리고 우리는 연습 계정이잖아요. 최악의 경우 다 지우고 다시 시작하면 됩니다. "실패해도 방만 빼면 되는" 게 클라우드의 매력이에요.
초보가 흔히 하는 실수 & 해결법
제가 직접 겪었거나, 주변에서 자주 본 실수들입니다. 미리 알면 피할 수 있어요.
- 실수 1 — 서버를 켜두고 잊어버림. 가장 흔한 요금 사고의 원인. 해결: 연습 후 반드시 중지/삭제, 그리고 결제 알람을 걸어 이중으로 대비하세요.
- 실수 2 — 루트 계정을 아무 데나 씀. 루트는 '금고 열쇠'라 평소엔 잘 안 씁니다. 해결: 루트엔 2단계 인증(MFA)을 걸고, 일상 작업은 권한을 나눈 별도 사용자로 하는 걸 권장해요(익숙해지면).
- 실수 3 — 리전(지역)을 아무거나 고름. 서울이 아닌 미국 리전에 만들어놓고 "왜 느리지?" 하는 경우. 해결: 콘솔 우측 상단에서 서울(ap-northeast-2) 리전을 고정해두세요. 손님이 한국에 있다면 서버도 한국에 있어야 빠릅니다.
- 실수 4 — 보안 그룹(방화벽)을 활짝 열어둠. "안 되니까 일단 다 열자"는 위험합니다. 해결: 필요한 문(포트)만 여세요. 각 편에서 어느 문을 왜 여는지 설명합니다.
- 실수 5 — 비밀번호·키를 아무 데나 저장. 서버 접속 키(.pem 파일)를 잃어버리면 다시 못 들어갑니다. 해결: 발급받은 키 파일은 안전한 곳에 백업하고, 절대 공개 저장소(깃허브 등)에 올리지 마세요.
시작 전 체크리스트
본격적으로 1편으로 넘어가기 전에, 아래를 스스로 점검해보세요. 여기에 다 ✅가 찍히면 준비 끝입니다.
- ✅ AWS 계정을 만들고 콘솔에 로그인할 수 있나요?
- ✅ 결제 수단(카드)을 등록했나요?
- ✅ 결제 알람(예: $5) 또는 예산(Budgets)을 설정했나요?
- ✅ 루트 계정에 2단계 인증(MFA)을 걸었나요?
- ✅ 콘솔 리전을 서울(ap-northeast-2)로 맞췄나요?
- ✅ "연습이 끝나면 자원을 끈다"는 습관을 마음에 새겼나요?
- ✅ 크레딧·프리 티어 조건을 공식 페이지에서 최신으로 확인했나요?
- ✅ "막히는 건 정상이고, 지우고 다시 만들면 된다"는 마음가짐이 되었나요?
마무리 — 지도를 손에 쥐었으니, 이제 걷기만 하면 됩니다
여기까지 오셨다면, 여러분은 이미 배포의 큰 그림을 손에 넣은 거예요. 배포가 뭔지, 왜 내 노트북으론 안 되는지, 가게 비유로 EC2·ALB·RDS·ACM·Route 53이 각각 무슨 역할인지, 그리고 돈이 새지 않게 하는 안전장치까지. 이 지도 한 장이면 다음 다섯 편에서 길을 잃지 않습니다.
개발자만 하던 일이라고 생각했던 배포를, 코딩 몰라도 끝까지 해냈습니다. 처음엔 저도 콘솔 화면만 봐도 손이 떨렸지만, 하나씩 클릭해보니 "아, 이게 그렇게 어려운 게 아니었네" 싶더군요. 여러분도 분명히 그렇게 될 거예요. 같이 가보시죠. 다음은 1편, EC2 서버 만들기입니다.
완벽하게 이해하고 시작하려 하지 마세요. 일단 땅부터 사고, 가게 문을 열어보는 겁니다. 나머지는 손님이 늘면 하나씩 붙이면 돼요.
(2026년 8월 기준 작성. AWS 크레딧·프리 티어·요금 정책은 변동될 수 있으니, 실제 진행 전 반드시 AWS 공식 페이지에서 최신 조건을 확인하세요.)
← 기술 블로그 목록으로