들어가기 앞서 . . .
클라우드 환경에서 내 서비스를 배포하고 싶을 때 가장 많이 쓰는게 AWS EC2 인스턴스이다.
저번 포스팅에서 EC2 기초 지식을 공부했으니 이번엔 EC2를 처음 써보는 사람도 쉽게 따라올 수 있도록 기본적인 세팅 과정을 설정해보자.
AWS EC2 기본 세팅 설정하기
EC2 서비스 검색

AWS 콘솔레 로그인한 뒤, 상단 검색창에 EC2라고 검색한다.
검색 결과에서 EC2를 클릭하면 가상 서버를 만들 수 있는 대시보드로 이동한다.

왼쪽 상단 또는 우측 상단에 현재 선택된 리전을 확인하고, 서비스 사용자들이 많은 지역이나 비용/지연시간을 고려해서 설정하도록하자.
리전에 대한 설명은 전 포스팅에서 확인할 수 있다.
EC2 서비스 검색
이제 본격적으로 가상 서버(EC2 인스턴스)를 만들어보자.

EC2 대시보드에서 가상 서버 시작을 확인하면 인스턴스 시작 버튼이 있으니 클릭하고 새 인스턴스를 구성하는 화면으로 넘어가자.
이름 및 태그는 EC2 인스턴스끼리 구별할 수 있는 이름인데 보통은 ‘서비스이름-server’로 많이 짓는다.
애플리케이션 및 OS 이미지

어떤 OS를 가진 컴퓨터를 살 건지 선택하는 창이다.
운영체제는 Ubuntu를 선택하는 것이 일반적이므로 Ubuntu를 선택하자.
왜 Ubuntu를 선택해야할까?
우리는 실제로 Windows나 MacOs를 많이 사용한다. 하지만 왜 배포를 할 때 Ubuntu를 사용해야할까?
Windows나 MacOs는 실제 사용자들의 편리성을 위해 다양한 기능들을 포함하고있다. 이러한 점은 실제로 OS를 사용할 땐 좋지만 오로지 배포를 위한 OS로 선택하기엔 용량도 많이 차지하고 성능도 많이 잡아먹기 때문에 성능이 떨어진다는 단점으로 작용한다.
그렇기 때문에 최대한 서버를 배포할 때 필요한 기능만 들어가있는 Ubuntu가 유리하다.

버전은 아무거나 사용해도 된다.(뭐든 가장 최근에 올라온 버전이 좋으니 최신 버전을 선택하자.)
키 페어

키 페어는 EC2에 접속하기 위해 필요한 SSH 인증 수단이다. 쉽게 EC2에 접근하기 위한 비밀번호라고 생각하면 된다.
키 페어 이름은 최대한 직관적으로 설정하자.

키 페어 파일은 유출되는 순간 다른 사람들도 우리가 생성한 EC2에도 접근할 수 있으니 유출되지 않도록, 잃어버리지 않도록 주의하자.
네트워크 설정
기본 설정에서 건드려야될 건 따로 없다.
보안 그룹 설정만 해주자.

보안그룹은 EC2 인스턴스의 방화벽 설정이다.
HTTP 요청을 받을 수 있도록 80번 포트를 추가로 열어줘야한다.

인바운드 보안 그룹 규칙
기본으로 설정되어있는 인바운드 보안 그룹 외에 하나의 보안 그룹 규칙을 더 추가해주어햔다. 아래에 보안 그룹 규칙 추가를 누르자.

유형을 HTTP로 80번 포트번호를 설정해준다.
이는 80번 포트로 들어오는 HTTP 요청에 대해서는 EC2접근을 허용한다는 것을 의미한다.
백엔드서버는 보통 80번 포트에 띄운다. 서버에 요청이 들어와야 응답을 할 수 있기때문에 80번 포트를 추가해주자.
불측정다수의 사용자가 접근하기때문에 소스 유형은 위치 무관으로 바꾸어주자.
스토리지
EC2도 하나의 컴퓨터다보니 여러 파일들을 저장할 저장 공간이 필요하다. 이 저장공간을 EBS(Elastic Block Storage)라고 한다.
간단하게 EBS(Elastic Block Storage)는 EC2의 하드디스크라고 생각하자.

