AWS EC2(Elastic Compute Cloud) 인스턴스에 Spring Boot 애플리케이션을 직접 배포해봤다.
EC2 환경에서 JDK 설치부터 애플리케이션 실행까지 순서대로 정리해보았다.
이 글을 보면 EC2에서 Spring Boot 서버를 띄우는 전체 흐름을 볼 수 있다.
✅ Ubuntu 환경에 JDK 설치
spring boot를 배포하려면 java가 설치되어야한다. EC2 인스턴스에 접속해서 jdk를 설치하자.
각자 필요한 jdk를 설치하면 되는데, 나는 jdk 17 버전 설치를 할 것이다.
# root 권한 변경
sudo su
# jdk17 버전 설치 (그대로 2줄 복붙하면 됨)
sudo apt update && /
sudo apt install openjdk-17-jdk -y
✅ jdk가 잘 설치됐는지 확인
java -version

✅ github 프로젝트 클론
git clone https://github.com/JSCODE-EDU/ec2-spring-boot-sample.git
cd ec2-spring-boot-sample
본인 프로젝트 소스코드를 클론하면 된다.
나는 강의에서 제공해준 예제 프로젝트를 클론받아서 진행하였다.
✅ application.yml 파일 생성
application.yml 와 같은 민감한 정보가 포함된 파일은 Git으로 버전 관리를 하지 않는게 일반적이다. 따라서
application.yml 파일은 별도로 EC2 인스턴스에 올려주어야 한다. 하지만 application.yml 파일을 EC2 인스턴스에 올리는 작업보다는, application.yml 파일을 직접 만드는 게 훨씬 간단하다.
src/main/resources/application.yml
# 경로 접속
cd src/main/resources
# application.yml 파일 생성 및 편집
vi application.yml
# 아래 내용 추가
server:
port: 80


:wq
✅ 서버 실행
# 프로젝트 경로로 이동
cd ../../
# 기존 빌드된 파일을 삭제하고 새롭게 JAR로 빌드
./gradlew clean build
cd build/libs
sudo java -jar ec2-spring-boot-sample-0.0.1-SNAPSHOT.jar
# 참고 - 백그라운드에서 실행시키기
sudo nohup java -jar ec2-spring-boot-sample-0.0.1-SNAPSHOT.jar &


libs 폴더 들어가면 저렇게 .jar파일이 2개가 생성되어 있고, plain이 아닌 것을 실행시키면 된다.
이렇게 하고 우리가 이전에 할당받았던 탄력적 IP를 접속해보면 다음과 같이 뜬다.

✅ 비용 나가지 않게 깔끔하게 EC2 종료
인스턴스와 탄력적 IP만 삭제하면 된다.
1. 인스턴스 종료(삭제)

2. 탄력적 IP 삭제(릴리즈)

'웹 개발 > AWS(Amazon Web Server)' 카테고리의 다른 글
| [AWS] Route53으로 도메인 사서 EC2에 연결 방법 기록 (DNS 설정하면서 헷갈렸던 것들) (1) | 2025.11.14 |
|---|---|
| [AWS] EC2 인스턴스 탄력적 IP(Elastic IP) 설정 (0) | 2025.11.11 |
| [AWS] EC2 인스턴스 정보 확인 및 SSH 접속 (0) | 2025.11.11 |
| [AWS] EC2 인스턴스 생성 및 기본 세팅 (0) | 2025.11.11 |