백엔드 개발을 하고나면 배포를 해야한다.
대표적인 서비스인 AWS(Amazon Web Server)를 사용하여 배포를 해보자.
EC2 설정 과정에서 리전, 인스턴스 유형, 키 페어, 보안 그룹 같은 것들이
자주 안하다 보니까 헷갈려서 나중에 다시 보려고 정리해둔다.
이 글은 AWS EC2 인스턴스를 생성하고 기본 세팅까지 진행한 실제 순서 기록이다.
✅ EC2(Elastic Compute Cloud)
💡 한 줄 요약 : 컴퓨터를 빌려서 원격으로 접속해 사용하는 서비스
EC2를 쉽게 얘기하면 하나의 컴퓨터를 의미한다.
서버를 배포하기 위해서는 컴퓨터가 필요하다. 내가 가진 컴퓨터에서 서버를 배포해 다른 사용자들이 인터넷을 통해 접근할 수 있게 만들 수도 있다. 하지만 내 컴퓨터로 서버를 배포하면 24시간 동안 컴퓨터를 켜놔야 한다. 그리고 인터넷을 통해 내 컴퓨터에 접근할 수 있게 만들다보니 보안적으로도 위험할 수도 있다.
이러한 불편함 때문에 내가 가지고 있는 컴퓨터를 사용하지 않고, AWS EC2라는 컴퓨터를 빌려서 사용하는 것이다.
현업에서도 실제 서버를 배포할 때 AWS EC2를 아주 많이 사용한다. 백엔드 서버를 배포해야 할 때면 EC2에 서버를 배포해서 사용한다.
✅ 리전(Region)
리전(Region)이란 인프라를 지리적으로 나누어 배포한 각각의 데이터 센터를 의미한다.

EC2를 통해 빌려서 쓸 수 있는 컴퓨터들이 전 세계적으로 다양하게 분포해있다. 이렇게 컴퓨터들이 위치한 위치를 보고 AWS에서는 리전(Region)이라고 한다.
1. 리전(Region)의 특징
각 Region은 고유의 이름을 가지고 있다.
ex) us-east-1 , ap-northeast-2

2. 리전(Region)을 선택하는 기준
사람들이 애플리케이션을 사용할 때는 네트워크를 통해 통신하게 된다. 이 때, 사용자의 위치와 애플리케이션을 실행시키고 있는 컴퓨터와 위치가 멀면 멀수록 속도가 느려진다. 따라서 애플리케이션의 주된 사용자들의 위치와 지리적으로 가까운 리전(Region)을 선택하는 것이 유리하다.
예를 들어, 한국 유저들이 주로 사용하는 서비스를 만들거라면 리전(Region)을 아시아 태평양(서울)로 선택하면 된다.
리전(Region)마다 EC2가 따로따로 관리가 되고 있으니 이 점 유의하자.
✅ EC2 세팅하기 - 인스턴스 생성

1. 이름 및 태그

EC2의 이름을 설정하는 곳이다. 이름을 지을 때는 이 컴퓨터가 어떤 역할을 하는 지 알아볼 수 있게 작성한다.
보통 서비스명-server 이렇게 작성한다.
ex) instagram-server
2. Application and OS Images (Amazon Machine Image)
Ubuntu 24.04 LTS 선택

OS를 선택하는 단계이다. Windows나 Mac OS는 생각보다 용량도 많이 차지하고 성능도 많이 잡아먹는다. 그래서 서버를 배포할 컴퓨터의 OS는 훨씬 가벼운 Ubuntu를 많이 사용한다.
3. 인스턴스 유형
우선 인스턴스라는 뜻부터 정리하고 가자. 인스턴스란, AWS EC2에서 빌리는 컴퓨터 1대를 의미한다.
그럼 인스턴스 유형은 무슨 뜻일까? 컴퓨터 사양을 의미한다. 컴퓨터 사양이 좋으면 좋을수록 많은 수의 요청을 처리할 수 있고, 무거운 서버나 프로그램을 돌릴 수 있다.

프리 티어에 해당하는 t3.micro를 사용할 것이다.
4. 키 페어(로그인)
키 페어(Key Pair)는 무슨 뜻일까?
EC2 컴퓨터에 접근할 때 사용하는 비밀번호라고 생각하면 된다. 말 그대로 열쇠(Key, 키)의 역할을 한다.

키 페어 이름 : instagram-server-key-pair

