AWS
[AWS] SpringBoot 프로젝트 배포 Mariadb,Maven
z00h
2025. 4. 4. 16:48
SpringBoot 프로젝트를 EC2 (Ubuntu)를 사용하여 배포하는 과정을 정리해보려고한다.
1. AWS EC2 인스턴스 생성
✅ 1.1. AWS 계정 생성 및 로그인
- AWS Console 로그인
- EC2 서비스로 이동 (우측 상단 리전은 서울로 변경)
3. 인스턴스 시작 클릭
✅ 1.2. 인스턴스 설정
- 인스턴스 이름
- 임의로 네이밍을 하여 추후 인스턴스별 구분이 되도록 입력한다.
- AMI 선택: Ubuntu 22.04 LTS (프리티어 무료 사용 가능)
- 어떤 OS로 서버를 구성할 것인지 선택하는 과정이다.
- 인스턴스 유형: t2.micro (프리티어)
- 키 페어 생성:
- 키 페어는 EC2 원격 접속을 하기 위해 필요하여 생성해주어야한다.
- 기존에 생성해 놓은 키 페어로 사용해도 무방하다.
- "새 키 페어 생성" → .pem 파일 다운로드 후 안전한 곳에 보관 (생성 경로 인지 필수)
- .pem 파일로 다운로드한 후 .ppk파일로 변환하여 putty로 원격접속 할 수있다. 해당 내용은 포스팅 참고 (https://z00h.tistory.com/133)
- 보안 그룹 설정:
- 보안 그룹은 인스턴스 생성 완료후 세팅하도록 한다.
- ‘SSH 트래픽 허용’을 활성화 하면서 로컬머신으로 어디서든 접속가능하도록 ‘위치무관’으로 세팅
- 스토리지 구성:
- 최대 30GB 까지 프리티어 이용가능하므로 30GB로 세팅
- 범용 SSD(gp2)
- 인스턴스 생성완료
✅ 2. 보안그룹 세팅
앞서 생성한 인스턴스에 보안그룹을 만들어 지정해주도록 한다.
- 보안 그룹 인바운드/아웃바운드 규칙
- 인바운드 규칙은 외부 네트워크에서 내부 네트워크로 들어오는 트래픽을 제어하는 방화벽 규칙이다. 특정 프로토콜, IP, Port로 들어오는 트래픽을 차단 및 허용이 가능하다.
- 아웃바운드 규칙은 아웃바운드 규칙은 내부 네트워크에서 외부 네트워크로 나가는 트래픽을 제어한다.
- EC2 내 서버를 동작시키는 목적이기에 인바운드 규칙만 설정해주도록한다.
- 네트워크 및 보안탭 > 보안 그룹 > 보안 그룹 생성
- 보안 그룹생성
- 그룹명 입력, 설명 입력
- 인바운드 규칙추가
- Anywhere-IPv4 - 누구나 접속 가능 (0.0.0.0/)
- 스프링 부트 기반 서버로 8080 포트를 접속 가능하도록 하게함
- 원격 EC2 인스턴스에 접속할때 사용되는 ssh 관련 방화벽으로 ssh는 기본 포트 연결로 22번 포트가 사용됨
- HTTP 연결시 사용
- HTTPS 연결시 사용
- Mariadb 연결을 위해 설정 (3306 포트)
- 보안 그룹 생성 클릭
- 보안그룹 설정
- 변경할 인스턴스 체크 > 작업 > 보안 > 보안그룹 변경
- 기존 그룹 삭제 후 방금 생성한 보안그룹을 인스턴스 내 설정
끝으로 인스턴스 생성 완료 및 설정이 완료되었다.
다음 포스팅에서는 Putty로 Ubuntu에 원격접속한 상태에서 서버환경을 구축한후 배포해 PostMan으로 요청을 날려보도록 할 예정이다.