프로젝트/스프링 부트와 AWS로 혼자 구현하는 웹 서비스
📌 24시간 365일 중단없는 서비스를 만들자 새로운 Jar가 실행되기 전까지 기존 Jar를 종료시켜 놓기 때문에 서비스가 중단됨 카톡이나 네이버같이 정지되지 않는 서비스를 만들자 ⚡ 무중단 배포 소개 과거에는 다 같이 코드를 합치는 날 배포하는 날을 정하고 진행했음. 특히 배포일에는 사용자가 적은 새벽 시간에 개발자들이 모두 남아 배포를 준비하곤 했음 -> 배포를 하고 문제가 생기면 긴급 점검 공지를 하고 수정을 해야 했음 -> 무중단 배포를 통해 이를 해결할 수 있음! ✔ AWS에서 블루 그린(Blue-Grean) 무중단 배포 ✔ 도커를 이용한 웹서비스 무중단 배포 엔진엑스(Nginx) 무중단 배포 방법 중 하나(가장 저렴하고 쉬움) 웹 서버, 리버스 프록시, 캐싱, 로드 밸런싱, 미디어 스트리밍 등..
📌 Travis CI배포 자동화 코드가 푸시되면 자동으로 배포한다. 여러 개발자의 코드가 실시간으로 병합되고 테스트가 수행되는 환경, master 브랜치가 푸시되면 배포가 자동으로 이루어지는 환경을 구축해야 한다. ⚡ CI & CD 소개 스크립트를 개발자가 직접 실행함으로써 발생하는 불편 해결 ✔ CI(Continuous Integration - 지속적 통합) 코드 버전 관리를 하는 VCS 시스템(Git, SVN 등)에 PUSH가 되면 자동으로 테스트와 빌드가 수행되어 안정적인 배포 파일을 만드는 과정 ✔ CD(Continuous Deployment - 지속적인 배포) 이 빌드 결과를 자동으로 운영 서버에 무중단 배포까지 진행되는 과정 하나의 프로젝트를 여러 개발자가 함께 개발을 진행 각자가 개발한 코드..
📌 EC2서버에 프로젝트를 배포해보자 ⚡ EC2에 프로젝트 Clone 받기 ✔ 깃허브에서 코드를 받아올 수 있게 EC2에 깃 설치! sudo yum install git ✔ 설치가 되면 버전 확인 git --version ✔ 설치가 되면 git clone으로 프로젝트를 저장할 디렉토리 생성 mkdir ~/app && mkdir ~/app/step1 ✔ 생성된 디렉토리로 이동 cd ~/app/step1 ✔ 본인의 깃허브 웹페이지에서 https 주소 복사 -> git clone 진행 git clone 복사한 주소 ✔ git clone이 끝났으면 클론된 프로젝트로 이동해서 파일들이 잘 복사되었는지 확인 cd 프로젝트명 ll -> 프로젝트의 코드들이 모두 있으면 성공! ✔ 잘 수행되는지 검증 ./gradlew ..
📌 AWS에 데이터베이스 환경을 만들기 - AWS RDS 웹 서비스 백엔드에서는 코드 작성만큼 중요한 것이 데이터베이스를 다루는 일임 직접 데이터베이스를 설치하지 않고 AWS에서 제공하는 관리형 서비스인 RDS 사용 RDS(Relational Database Service) : AWS에서 지원하는 클라우드 기반 관계형 데이터베이스 하드웨어 프로비저닝, 데이터ㅔ이스 설정, 패치 및 백업과 같이 잦은 운영 작업을 자동화하여 개발자가 개발에 집중할 수 있게 지원하는 서비스 조정 가능한 용량을 지원하여 예상치 못한 양의 데이터가 쌓여도 비용만 추가로 내면 정상적으로 서비스 사용 가능 ⚡ RDS 인스턴스 생성하기 AWS 검색창에 rds 검색 RDS 대시보드에서 데이터베이스 생성 버튼 클릭 DB 엔진 선택 화면에서..