AWS

[AWS] SpringBoot 프로젝트 배포 Mariadb,Maven

z00h 2025. 4. 4. 16:48

 

SpringBoot 프로젝트를 EC2 (Ubuntu)를 사용하여 배포하는 과정을 정리해보려고한다.

1. AWS EC2 인스턴스 생성

1.1. AWS 계정 생성 및 로그인

  1. AWS Console 로그인
  2. 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/)
  1. 스프링 부트 기반 서버로 8080 포트를 접속 가능하도록 하게함
  2. 원격 EC2 인스턴스에 접속할때 사용되는 ssh 관련 방화벽으로  ssh는 기본 포트 연결로 22번 포트가 사용됨
  3. HTTP 연결시 사용
  4. HTTPS 연결시 사용
  5. Mariadb 연결을 위해 설정 (3306 포트)
  6. 보안 그룹 생성 클릭
 
 

 

 

 

 

  • 보안그룹 설정
    • 변경할 인스턴스 체크 > 작업 > 보안 > 보안그룹 변경
    • 기존 그룹 삭제 후 방금 생성한 보안그룹을 인스턴스 내 설정

 

 

 

끝으로 인스턴스 생성 완료 및 설정이 완료되었다.

 

다음 포스팅에서는 Putty로 Ubuntu에 원격접속한 상태에서 서버환경을 구축한후 배포해 PostMan으로 요청을 날려보도록 할 예정이다.