개요

스크린샷 2023-08-30 오전 8.37.28.png

이전 글Github Actions로 CI 구성하기 with Spring Boot 을 작성하면서, CI를 구성해보았다. CD에 앞서서, Spring Boot 서버로서 기능하는 인스턴스를 구성해야한다.

현재 진행하고 있는 반려동물 SNS 프로젝트는 국제화를 구현한 상태이다. 이에 따라 늘어날 수 있는 사용자들에 대해서 유연하게 스케일링 할 수 있는 클라우드 환경의 인스턴스를 이용하고자 하였고, AWS의 EC2를 이용하기로 결정했다.


EC2 - 서버 인스턴스

Untitled

Elastic Compute Cloud(EC2)는 AWS 클라우드에서 on-demand인 확장 가능한 컴퓨팅 용량을 제공한다(스케일링이 가능하다는 말). EC2를 사용하면 하드웨어 비용이 절감되므로 애플리케이션을 더욱 빠르게 개발하고 배포할 수 있다.

EC2를 사용하여 원하는 수의 가상 서버를 구축하고 보안 및 네트워킹을 구성하며 스토리지를 관리할 수 있다.

용량을 추가(스케일 업)하여 월간 또는 연간 프로세스 또는 웹 사이트 트래픽 급증 등 컴퓨팅 사용량이 많은 작업을 처리할 수 있다. 사용량이 감소하면 용량을 다시 축소(스케일 다운)할 수 있다.

-AWS 공식 문서

EC2는 AWS에서 제공하는 VM(Virtual Machine)이고, 호스팅을 제공받는 인스턴스다.

우리는 EC2를 간편하게 구성하고, 클라우드 컴퓨터인 EC2에 서버 프로그램을 동작시키고, 서버로서 기능하게끔 할 수 있다.

이 글에서는 EC2를 Spring Boot 이용한 서버로서 기능하게끔 구성하는 방법을 다루므로, 인스턴스 생성과 같은 자세한 설명은 생략한다.

상세한 EC2 구성은 공식문서를 참고하면 좋을 것 같다.


EC2 - Spring Boot 서버로 세팅하기

스크린샷 2023-08-30 오후 7.54.01.png

현재 첫 배포를 앞두고 있고, 급격한 사용은 많지 않을 것 같아서 별도로 DB 서버를 구성할 필요는 없을 것 같다고 생각했다.

이에 따라, EC2 자체에서 Docker로 해당 DB 서버를 연결하고 사용하도록 구성하고자 했다. 또, Docker를 내부에서 실행하고 WAS도 실행하는 만큼, 너무 작지는 않은 인스턴스를 사용해야겠다고 판단했고, t3.medium을 선택했다.

t3.medium의 스펙

t3.medium의 스펙


EC2 - Docker, JDK 구성하기