들어가기 앞서 . . .
백엔드 개발을 준비하면서 Java와 Spring은 익숙해졌지만, 실제로 만든 서버를 세상에 “배포”해본 경험은 없었다.
코드를 짜고, 테스트하고, 로컬에서 돌아가는 걸 보는 것까진 익숙했지만, 다른 사람들이 내 서비스를 인터넷에서 접속할 수 있도록 만드는 일은 늘 막연하고 어렵게만 느껴졌다.
그러던 중, 인프런의 ‘비전공자도 이해할 수 있는 AWS 입문/실전’ 강의를 접하게 되었고, 이참에 서버 개념부터 배포 과정까지 정리하며 제대로 배워보기로 결심했다. 이번 포스팅은 강의를 따라가며 배운 내용을 기반으로 작성되었고, 이후 진행할 프로젝트에도 적용해보기 위한 실습 겸 기록이기도 하다.
이 포스팅은 인프런 박재성 강사님의 '비전공자도 이해할 수 있는 AWS 입문/실전' 강의를 기반으로 작성되었습니다.
배포란?
배포(Deployment)
다른 사용자들이 인터넷을 통해서 사용할 수 있게 하는 것

자신의 컴퓨터에서 개발할 땐 localhost라는 주소로 개발하고 테스트를한다. 하지만 localhost는 이름 그대로 로컬에서만 접근이 가능하지 다른 컴퓨터에서 접근이 불가능하다.
배포를 하게 되면 IP(ex. 124. 16. 21) 혹은 도메인(www.naver.com)과 같은 고유의 주소를 부여받게 되고, 다른 컴퓨터에서 주소를 통해서 접속할 수 있다. 이게 바로 배포이다.
EC2(Elastic Compute Cloud)
EC2란?
EC2란 컴퓨터를 빌려서 원격으로 접속해 사용하는 서비스.
한 마디로 하나의 컴퓨터를 의미한다.
그렇다면 왜 EC2(Elastic Compute Cloud)를 배우고 사용해야할까?
서버를 배포하기 위해서는 컴퓨터가 필요하다.
내가 가진 개인 컴퓨터에서 서버를 배포해 다른 사용자들이 접근할 수 있게 만들 수 있다. 하지만 개인 컴퓨터로 서버를 배포하면 24시간 컴퓨터를 켜놔야한다는 불편함과 인터넷을 통해 개인 컴퓨터로 접근할 수 있게 만들다보니 보안적으로 위험하다.
이 외에도 AWS EC2는 부가적인 기능들을 많이 가지고있다.
- 로깅
- 오토스케일링
- 로드밸런싱 등
리전(Region)
리전(Region)이란?
리전이란 인프라를 지리적으로 나누어 배포한 각각의 데이터 센터를 의미한다.
EC2에 대입해서 생각해보자. EC2는 컴퓨터를 빌려서 원격으로 접속해 사용하는 서비스이다. 여기서 EC2는 빌려서 사용하기때문에 우리 눈에 보이지않을뿐이지 실제로 물리적인 컴퓨터가 존재할 것이다.
AWS는 그 컴퓨터들을 전세계적으로 다양하게 분포해두었는데 그 컴퓨터들이 위치한 위치를 AWS에서는 리전(Region)이라고 한다.
리전의 특징
- aws는 전 세계적으로 다양한 Region을 보유하고있다.
- Region은 고유의 이름을 가지고있다.
리전(Region)은 어떤 기준으로 선택할까?
사람들이 애플리케이션을 사용할 때는 네트워크를 통해 통신하게 된다.
이때 사용자의 위치와 애플리케이션을 실행시키고 있는 컴퓨터의 위치가 멀어질수록 속도가 느려지게 된다. (홈페이지 로드가 오래걸린다던지..)
따라서 무조건 나의 위치와 가까운 리전을 사용하는 것이 아닌, 애플리케이션의 주된 사용자들의 위치를 고려하여 지리적으로 가까운 리전(Region)을 선택하는 것이 유리하다.
(ex) 미국사람들을 위한 서비스를 한국에서 개발 → 리전을 서울로 선택하는 것이 아닌, 미국 동부(버지니아 북부) 리전등으로 선택
리전을 선택할 때 자주하는 실수 중 하나
아시아 태평양(서울) 리전에서 EC2를 설정해놓고, 실수로 미국 동부(버지니아 북부)리전에 들어가서 생성한 EC2가 없어졌다고 당황하는 경우가 있다.
리전(Region)마다 EC2가 따로 관리되고 있으니 이 점을 유의하자.
인스턴스(Instance)
인스턴스(Instance)란?
인스턴스란 EC2에서 빌리는 컴퓨터를 의미하는 “단위”이다.
EC2에서 빌린 컴퓨터가 한 대라면, 인스턴스 1개
EC2에서 빌린 컴퓨터가 두 대라면, 인스턴스 2개라고 생각하면 된다.
인스턴스 유형이란?
인스턴스 유형은, 컴퓨터 사양을 의미한다.
컴퓨터 사양이 좋으면 좋을수록 많은 사용자를 쉽게 처리할 수 있고, 무거운 프로그램을 돌릴 수 있다.
t2는 프리티어로 무료사용이 가능한데, 무료로 사용할 수 있으면 그만큼 성능이 안좋지 않을까? 라는 생각을 많이 한다.
t2.마이크로도 괜찮은 성능을 가지고 있기때문에, 컴퓨터 서비스를 운영하는 데 딱히 문제가 없는 경우가 많다. (성능에 직접적으로 문제가 생기면 바꿔라..)
키 페어(Key-Pair)
키 페어(Key-Pair)란?
EC2에 권한이 없는 사람이 접근하면 안된다.
키 페어는 EC2에 접근하기 위한 비밀번호라고 생각하면 된다.
키 페어 이름은 최대한 직관적으로 설정하자.
키 페어 파일은 유출되는 순간 다른 사람들도 우리가 생성한 EC2에도 접근할 수 있으니 유출되지 않도록, 잃어버리지 않도록 주의하자.
네트워크 설정
보안 그룹(Security Group)이란?
보안 그룹(Security Group)은 AWS 클라우드에서의 네트워크 보안을 의미한다.
의미로만 정의하니 이해가 가지 않는다. 예시를 보자

