DevOps/AWS

[메타코딩 25~39강] AWS 내용정리(배포)

SeungbeomKim 2022. 10. 3. 18:34
반응형

고정 IP(엘라스틱 IP)

5군데에서 IP를 5개 제공 하지 않는다.

가격이 비쌈

이유 : 모든 집에서 동시적으로 인터넷을 사용하지 않기 때문이다.

 

 

유동 IP (가정집에서 사용)

우리가 사용하는 AWS에서 사용하는 IP는 유동 IP이다

이를 탄력적 IP로 변환해야 한다.

주의 해야 할 점 : 탄력적 IP => 15.164.69.11(프리티어 사용자에게 무료 탄력적 IP를 제공해준다.)

조건 :

EC2 - 탄력적 IP를 연결해줘야 한다. 

  1. 탄력적 IP 생성만 하고 EC2 서버를 연결하지 않았을 경우
  2. 탄력적 IP를 2개를 만들 수 없다.
  3. EC2 서버 종료(시점부터 비용발생, 탄력적 IP가 놀고 있기 때문이다.)

배포 순서

  1. github 다운 => git clone 주소
  2. gradlew 실행권한주기 => cd ~/aws-v1(~는 사용자를 찾아가기 위한 문자), chmod u+x gradlew
  3. gradlew로 프로젝트를 jar파일로 변경 => ./gradlew build (현재 폴더에 있는 파일을 실행한다.=> ./가 없으면 환경변수를 찾는다.)
  4. 자바 설치(JDK, JRE) - JDK로 마인크래프트 게임 개발-> 일반 사용자들이 마인크래프트 게임하려면 JRE가 필요 ==>              sudo apt update, sudo apt install openjdk-11-jdk
  5. java로 jar 실행 => cd build/libs java -jar *.jar

<배포 화면>

스프링부트 실행화면을 볼 수 있다.

 

탄력적 IP주소:포트 넘버/매핑주소

cd build/libs java -jar *.jar로 build시 주의해야 할 점

nohup이란 ?

nohub 명령어는 리눅스에서 프로세스를 실행한 터미널의 세션 연결이 끊어지더라도 지속적으로 동작할 수 있게 해주는 명령어이다.

우리가 포그라운드로 실행했기 때문에 nohup으로 했다고 하더라도 터미널 종료시에 함께 종료

우리는 백그라운드로 실행해야 한다.

 

nohup은 자동으로 로그를 남긴다.(nohup.out)

  error, warn, info 로그 등을 남긴다.

 

tail -f nohup.out을 통해 실시간으로 로그파일을 확인할 수 있다.

 

로그 파일 변경

nohup java -jar *.jar > mylog.out

=>기존 nohup.out (로그파일 위치) => 새로운 로그파일(mylog.out)으로 변경되었음을 확인할 수 있다.

 

에러 출력 -2 - nohup.out

표준 출력 -1 - nohup.out

nohup java -jar 파일명 1 > log.out(표준 출력) 2 > err.out(에러 출력) &

이유 : 배포를 위해서 작성했던 모든 명령어들 - 스크립트 작성 ! -> 자동화

nohup java -jar 파일명 1>log.out 2>err.out &

시간 변경(+9시간)

-우분투 OS에 시간 세팅

 

기본값은 UTC로 설정
이를 명령어를 통해 Seoul로 변경

pid 아이디 찾기 

ps -ef | grep *.jar | grep -v grep | awk '{print $2}'

pgrep -f *.jar

$변수 : 변수의 값을 출력 혹은 실행

${명령어} : 명령어의 결과를 리턴

spring-stop.sh -> 실행 권한을 줌

echo "Springboot Stop....."

 

SPRING_PID=$(pgrep -f v1-0.0.1-SNAPSHOT.jar)

 

echo $SPRING_PID 

 

kill -9 $SPRING_PID

<참고 자료>

https://www.youtube.com/c/%EB%A9%94%ED%83%80%EC%BD%94%EB%94%A9

반응형