Deployment/AWS

EC2를 활용한 SpringBoot 프로젝트 배포[1]

연향동큰손 2025. 3. 5. 16:31

 

프로젝트를 배포할때 흔히 사용하는게 바로 AWS의 EC2이다.

 

그렇다면 EC2는 무엇일까?

 

만약 내 컴퓨터로 서버를 배포하여 모든 사람들이 사용할 수 있도록 하려면 내 컴퓨터를 24시간 동안 켜놔야 할것이다.

또한 인터넷을 통해 내 컴퓨터에 접근할 수 있게 해야하므로 보안적으로도 문제가 될수있다.

 

하지만 이러한 단점을 AWS EC2를 이용하여 극복할 수 있다.

 

🎯 EC2는 컴퓨터를 빌려서 원격으로 접속해 사용하는 서비스이다.

 

즉 EC2를 사용한다는 것은 하나의 컴퓨터를 빌려 사용한다는 것과 같고, EC2를 이용해 배포를 한다는 것은 빌린 컴퓨터를 이용해 서버를 배포한다는 것과 같다!

 

이렇게 되면 내 컴퓨터를 24시간 켜놔야 할일도 없고,  AWS  EC2에서 제공하는 여러 부가기능(로깅,오토케일링,로드밸런싱 등)을 사용할 수 있다는 장점을 가지고 있다.

 

EC2 인스턴스 생성부터 차근차근 배포 과정에 대해서 알아보자..

 


 

EC2 인스턴스 생성하기

 

 

1. 리전( Region )선택

 

리전이란 인프라를 지리적으로 나누어 배포한 각각의 데이터 센터를 의미한다.

 

위에서 EC2는 컴퓨터를 빌려서 원격으로 접속해 사용하는 서비스라고 설명했는데,

 

이 컴퓨터들이 전 세계적으로 다양하게 분포해있다. 

 

우리는 빌려쓸 컴퓨터가 위치해 있는 지역을 리전을 통해 선택할 수 있다.

 

그렇다면 어떤 리전을 선택해야 할까?

리전을 선택할때는 내가 배포할 서비스가 주로 사용될 위치로 하는것이 좋다!

 

즉 내가 한국에서 배포를 하여 미국 사람들을 대상으로 서비스를 제공해야한다면

 

리전을 서울로 설정하는 것 보다는 미국으로 설정하는 것이 좋다는 말과 동일하다.

 


 

2. EC2 인스턴스 생성

 

 

 

인스턴스의 이름을 설정해주고,

 

OS를 선택해줘야 하는데 이때는 window나 macOS와 같이 사용자 친화적인 OS보다는 

 

Ubuntu와 같이 다른 OS보다 가벼워 배포에 유리한 OS를 선택해주는 것이 좋다.

 

때문에 OS는 Ubuntu로 설정!

 


 

 

인스턴스 유형은 EC2에서 내가 빌려쓸 컴퓨터의 사양을 의미한다.

 

좋은 인스턴스 유형을 선택하면 더 많은 수의 요청을 처리할 수 있고, 무거운 서버나 프로그램을 돌릴 수 있다.

 

하지만 이번 배포는 학습용으로 가벼운 프로그램을 배포하므로 t2.micro(프리티어) 선택! 

 

 


 

 

이제 키페어를 생성해줘야한다.

 

키 페어(Key Pair)란 EC2 컴퓨터에 접근할 때 사용하는 비밀번호라고 생각하면 된다.

 

 

키 페어 이름은 어떤 EC2에 접근하기 위한 키 페어였는 지 알아볼 수 있게 지정하고

 

나머지 설정은 기본값으로 두면 된다!

 


 

이제 네트워크 설정을 통해 보안그룹을 생성해줘야 한다.

 

보안 그룹이란 AWS 클라우드에서의 네트워크 보안을 의미한다.

 

EC2 인스턴스는 보안 그룹이라는 울타리안에 있기 때문에 모든 요청은 보안그룹을 거쳐서 들어오거나 나간다.

 

  • 외부에서 EC2인스턴스로 보내는 트래픽 : 인바운드 트래픽
  • EC2 인스턴스에서 외부로 나가는 트래픽 : 아웃바운드 트래픽

 

우리는 보안그룹을 통해 규칙을 생성하여 인바운드 트래픽에서 어떤 트래픽만 허용할 것인지,

 

아웃바운드 트래픽에서 어떤 트래픽만 허용할 지 설정할 수 있다.

 

 

 

 

네트워크 설정의 우측 상단의 "편집" 버튼을 누르면 아래와 같은 화면이 나온다.

 

 

 

 

 

우리는 스프링부트 웹 프로젝트를 배포할 예정이므로  "보안 그룹 규칙 추가" 버튼을 눌러서 

 

유형 : HTTP

소스 유형 : 위치 무관

 

이렇게 설정해주면 된다.


 

스토리지란 EC2 안에 부착되어 있는 파일들이 저장될 일종의 하드디스크라고 생각하면 편하다.

 

 

30GB까지는 프리티어 이므로 30GB로 설정!

 

여기까지 했다면 인스턴스를 생성해주면 된다.

 


🎯 탄력적 IP 연결하기

 

 

이렇게 생성된 인스턴스를 잠깐 중지시켰다가 다시 실행하면 IP가 바뀌어 있는것을 확인 가능하다.

 

EC2인스턴스를 중지했다 다시 켤때마다 IP가 바뀌면 굉장히 불편하기 때문에

 

고정 IP를 할당받아야한다.

 

 

 

사이드바의 탄력적 IP를 클릭!

 

 

우측 상단의 탄력적 IP 주소 할당 클릭!

 

할당 버튼 클릭!

 

이렇게 탄력적 IP주소를 할당 받으면 EC2 인스턴스를 중지시켰다가 다시 실행해도 IP 주소가 바뀌지 않는다.

 

이렇게 하면 EC2 인스턴스에 대한 기본 설정이 끝난다.

 

 

다음 과정은 아래 글을 확인하면 된다

https://developerwoohyeon.tistory.com/219

 

EC2를 활용한 SpringBoot 프로젝트 배포[2]

https://developerwoohyeon.tistory.com/218 EC2를 활용한 SpringBoot 프로젝트 배포[1]프로젝트를 배포할때 흔히 사용하는게 바로 AWS의 EC2이다. 그렇다면 EC2는 무엇일까? 만약 내 컴퓨터로 서버를 배포하여 모

developerwoohyeon.tistory.com