우리가 빌린 컴퓨터인 EC2 인스턴스를 ‘집’이라고 생각한다면, 보안 그룹은 그 집을 둘러싼 울타리와 대문이라고 생각하면 이해가 간다.
인터넷에서 일부 사용자가 EC2 인스턴스에 접근(액세스)하려고 한다. EC2 주위에 방화벽 역할을 하는 보안 그룹을 만들고 보안 그룹에 규칙을 지정한다.
보안 그룹의 규칙은 2가지가 존재한다
- 인바운드 트래픽(Inbound traffic): 외부에서 EC2 인스턴스로 보내는 트래픽
- 아웃바운드 트래픽(Outbound traffic): EC2 인스턴스에서 외부로 나가는 트래픽
보안 규칙으로 인바운드 트래픽과 아웃바운드 트래픽에서 어떤 트래픽만 허용할 지 설정할 수 있다.
인바운드 트래픽과 아웃바운드 트래픽의 허용 범위는 IP혹은 Port번호로 설정한다.
스토리지
키 페어(Key-Pair)란?
우리는 노트북이나 컴퓨터를 사용할 때 파일등을 하드디스크라는 저장 공간에 저장한다.
EC2도 하나의 컴퓨터다보니 여러 파일들을 저장할 저장 공간이 필요하다.
이 저장공간을 EBS(Elastic Block Storage)라고 한다.
간단하게 EBS(Elastic Block Storage)는 EC2의 하드디스크라고 생각하자.
마무리하며
서버 배포에 대해 막연한 두려움이 있었지만, 이번 강의를 들으면서 개념 하나하나가 차곡차곡 쌓여가는 느낌을 받을 수 있었다. EC2, 리전, 인스턴스, 보안 그룹, 키페어 등 처음에는 낯선 용어들이었지만, 하나하나 직접 실습해보며 “아, 이게 진짜 서버를 다룬다는 거구나” 라는 감각을 얻을 수 있었다.
이번 정리를 통해 단순히 이론만 외우는 것이 아니라, 실제 배포 환경에서 필요한 요소들이 어떤 구조로 연결되어 있는지를 눈으로 확인할 수 있었고, 앞으로 프로젝트를 운영하거나 협업할 때에도 더 자신감 있게 서버 관련 업무를 맡을 수 있을 것 같다!
'AWS' 카테고리의 다른 글
| [AWS] HTTPS 적용하기 (1) | 2025.06.07 |
|---|---|
| [AWS] ELB 배포한 Spring Boot 서버와 연결하기 (0) | 2025.06.06 |
| [AWS] ELB 셋팅하기 (0) | 2025.06.06 |
| [AWS]ELB와 SSL/TLS & HTTPS 기초지식 (0) | 2025.02.26 |
| [AWS]AWS EC2 설정하기 (0) | 2025.02.14 |