우아한테크캠프PRO

우아한 테크 캠프 PRO 2기 - 4주차 그럴듯한 서비스 만들기 후기

YoonBing9 2021. 6. 18. 15:21

4주차는 개발환경과 운영환경을 구축해보는 인프라 시간이었다.

인프라 구축을 제대로 해본 경험이 없었기 때문에 처음엔 당황했지만 하나하나 개념을 알아가면서 진행하니 어려운것은 없었다.

인프라 구축시 진행했던 내용은 아래와 같다.

1. AWS 네트워크 망 분리

  • VPC 생성
  • 인터넷 게이트웨이 생성
  • 서브넷 생성 (public 웹서버 2개, public Bastion서버 1개, private DB서버 1개)
  • 라우팅 테이블 설정
  • 넷 게이트웨이 생성
  • 시큐리티 그룹 설정

2. 서버 설정

  • bastion 서버에서 각 서버 접속가능하게 각 서버에 공개키 설정
  • bastion 서버에 각 서버의 별칭 세팅(hosts파일)
  • 히스토리에 시간값 세팅
  • 세션 타임아웃 세팅
  • 프롬프트에 각 서버별칭 나오게 설정
  • 감사로그 남기도록 설정
  • DNS 설정

3. 운영환경 구성

  • 웹서버에 어플리케이션 배포(도커)
  • 웹서버에 reverse proxy(nginx) 설정
  • reverse proxy에 TLS 설정
  • 디비서버에 디비 배포(임시로 도커로 배포)

4. 개발환경 구성

  • 설정 파일 나누기(profiles)
  • flyway를 이용한 데이터베이스 스키마 버전 관리
  • SonarLink를 이용한 정적 테스트 적용하기
  • MultiRun을 이용한 서버를 띄울 때, 미리 띄어져야 하는 서버들 설정하여 한 번에 같이 띄우기
  • GitHub의 서브모듈을 이용해서 설정파일 비공개 처리하기

대부분 처음 구축해보는거지만 개념이 어렵지 않고 인프라를 구축하는 것도 재밌게 할 수 있었다.