본문 바로가기
SpringBoot/배포 및 운영

AWS EC2에 배포하기

by DEVLIB 2025. 4. 16.
728x90

1. EC2 인스턴스 생성

AWS 콘솔에서 EC2 생성

  1. AWS 콘솔 접속 https://aws.amazon.com/
  2. EC2 대시보드 → 인스턴스 시작
  3. Amazon Linux 2 / Ubuntu 22.04 LTS 선택 (둘 다 OK)
  4. 인스턴스 유형: t2.micro (무료 티어)
  5. 키 페어 생성 또는 기존 키 선택
  6. 보안 그룹 설정:
    • 인바운드 규칙에 SSH(22), HTTP(80), 혹은 필요 시 8080 포트 열기
  7. 인스턴스 시작

키 페어(.pem 파일)는 꼭 백업하세요! 나중에 SSH 접속 시 필요합니다.


2. EC2에 SSH 접속

chmod 400 your-key.pem
ssh -i "your-key.pem" ec2-user@<EC2-Public-IP>
OS 계정명
Amazon Linux ec2-user
Ubuntu ubuntu

3. 필수 소프트웨어 설치

# Java 17 설치 (Amazon Linux 기준)
sudo yum install -y java-17-amazon-corretto

# Ubuntu의 경우
sudo apt update && sudo apt install openjdk-17-jdk

설치 후 확인:

java -version

4. 스프링 부트 애플리케이션 빌드

로컬(개발 PC)에서:

./gradlew bootJar

 

build/libs/myapp-0.0.1-SNAPSHOT.jar 생성


5. EC2로 JAR 파일 전송 (scp)

scp -i your-key.pem build/libs/myapp-0.0.1-SNAPSHOT.jar ec2-user@<EC2-IP>:/home/ec2-user/

6. EC2에서 애플리케이션 실행

cd /home/ec2-user
java -jar myapp-0.0.1-SNAPSHOT.jar

정상 실행되면 콘솔에 Tomcat started on port(s): 8080 메시지 확인 가능
브라우저에서 http://<EC2-Public-IP>:8080 접속 시 동작 확인 가능


7. EC2 보안 그룹 포트 개방 확인

  • AWS EC2 > 인스턴스 > 보안 그룹 > 인바운드 규칙 편집
  • 8080 포트 (또는 설정한 포트)을 TCP, 0.0.0.0/0 으로 개방

8. 백그라운드 실행 (선택)

nohup java -jar myapp-0.0.1-SNAPSHOT.jar > app.log 2>&1 &
  • app.log 파일에 로그 저장됨
  • & 는 백그라운드 실행 의미
  • 프로세스 종료: kill -9 [PID]

9. 유용한 명령어 모음

ps -ef | grep java        # 자바 프로세스 확인
tail -f app.log           # 실시간 로그 보기
kill -9 [PID]             # 앱 종료

마무리 요약

단계 내용
1. EC2 생성 Amazon Linux / Ubuntu, 포트 오픈
2. SSH 접속 .pem 키 사용
3. Java 설치 Java 17 이상
4. JAR 빌드 ./gradlew bootJar
5. 파일 전송 scp 사용
6. 실행 java -jar or nohup
7. 외부 접속 포트(8080) 보안 그룹 확인

향후 확장 방향

확장  기능설명
CI/CD 연동 GitHub Actions 또는 Jenkins로 자동 배포
Nginx Reverse Proxy http://yourdomain.com으로 접속 가능
TLS(HTTPS) 적용 Let's Encrypt + Nginx 사용
Docker 기반 배포 Dockerfile 작성 후 EC2에서 컨테이너 실행

 

LIST

'SpringBoot > 배포 및 운영' 카테고리의 다른 글

로그 관리(Logback, Log4j2)  (0) 2025.04.16
CI/CD (GitHub Actions, Jenkins)  (0) 2025.04.16
Spring Boot 패키징(JAR, WAR)  (1) 2025.04.15