테스트용 stage 서버가 없어( 구축하기로 했습니다.사실 있었는데 없었습니다)
최대한 production과 동일한 환경으로 구성해 주었습니다.
[인프라 구성]
Client - AWS ALB - EC2 - Nginx - Tomcat - Mysql & redis
[과정]
AWS 이용하여 SSL 인증서 생성
stage 용 서브 도메인 생성
EC2 생성
- t2.small
ssh 포트 변경 및 swap device 설정
- 저희 학교 네트워크에서 10000보다 작은 포트는 통신이 불가능하기 때문에 변경
- swap device 2GB 설정
Mysql 설치 및 유저 생성
- 서버시간 변경
- production db 덤프
Python 설치
웹 크롤링 파일 옮기기
- 학교 공지사항과 식단을 가져옵니다
Nginx 설치 및 설정
- reverse porxy, 요청을 받아 톰켓으로 넘겨줍니다
- 특정 ip 차단이나, 단기간에 너무 많은 요청 시 차단 등의 역할도 합니다
redis 설치
tomcat 설치 및 설정
- relodable false 로 설정
jenkins 설정
- 키 교환
- 배포 설정
ALB 설정
- 발급받은 SSL 인증서를 붙여 https
[후기]
기존 production EC2의 이미지를 생성하여 사용할까 싶었으나 공부도 할 겸 직접 진행해 보았습니다.
대부분 버젼이 좀 옛날 버젼이라 직접 다운받고 설치하고 좀 번거로웠습니다.
왜 Docker를 사용하는지 좀 느껴지네요
무사히 잘 구축했고, 지금 하는 것 끝나면 Docker 제대로 공부해서 도입해보려 합니다:)
'programming > 프로젝트' 카테고리의 다른 글
[Error] Spring3 에서 bean 생성자 주입 문제 (0) | 2022.08.21 |
---|---|
[tomcat error] Jenkins 스크립트를 통한 tomcat 실행 시 권한 충돌 (0) | 2022.08.17 |
KOIN 프로젝트 시작 (0) | 2022.08.02 |
회고 (0) | 2022.07.13 |
[warning] mysql-cj-abandoned-connection-cleanup (0) | 2022.02.14 |