창고
로그인
창고
로그인
221128_광고 관리 플랫폼 대행사 센터 제작 55_배포 관련 내용 수정
창고
·
2022년 11월 28일
팔로우
0
0
해당 게시글은 개인 프로젝트인
"광고 관리 플랫폼 대행사 센터 제작"
중
#166 "배포 관련 내용 수정"
이슈를 다루고 있습니다.
1. 진행 사항
(1) 요약
EC2, RDS, Route 53 수정
탄력적 IP 수정
인스턴스 재등록 및 jar 파일 재업로드
도메인 연동 수정
Linux crontab으로 자동화 처리
(2) 문제 내용
Mock Data의 경우 어플리케이션 기동 시점에 모든 테이블이 새로 생성되며 기동 시점 -1일~31일까지 실적 데이터가 insert되는 형식 (어플리케이션 기동 시점에서 바로 통계 데이터를 볼 수 있게끔)
Heroku 배포 상태에서는 슬립 모드를 적용하여 어플리케이션이 꺼지고 다시 기동되는 경우가 많았어서 Mock Data가 사실상 계속해서 초기화가 될 수 있었음
그러나 AWS 배포 시 무중단 배포가 진행되는 것을 간과하고 있었고, 어플리케이션이 재기동되지 않았기 때문에 DB는 11/14일 시점의 데이터까지만 존재하는 문제가 있었음
수동으로 재부팅을 하였으나, 탄력적 IP가 적용되지 않아 퍼블릭 IP가 바뀌어버리면서 어플리케이션이 동작하지 않게 되는 문제 발생
(3) 처리 내용
인스턴스 / 키 페어 새로 등록
탄력적 IP 적용하여 재배포
어플리케이션 중단 - 재부팅 자동화 진행
AWS EventBridge를 활용하여 Rebootapi 호출로 정기적 재부팅 처리를 생각하였음
그러나 Linux crontab으로 인스턴스 내부에서 자동화가 가능한 점 확인
매일 0시 0분에 어플리케이션 중단 (pkill java), 및 매일 0시 1분에 재실행 (nohup java -jar .... &)
1차 테스트 결과 제대로 작동하지 않고 있음. 명령어의 경우 직접 실행 시 문제가 없었고 crontab 자체도 라이브되고 있었기 때문에 cron 서비스 시간대 문제일 것으로 추측 (UTC)
[2022-11-29 오전 10시 경] 오전 9시 정도까지는 초기화가 안되다가 10시 이후 확인해보니 cron 동작한 것 확인 (조회기간 변경됨) -> cron 서비스 시간대 문제가 맞는 것으로 보임
[2022-11-30 오전 0시 1분 경] cron 서비스 시간 조정 및 AWS RDS 시간대 변경 조정하여 정상 작동된 점 확인 완료
2. 결과 및 아쉬운 점
AWS 배포 프로세스를 정확하게 알고 한 건 아닌 것 같아서 우여곡절이 많았음
(인스턴스 삭제, 재등록만 6번 한 듯)
창고
공부했던 내용들을 모아둔 창고입니다.
팔로우
이전 포스트
TIL_20221125_스프링과 스프링 Web MVC
다음 포스트
221128_광고 관리 플랫폼 대행사 센터 제작 55_배포 관련 내용 수정
0개의 댓글
댓글 작성