- 키 페어 이름은 어떤 EC2에 접근하기 위한 키 페어였는 지 알아볼 수 있게 지정하면 좋다.
- RSA와 .pem을 선택한 후에 키 페어를 생성하면 된다. ED25519가 뭔지, .ppk가 뭔지는 몰라도 된다. 중요하지 않다.
- 키 페어를 생성하면 파일이 하나 다운받아질텐데, 그 파일은 잃어버리면 안 되니 잘 보관해놔야 한다.
- 참고) 아래에서는 키 페어를 활용해서 EC2에 접근하지 않고, 더 편한 방법으로 접근할 예정이다.
5. 네트워크 설정


외부에서 EC2로 접근할 포트는 22번 포트와 80번 포트라고 생각해서 이 2가지에 대해 인바운드 보안 그룹 규칙을 추가했다. 왜냐하면 22번 포트는 우리가 EC2에 원격 접속할 때 사용하는 포트이고, 80번 포트에는 백엔드 서버를 띄울 예정이기 때문이다. 그리고 어떤 IP에서든 전부 접근할 수 있게 만들기 위해 소스 유형은 위치 무관으로 설정했다.
네트워크 설정 칸을 보면 VPC와 Security Groups(보안 그룹)가 보인다. 여기서 VPC라는 개념은 AWS를 입문하는 입장에서는 크게 중요하지 않으니 넘어가자. 나중에 AWS에 어느 정도 익숙해졌을 때 VPC를 학습하도록 하자. VPC를 몰라도 서버를 배포하는 데 아무 문제가 없다.
하지만 Security Groups(보안 그룹)은 서버를 배포할 때 중요한 개념이므로 자세히 알아보자.
[보안 그룹]
보안 그룹(Security Group)이란 AWS 클라우드에서의 네트워크 보안을 의미한다.

EC2 인스턴스를 집이라고 생각한다면, 보안 그룹은 집 바깥 쪽에 쳐져있는 울타리와 대문이라고 생각하면 된다. 집에 접근할 때 울타리의 대문에서 접근해도 되는 요청인지 보안 요원이 검사를 하는 것과 비슷하다.
인터넷에서 일부 사용자가 EC2 인스턴스에 접근(액세스)하려고 한다고 가정해보자. 위 그림과 같이 EC2 인스턴스 주위에 방화벽 역할을 할 보안 그룹(Security Group)을 만들고 보안 그룹에 규칙을 지정한다. 이 보안 규칙에는 인바운드 트래픽(즉, 외부에서 EC2 인스턴스로 보내는 트래픽)에서 어떤 트래픽만 허용할 지 설정할 수 있고, 아웃바운드 트래픽(즉, EC2 인스턴스에서 외부로 나가는 트래픽)에서 어떤 트래픽만 허용할 지 설정할 수 있다.
보안 그룹을 설정할 때는 허용할 IP 범위와 포트(port)를 설정할 수 있다.
6. 스토리지(볼륨)
우리가 쓰고 있는 노트북이나 데스크톱 컴퓨터는 전부 하드디스크를 가지고 있다. 하드디스크는 컴퓨터에서 파일을 저장하는 공간이다. EC2도 하나의 컴퓨터이다보니 여러 파일들을 저장할 저장 공간이 필요하다. 이 저장 공간을 보고 EBS(Elastic Block Storage)라고 부른다. 즉, EBS란 EC2 안에 부착되어 있는 일종의 하드디스크라고 생각하면 된다. EBS와 같은 저장 공간을 조금 더 포괄적인 용어로 스토리지(Storage), 볼륨(Volume)이라고 부른다.

스토리지의 종류를 보면 gp3 이외에도 여러가지 종류의 스토리지가 있다. 하지만 가성비가 좋은 gp3를 선택해주자. 용량을 30GiB를 설정한 이유는 프리 티어에서 30GiB까지 무료로 제공해주기 때문이다. 이 스토리지의 크기는 추후에 늘릴 수도 있으므로 처음 설정할 때 너무 큰 고민을 할 필요는 없다.
7. 실행 확인

좌측 메뉴에서 인스턴스 들어가보면 생성한 인스턴스가 실행되고 있는것을 볼 수 있다.
'웹 개발 > AWS(Amazon Web Server)' 카테고리의 다른 글
| [AWS] Route53으로 도메인 사서 EC2에 연결 방법 기록 (DNS 설정하면서 헷갈렸던 것들) (1) | 2025.11.14 |
|---|---|
| [AWS] Spring Boot 서버를 EC2에 배포하기 (0) | 2025.11.11 |
| [AWS] EC2 인스턴스 탄력적 IP(Elastic IP) 설정 (0) | 2025.11.11 |
| [AWS] EC2 인스턴스 정보 확인 및 SSH 접속 (0) | 2025.11.11 |