AWS를 배우기 전에 제일 먼저 붙잡아야 하는 게 뭘까?
처음엔 나도 AWS라고 하면 서비스가 너무 많아서, EC2 / S3 / RDS 같은 이름부터 외우는 게 시작인 줄 알았다.
“AWS 기능 나열”이 아니라, 실제로 서버를 배포해보는 경험부터 시작한다.
그리고 그 첫 실습 대상으로 EC2를 집어든다.
말 그대로 출발점은 이거다.
“백엔드 API 서버를 인터넷에 올려서, 다른 사람이 접속할 수 있게 만드는 경험”
“이제 배포하자”라는 말, 정확히 뭘 하자는 거지?
프로젝트 하다 보면 이런 말 진짜 많이 한다.
- 기능 구현 끝났고
- 테스트도 끝났고
- 이제 마지막으로 남은 게…
“배포하자”
근데 생각해보면 애매하다.
배포하자는 게 도대체 뭘 하자는 거야?
서버 파일을 업로드하자는 건지, 실행하자는 건지, 도메인을 붙이자는 건지…
말은 익숙한데 정의가 흐릿한 상태였다.
배포의 정의: “다른 사람이 인터넷으로 사용할 수 있게 만드는 것”
배포는 굉장히 단순하고 명확하다.
배포란, 다른 사용자들이 인터넷을 통해 사용할 수 있게 만드는 것
여기서 중요한 포인트는 “무슨 기술을 쓰냐”가 아니다.
- 내가 만든 게 웹페이지든
- API 서버든
- 어떤 프레임워크로 만들었든
나 혼자 쓰는 상태를 끝내고,
다른 사람이 인터넷을 통해 접근해서 사용할 수 있는 상태로 만드는 것
이게 되면 “배포됐다”라고 말할 수 있다는 거다.
로컬 개발의 한계: localhost는 ‘나만’ 접속 가능하다
개발할 때 우리는 보통 이런 식으로 확인한다.
- 내 컴퓨터에서 서버 띄우고
- 브라우저에서 접속해서 테스트하고
- 주소는 보통 localhost
근데 여기서 문제가 딱 하나 있다.
localhost는 내 컴퓨터 안에서만 통하는 주소다.
즉,
- 내 컴퓨터에서는 서버가 잘 떠 있고
- 내 브라우저에서는 잘 보이고
- 내가 눌러보면 잘 동작하는데
다른 사람 컴퓨터에서는 접속이 아예 안 된다.
결론은 이거다.
로컬 개발 상태는 “혼자만 쓰는 상태”다.
이걸로는 서비스를 제공했다고 볼 수 없다.
배포를 하면 무엇이 달라지냐: “인터넷에서 식별 가능한 주소가 생긴다”
배포를 한다는 건 결국 “인터넷에 올린다”는 말이고,
그 상태가 되면 서비스는 인터넷에서 식별 가능한 주소를 갖게 된다.
대표적으로
- IP 주소
- 도메인
이런 것들.
이 주소가 생기면 뭐가 달라지냐면,
- 다른 컴퓨터에서도
- 다른 사용자도
- 다른 네트워크 환경에서도
그 주소로 접속할 수 있다.
그 상태가 바로,
“인터넷에 배포됐다”라고 부를 수 있는 기준
개발 흐름에서 배포의 위치: “만들었으면, 다음은 항상 배포다”
강의가 말하는 흐름은 되게 현실적이다.
- 기능적으로 서비스를 완성한다
- 그다음 단계로 반드시 해야 하는 게 배포다
Spring Boot든, Express든, NestJS든 상관없다.
서버를 만들었다고 끝난 게 아니라, 그 서버를 다른 사람이 쓸 수 있게 만드는 단계가 남아 있다
그게 바로 배포다.
핵심
localhost에서만 동작하는 서버는 서비스가 아니다.
다른 사람들이 인터넷으로 접근할 수 있게 만드는 것이 배포다.
- 배포 = 다른 사용자가 인터넷으로 사용할 수 있게 만드는 것
- localhost는 배포가 아님 (내 컴퓨터에서만 접근 가능)
- 배포하면 IP/도메인 같은 인터넷 주소가 생김
- 서비스 개발 흐름에서 “개발 다음 단계”는 항상 배포
- AWS 실습의 첫 주제가 EC2인 이유도 결국 “배포 경험” 때문
'Infra > AWS' 카테고리의 다른 글
| 맥에서 EC2 접속하기 (0) | 2026.01.28 |
|---|---|
| EC2 세팅 - 스토리지 (0) | 2026.01.28 |
| EC2 세팅 - 보안 그룹 (0) | 2026.01.28 |
| EC2 세팅 - 헷갈렸던 것들 정리 (0) | 2026.01.28 |
| EC2란? (0) | 2026.01.28 |