JSCODE Logo
JSCODE 박재성JSCODE 제이온JSCODE 시니
과외유튜브블로그후기
완강 후기 이벤트블로그 리뷰 이벤트AWS SAA 합격 후기 이벤트
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2026 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침

비전공자도 이해할 수 있는 AWS 입문

백엔드 API 서버 배포하기 (EC2)

배포(Deployment)란
EC2란? / EC2를 왜 배울까? / 현업에서 EC2는 주로 언제 쓸까?
[실습] 1. 리전(Region) 선택하기
[실습] 2. EC2 셋팅하기 - 기본 설정
[실습] 3. EC2 셋팅하기 - 보안그룹 설정
[보충 강의] IP와 Port의 개념
[실습] 4. EC2 셋팅하기 - 스토리지 구성
[실습] 5. EC2 접속하기
[실습] 6. 탄력적 IP 연결하기
[실습] 7. Express 서버를 EC2에 배포하기
[보충 강의] 7-2.
비용 나가지 않게 EC2 깔끔하게 종료하기

도메인 연결하기 (Route 53)

Route 53이란? / DNS란? / 현업에서의 Route53 활용 여부
[실습] 1. Route53에서 도메인 구매
[실습] 2. Route53의 도메인을 EC2에 연결하기
[보충 강의] 무료로 도메인 구매하는 방법

HTTPS 연결하기 (ELB)

ELB란? / TLS, SSL과 HTTPS
ELB를 활용한 아키텍처 구성
[실습] 1. ELB 셋팅하기 - 기본 구성
[실습] 2. ELB 셋팅하기 - 보안그룹
[실습] 3. ELB 셋팅하기 - 리스너 및 라우팅 / 헬스 체크
[실습] 4. ELB에 도메인 연결하기
[실습] 5. HTTPS 적용을 위해 인증서 발급받기
[실습] 6. ELB에 HTTPS 설정하기
비용 나가지 않게 ELB 깔끔하게 종료하기
[보충 강의] HTTPS 연결 시 ELB vs Nginx, Certbot
[보충 강의] Nginx, Certbot을 활용해 HTTPS 연결하기

데이터베이스 연결하기 (RDS)

RDS란? / RDS를 왜 사용하는걸까? / 현업에서의 RDS
RDS를 활용한 아키텍처 구성
[실습] 1. RDS 생성하기
[실습] 2. 보안그룹 설정하기
[실습] 3. 파라미터 그룹 추가하기
[실습] 4. RDS에 접속하기
[실습] 5. Express 서버에 RDS 연결하기
[실습] 5-2. Spring Boot 서버에 RDS 연결하기
비용 나가지 않게 RDS 깔끔하게 종료하기

파일 및 이미지 업로드 (S3)

S3란? / S3를 왜 사용하는걸까? / 현업에서 S3를 많이 사용할까?
S3를 활용한 아키텍처 구성
[실습] 1. S3 버킷 생성하기
[실습] 2. S3에 파일 업로드 할 수 있도록 IAM에서 액세스 키 발급받기
[실습] 3. S3를 활용해 Express 서버에 이미지 업로드 기능 구현하기
[실습] 3-2. S3를 활용해 Spring Boot 서버에 이미지 업로드 기능 구현하기
비용 나가지 않게 S3 깔끔하게 종료하기

웹 페이지 배포하기 (S3, Cloudfront)

웹 서비스를 배포할 때 사용하는 S3, CloudFront
S3, CloudFront를 활용한 아키텍처 구성
[실습] 1. S3 버킷 셋팅하기
[실습] 2. S3에 업로드하기 / 웹 호스팅 설정하기
[실습] 3. CloudFront 생성하기
[실습] 4. 도메인 연결하기, HTTPS 적용하기
비용 나가지 않게 S3, CloudFront 깔끔하게 종료하기

기타

[보충 강의] 혹시나 비용 나가지 않는 지 체크하는 방법
[보충 강의] 사용 중인 Public IPv4 확인하는 방법
← 블로그 목록으로 돌아가기

[보충 강의] 7-2.

JSCODE 박재성
JSCODE 박재성
2026. 03. 03.
author
JSCODE 박재성
category
AWS
createdAt
Nov 30, 2025 03:52 AM
isPublic
isPublic
series
비전공자도 이해할 수 있는 AWS 입문
slug
deploy-spring-boot-server-to-ec2
type
post
updatedAt
Mar 3, 2026 09:00
❗
리눅스와 Spring Boot에 대한 수업이 아니므로, 리눅스 명령어나 Spring Boot 코드에 대한 자세한 설명은 생략한다.
 

✅ 1. Ubuntu 환경에서 JDK 설치하는 법

Spring Boot는 3.x.x 버전을 사용할 예정이고, JDK는 17버전을 사용할 예정이다. 그에 맞게 환경을 설치해보자.
$ sudo apt update && / sudo apt install openjdk-17-jdk -y
 
 

✅ 2. 잘 설치됐는 지 확인하기

$ java -version
notion image
 
 

✅ 3. Github으로부터 Spring Boot 프로젝트 clone하기

ec2-spring-boot-sample
JSCODE-EDU • Updated Oct 28, 2024
$ git clone https://github.com/JSCODE-EDU/ec2-spring-boot-sample.git $ cd ec2-spring-boot-sample
 
 

✅ 4. application.yml 파일 직접 만들기

application.yml와 같은 민감한 정보가 포함된 파일은 Git으로 버전 관리를 하지 않는게 일반적이다. 따라서 application.yml 파일은 별도로 EC2 인스턴스에 올려주어야 한다. 하지만 application.yml 파일을 EC2 인스턴스에 올리는 작업보다는, application.yml 파일을 직접 만드는 게 훨씬 간단하다.
 
src/main/resources/application.yml
server: port: 80
 
 

✅ 5. 서버 실행시키기

$ ./gradlew clean build # 기존 빌드된 파일을 삭제하고 새롭게 JAR로 빌드 $ cd ~/ec2-spring-boot-sample/build/libs $ sudo java -jar ec2-spring-boot-sample-0.0.1-SNAPSHOT.jar
 
참고) 백그라운드에서 Spring Boot 실행시키기
$ sudo nohup java -jar ec2-spring-boot-sample-0.0.1-SNAPSHOT.jar &
 
 

✅ 6. 잘 작동하는 지 확인하기

notion image
 
 
 
📎
이 글은 비전공자도 이해할 수 있는 AWS 입문/실전 강의의 수업 자료 중 일부입니다.