•
배포 계획
◦
프론트 정적 웹 서버: AWS S3 + CloudFront
◦
백엔드 웹 앱 서버: AWS EC2 + RDS + ElasticCache + ALB
◦
CI/CD: Github Action
부하테스트 도중 뻗는 원인 Docker 메모리 부족으로 인한 현상 발견
•
-> Docker로 하지말고 로컬에서 다운받아서 해보자!
배포끝나고 서버모니터링 로그 수집 및 분석 구축 - >Was 로그백으로 설정 파일한개 크기 롤링일자 로그 폴더의 크기? 현업에서는 어느정도로 설정하는지 ? 보통 1GB넘어가면 롤링처리 매일 새벽 4시에 롤링 30분마다 롤링 이 3가지 조건으로 롤링을 한다.30분 마다 롤링을 하는데 왜 새벽 4시에 롤링을 하나요?
•
-> 30분이 아니고 1GB넘어가면 초기화 and 새벽 4시 초기화
로우 레벨은 ?
info로 잡고 로컬이나 콘솔은 디버그 배포환경은 infoEC2 Xlarge 2개 구축해서 부하테스트 진행해보기
하나는 Controller, 하나는 AgentAPM대시보드 열어놓고 캡처해놓기
•
이번 주 한 일
◦
팀원 개인
정성호(팀장)
김진훈
김민중
김혜윤
•
이외에도 기술적인 방향을 잡기 위한 질문을 정리해두시면 가장 좋습니다!
→ 부하테스트 도중 뻗는 원인 Docker 메모리 부족으로 인한 현상 발견 후 환경을 EC2에서구축해서 테스트 하는게 좋을까요?
→ Was 로그백으로 설정 파일한개 크기 롤링일자 로그 폴더의 크기를 현업에서는 어느정도로 설정하고 사용중인가요? 롤링하는 시간도 궁금합니다!
→ 운영환경에서 로깅 전략을 어떻게 가져가야할지 궁금합니다!
→ RDS에서 데이터를 천만건 넣으면 RDS 요금이 많이 나오나요? 제가 조사 했을때는 많이나와서 걱정됩니다. RDS에 1000만 건 이상의 데이터를 넣었을 때, 건당 데이터 크기를 1KB라 가정하면 약 10GB 정도의 저장 공간이 필요하다. RDS MySQL 인스턴스 사양을 db.t3.micro에 30GB, Single-AZ 옵션으로 설정하면 월별 결제 비용이 아래와 같다.
RDS MySQL 비용 (월별): 18.98
스토리지 요금 (월별): 3.93
따라서 충분히 감당할 수 있는 수준의 요금이다.
멘토링 결과
◦
일단 EC2로 진행하지말고 Docker로 컨트롤러 만들어서 진행하지말고 직접 로컬에 ngrinder환경을 구축한후에 테스트를 하자
◦
현업에서는 보통 1GB넘어가거나, 매일 새벽 4시에 롤링을 진행한다.
◦
Log Level은 보통 Info 레벨로 가져갑니다. 추가로 서비스를 운영하면서 장애를 추적하거나 중요한 서비스에 대한 추적 로그를 만들어주면 Good!
◦
조사를 다시해보니 요금이 많이 나오지 않는다. RDS에 1000만 건 이상의 데이터를 넣었을 때, 건당 데이터 크기를 1KB라 가정하면 약 10GB 정도의 저장 공간이 필요하다. RDS MySQL 인스턴스 사양을 db.t3.micro에 30GB, Single-AZ 옵션으로 설정하면 월별 결제 비용이 아래와 같다.
RDS MySQL 비용 (월별): 18.98 USD
스토리지 요금 (월별): 3.93 USD
따라서 감당할 수 있는 수준의 요금이다.
•
숙제: 멘토링 결과 다음 주까지 해올 일
◦
공통으로 진행해야 하는일
▪
유저 - 김혜윤
▪
경매 - 김민중
▪
예약 - 김진훈
▪
공연 - 정성호
◦
개인별 할일 - 정성호
▪
Ngrinder 정상적인 테스트 환경 구축
◦
개인별 할일 - 김진훈
▪
예매 데이터 생성 및 좌석 조회 API 성능 개선
◦
개인별 할일 - 김민중
▪
로그 모니터링 구성
▪
서버 기능 MVP 100% 구현
▪
인프라 구축
▪
시스템 부하테스트
▪
대기열 구현 ( 일정 여유시)
◦
개인별 할일 - 김혜윤
▪
예매/입찰 화면 좌석 별로 구분되어 나타나도록 페이지 수정
▪
쿠키 저장 가능한지 물어보기…