[ALL] 서비스 마이그레이션
Closed this issue · 2 comments
progress0407 commented
요구사항
- 23년 이전에 프로젝트를 마이그레이션한다
- production 우선
- [cloud] 잠정적으로 필즈의 personal AWS EC2, RDS 사용
※ 팀과 얘기만 되었으며 세부 사항들은 논의되지 않았음 (...)
마이그레이션 진행 상황
현재 서비스 접근 가능
사용법
item | value |
---|---|
id | test-user@test.com |
pw | 1q2w3e4r!! |
기타 문의는 필즈에게... :)
참고사항
실제 배포된 소스는 팀 프로젝트 것과는 다소 다릅니다 !
(단, 기능상 차이는 없어요)
이 곳(개인 리포 - Neo 브랜치)의 소스코드가 배포된 것이에요..
이렇게 한 이유는 팀 프로젝트를 수정하지 않기 위해서도 있고 세세한 설정 작업까지 논의할 필요가 굳이 없다고 생각해서 입니다...
완료된 사항
- AWS EC2 생성
- pem키 생성
- Docker Container 생성
- OS 설정: Ubuntu 22.04 (Debian)
- JDK, NginX 설치
- Jar 배포 후 실행 확인 (by curl)
- 기존에 우아한테크코스에 있었던 정보들 백업
- DB - Prod Data Dump (DDL, Insert SQL)
- Nginx - (Prod, Dev) - (FE, BE): Shell, Config
- Jenkins - (FE, BE): Shell, Pipeline
- WAS: Shell
- Redis command history
- Locust Script
- DB
- 외부 접근 허용
- 테이블, 유저 생성, 권한 부여
- Dump Data 옮김
- Nginx 설정
- 리버스 프록시 (
backend
) - 정적 파일 제공 (
frontend
) - HTTPS 적용
- 리버스 프록시 (
- Redis Setup
- FrontEnd 환경 설정
- .env 파일 수정
- BackEnd
- neo-application yml 파일 생성 및 적용
- URI 변경 (
"/api"
접두사 추가)
포기한 것
- 도커 컨테이너 이미지화
- 이유: 지속되는 server down (사양 문제로 추측)
- 추후 여건이 되면 제공할 수 있음!
마이그레이션 개요
-
서버
- AWS Free Tier
- ubuntu 2.micro
- vCPU 1 2.5 GHz
- RAM 1 GiB
- i386, x86_64 (
not ARM
)
-
Reverse Proxy (HTTPS)
- FE Files (HTML, CSS, JS, img ...)
- BE 요청 중계 설정
- HTTPS/DNS
-
BE WAS Setup
- JDK 11
-
FE Setup
- npm 등
-
RDBMS Setup
- MySQL
마이그레이션시 제외하는 것
- CD 자동화
- Jenkins
- 정적분석툴
- SonarQube
제외에 대한 이유
- 툴이 동작하는 것이 무겁기 때문에 서버가 중단될 위험이 있음
- 수료 후 길어지는 배포 주기를 고려하면 수동 배포를 하더라도 product 관리 가능할 것으로 보임
기록들
삽질 히스토리
https://progress0407.github.io/backend/2022/12/20/moragora-migration.html
https://progress0407.github.io/backend/2022/12/30/moragora-migration-2.html
기한
2022.12.31
progress0407 commented
마이그레이션 늦어서 미안해요... :)
(기한을 올해로 정했는데 사실은 안 늦은건가)
(특히 프론트 친구들 ㅠㅠ)
문의사항은 제게 연락 주시면 답장 드릴게요 : )
progress0407 commented
서버 유지는 내년 여름까지만 (대략 6~8월경) 할게요 :)