본문 바로가기

개발/Infra

(3)
Docker-compose Watch Tower 적용 개요현재 프로젝트의 배포 환경에서는 docker-compose를 이용해 backend docker image와 frontend docker image가 한번에 배포되고 있습니다. 이 때문에, frontend 개발자가 코드 변경 사항을 실 서버에 배포하려면 직접 배포 프로세스를 모두 익히거나, 배포 담당자에게 따로 부탁을 해야했습니다.  이러한 비 효율적인 방법을 개선하기 위해, frontend 개발자가 github에 코드를 push 했을 때 자동으로 실 서버에 배포되는 환경을 구현했습니다.   watchtower 란Docker Watchtower는 도커 컨테이너를 자동으로 업데이트해주는 도구입니다. Watchtower는 실행 중인 도커 컨테이너의 이미지를 주기적으로 확인하고, 새로운 버전의 이미지가 Do..
Elastic Search + Kibana 도커 구동 개요APM을 이용해 NestJS 서버를 모니터링 할 생각으로 EC2에 스카우터를 띄웠습니다. 그런데 웬걸 스카우터는 node 서버는 모니터링이 안되는 것이었습니다. 그래서 node 서버를 모니터링 하기 위한 툴을 여러개 찾던 중 Elastic APM에 대해 알게되었습니다. 그동안 ELK stack에 대해서 들어만 봤지 실제로 써본적은 한번도 없었기에 일단 Elastic Search + Kibana를 도커로 띄워보면서 ELK stack과 친해져 보겠습니다.   Elastic Search 1. elastic search의 도커 이미지를 다운 받습니다.docker pull docker.elastic.co/elasticsearch/elasticsearch:8.7.0 2. 도커 이미지를 컨테이너화 시킵니다.doc..
가상 메모리를 통한 EC2 t2.micro 서버 다운 현상 해결 서론인턴십 온보딩 기간 동안 간단한 사내 프로젝트를 수행했습니다. 프로젝트의 배포는 EC2 t2.micro 위에 Docker Compose로 next.js, NestJS, PostgreSQL을 하나의 서비스로 정의해 컨테이너 묶음으로 관리했습니다. 컨테이너를 올리는 것까지는 정상적으로 동작했지만 컨테이너를 올린 뒤, 몇초가 지나면 EC2 서버가 다운되는 현상이 지속되었기에 이를 해결해보겠습니다.   Scouter 적용보통 EC2의 t2.micro는 일반 컴퓨터에 비해서 사양이 매우 낮기 때문에 과도한 CPU 버스트가 일어나거나, 할당할 수 있는 메모리가 없는 경우에 다운됩니다. 이를 확인해보기 위해 두가지 방법을 생각했습니다. 1. SSH로 EC2에 접근한 뒤, 명령어를 통해 CPU와 메모리 사용률을 측..