[AWS] EC2에 Spring Boot 서버 배포

artp·2024년 9월 19일
0

aws

목록 보기
2/13
post-thumbnail

EC2 인스턴스 접속 환경에서 작성

  • EC2 접속 환경에서 Spring Boot를 실행하기 위해
    sudo apt update && sudo apt install openjdk-17-jdk -y 명령어를 입력하여 jdk-17 버전을 설치합니다.
  • java --version 명령어를 입력하여 설치된 자바 버전을 확인합니다.
  • EC2에 배포할 스프링부트 프로젝트를 깃허브에서 클론합니다.
  • cd ec2-spring-boot-sample 명령어를 입력하여 클론한 프로젝트 폴더로 들어갑니다.
  • ls 명령어로 프로젝트 폴더에 어떤 파일 또는 폴더가 존재하는지 확인할 수 있습니다.
  • cd src/, cd main/, cd resources/ 명령어를 순차적으로 입력하여 src/main/resources 디렉터리로 이동합니다.
  • 이동한 디렉터리 내부에서 vi application.yml 명령어를 입력하여 application.yml 파일을 생성합니다.
  • 이 과정은 Git Ignore 설정으로 인해 클론하지 못한 파일을 EC2 내부에서 직접 생성하는 과정입니다.
  • 일반적으로 application.yml 파일처럼 민감한 정보가 포함된 파일은 Git으로 버전 관리를 하지 않습니다.
  • 생성한 application.yml 파일에 내용을 작성한 후 :, wq 를 순차적으로 입력하여 작성을 완료합니다.
  • cat application.yml 명령어를 입력하여 파일 내용을 확인할 수 있습니다.
  • 최상위 디렉터리로 이동한 후 ls 명령어를 입력하여 클론한 프로젝트 폴더를 확인할 수 있습니다.
  • 서버를 실행하기 위해 cd ec2-spring-boot-sample 디렉터리로 이동한 후 ls 명령어로 gradlew 파일이 존재하는지 확인합니다.
  • gradlew 파일이 있는 경로로 들어와야만 빌드 명령어가 정상적으로 동작할 수 있습니다.
  • ./gradlew clean build 명령어를 입력하여 기존에 빌드된 파일을 삭제하고 새롭게 JAR로 빌드합니다.
  • 빌드 완료 후 cd build, cd libs, ls 명령어를 순차적으로 입력하면 빌드된 파일을 확인할 수 있습니다.
  • 빌드된 파일 중에서 ec2-spring-boot-sample-0.0.1-SNAPSHOT.jar 파일로 서버를 실행할 수 있습니다.
  • sudo java-jar ec2-spring-boot-sample-0.0.1-SNAPSHOT.jar 명령어를 입력하여 서버를 실행합니다.
  • 톰캣 서버가 80번 포트로 실행되었음을 확인할 수 있습니다.

EC2 과금 피하기

테스트가 모두 끝난 EC2 인스턴스와 리소스는 완전히 삭제해야만 과금을 피할 수 있습니다.

  • 다음의 과정으로 EC2 인스턴스를 삭제합니다.
  • 메뉴 ➡️ 인스턴스 선택 ➡️ 인스턴스 상태 선택 ➡️ 인스턴스 종료(삭제) 선택
  • EC2 삭제 설명란에서 연결된 리소스인 탄력적 IP도 같이 릴리스(종료)를 해야 비용 발생이 되지 않음을 알려주고 있습니다.
  • 종료(삭제) 버튼을 선택하여 EC2 인스턴스를 완전히 삭제합니다.
  • 다음의 과정으로 탄력적 IP를 릴리스(삭제)합니다.
  • 메뉴 ➡️ 탄력적 IP 선택 ➡️ 릴리스할 IP 선택 ➡️ 작업 선택 ➡️ 탄력적 IP 주소 릴리스 선택
  • 릴리스할 탄력적 IP 확인 후 릴리스 선택
profile
donggyun_ee

0개의 댓글