기본 설정으로도 충분하지만, 용량이 많이 필요한 경우 늘릴 수 있다.
일반적으로는 프리티어인 gp3 정도면 충분하다.
모든 설정이 끝났으니 인스턴스를 시작해주자.

대시보드 → 인스턴스 실행중으로 가보자

EC2 인스턴스가 잘 생성된 것을 확인할 수 있다.
좀 더 자세하게 EC2 인스턴스를 살펴보자
인스턴스 ID를 들어가게되면 EC2의 상세정보를 확인할 수 있다.

여기서 퍼블릭 IPv4 주소가 우리가 새로 빌려온 컴퓨터의 IP이다. 외부에서 접속할 수 있는 하나의 주소이기도하다.
여기서 인스턴스 상태를 봐보자.

- 인스턴스 중지: 컴퓨터를 끈다
- 인스턴스 재부팅: 컴퓨터를 재시작한다
- 인스턴스 종료(삭제): 컴퓨터 삭제
우리는 컴퓨터를 종료한다고 말하지만 EC2 인스턴스에서의 종료는 삭제를 의미하므로 이 점을 유의하도록하자.
모니터링
내 컴퓨터의 성능의 지표를 볼 수 있다. 실제 서버를 운영할 때 자주 보게 되는 창이다. 지금은 이런 기능이 있구나하고 일단 넘어가자!

인스턴스 시작 및 접속하기
인스턴스가 성공적으로 생성된 것을 확인했으니 이제 인스턴스에 연결을 해보자.

연결을 눌러보자.

ubuntu 운영체제 기반으로 깔려있는 컴퓨터에 원격 접속한 것을 확인할 수 있다.
탄력적 IP 연결하기
EC2 인스턴스를 재시작할 경우 IP 주소가 바뀌는 문제가 발생한다. 이를 방지하기 위해 탄력적 IP(Elastic IP)를 할당해 고정 IP를 할당하자.
할당하기 전에, 진짜 인스턴스를 재실행 할 경우 IP가 변경되는지 확인해보자.

중지했더니 IP주소가 뜨지않는다. 이제 다시 실행해보자

IP가 처음과 다르게 바뀐 것을 확인할 수 있다.

이제 EC2 인스턴스를 중지했다가 실행해도 IP가 변하지않도록 탄력적 IP를 할당해보자.

좌측 메뉴 > 네트워크 및 보안 > 탄력적 IP로 들어간다.

탄력적 IP 주소 할당을 눌러준다.

따로 설정할 건 없으므로 할당을 눌러주자!

탄력적 IP 주소 연결을 통해서 아까 생성했던 EC2 인스턴스를 연결해준다.
EC2 인스턴스의 IP가 변경되었는지 인스턴스를 통해 확인해보자.

할당된 IPv4주소가 탄력적 IP로 변경된 것을 확인할 수 있다.
인스턴스를 실행하고 중시하고 다시 실행해보자!



IP가 바뀌지않는다!
번외로 인스턴스 중지를 누르면 가끔 이런 오류가 발생하는데 1분정도 기다리고 다시 페이지를 새로고침 하면 고쳐진다.

마무리하며
이번에 EC2 세팅을 하면서 단순히 서버를 만드는 걸 넘어서 서버가 어떻게 돌아가는지 흐름을 따라가볼 수 있었다.
Ubuntu를 왜 쓰는지, 보안 그룹은 왜 열어야 하는지, 탄력적 IP는 왜 필요한지 그냥 넘어갔던 것들 하나하나 직접 만져보면서 이해가 됐다.
사실 배포라는 말이 처음엔 뭔가 되게 딥하고 어려운 느낌이라 좀 무서웠다. 괜히 손댔다가 터지는 거 아닌가 싶고, 근데 하나하나 따라가면서 해보니까 생각보다 흐름이 보였고, 중간중간 막히긴 했지만 그걸 또 해결하면서 재밌기도 했다.
이제는 서버를 배포 한다는 말이 예전만큼 무섭지 않고, 오히려 조금은 익숙해진 느낌이다.
다음 포스팅에서는 EC2 인스턴스로 Springboot 배포하는 방법을 다뤄보자!
'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.13 |