ETC -

항해99 WIL회고(실전 프로젝트) 3주

  • -

시간이 너무 빠르게 갔다.😭
3주차 MVP개발을 하며 기술을 다뤄봤던 내용을 정리해보려고 합니다.

보통 회사에서는 FE개발자가 인프라 구축에 관해서 전혀 신경쓰지 않고, BE개발자분들이 인프라 구축을 하겠지만
저희는 그런것 구분하지 않고 공부하는 관점과, 새로운것을 경험해보자라는 마인드로 접근하여
FE, BE 모두 같이 진행을 하였습니다.

📌트러블 슈팅(FE) CI CD 적용

👉도입이유

  • 배포 자동화를 통해 효율적인 협업 및 작업 환경을 구축하기 위함

👉문제상항

  • 협업 시 코드 배포를 해야하는 상황이 빈번히 발생
    filezila를 통한 수동 배포와 배포 이후 에러 확인되어 재배포하는 일이 잦아짐에 따라
    배포에 많은 시간이 소요됨

👉해결방안

  • 1안) Jenkins
  • 2안) Github Actions

👉의견조율

  1. Jenkins를 사용하기 위해선 서버 설치가 필요
  2. Jenkins는 Docker 환경에서 실행하는 것이 좋음(호환성 issue)
  3. Github Actions는 별다른 설치 및 복잡한 절차 없이 사용 가능하다.
  4. 추후에 서비스가 커지는 것을 감안하여 미리 설치하자.

👉의견결정

  • 처음에는 Jenkins를 우선순위로 두었지만, 시간적 제약(서버 설치, Docker 환경 구성)으로 인해 Github Actions를 사용하기로 결정

📌트러블 슈팅(FE) https 적용

👉도입이유

  • Geolocation API를 사용하여 실시간 위치- 경도, 위도를 받아오기 위해서는 https 적용이 필수로 필요합니다.
  • 보안과 더불어 사용자의 신뢰도를 확보하기 위해서 필수적으로 적용해야함

👉문제상항

  • 프론트엔드와 백엔드 양쪽 모두 https를 구성해야 함
  • 비용의 문제
  • 시간의 문제
  • Geolocation API 를 사용하기 위해서는 https 적용이 필요합니다.

👉해결방안

  • 1안 - AWS의 기능을 이용하여 양쪽 모두 구현
  • 2안 - 프론트엔드만 AWS를 사용하고, 백엔드는 Let’s encrypt 를 이용해서 구현

👉의견조율

  • 저렴한 비용으로 호스팅, Cloud Front, AWS 로드밸런서 등 좋은 기능들을 추가적으로 이용할 수 있습니다.
  • Let’s encrypt 가 무료이긴 하지만, 사용법과 nginx 까지 공부가 필요하여 시간적 비용이 들어가므로, 고민해봐야 합니다.
  • AWS에서 도메인을 구매하면 인증서(ACM)까지 아주 간단히 해결되기 때문에 이용하자.

👉의견결정

  • FE: Route53에서 도메인구입 + ACM + Route53 호스팅 + Cloud Front + S3로 https 해결
  • BE: 미리 준비된 도메인 + ACM + Route53 호스팅 + ALB (어플리케이션 로드밸런서) + EC2 를 이용하여 https 해결
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.