System Integration Challenge: Ensuring Lossless Log Collection During MySQL Log Rotation with FluentBit
·
DevOps
OutlineOne concern I had while setting up logrotate was that although it was confirmed that logs could be received without loss through logrotate, the question was how fluentbit would recognize the newly created log files through logrotate.Since fluentbit also recognizes files registered to fd once based on inode, I had to notify fluentbit about the newly created files through logrotate.Therefor..
[Cloud-Canvas] CI 파이프라인 개선기(pnpm + turborepo)
·
DevOps
개요이전에 6주간 네이버 부스트캠프에서 그룹 프로젝트를 진행했습니다.적은 개발 기간 속에서 기획, 아키텍처 설계, 기능 개발까지 모두 구현하느라, 정리가 안된 항목들이 많이 있었는데요.그중 하나가 바로 CI 파이프라인이었습니다. 위의 사진들에서 볼 수 있듯이 프로젝트 배포에 필요한 도커 이미지를 만드는데 많은 시간을 소요하고 있었습니다.이렇게 긴 시간을 차지하고 있는 CI 파이프라인은 개발자들의 개발 속도를 늦추게 했습니다. 실제로 저는 그러한 경험을 겪었는데요. 배포 환경에서 발생한 버그를 수정하기 위해 빠르게 코드를 고쳤어도 CI 파이프라인의 속도가 느려 배포 환경에 적용이 원할하게 되지 않아 기다림을 계속했던 기억이 있습니다.그룹 프로젝트의 전반적인 인프라 및 파이프라인 구축을 맡은 저로서는 팀원들..
[Cloud-Canvas] Terraform을 활용한 효율적인 인프라 관리
·
DevOps
개요저희 팀은 개발 환경과 배포 환경을 나눠서 인프라를 구축할 예정이었습니다.개발 환경에서는 ssd swap이 된 인스턴스 하나로 시스템 모니터링 및 데이터베이스를 포함한 8개의 컨테이너가 실행될 예정이었고, 배포 환경에서는 각 부분을 모니터링, 데이터베이스, 프론트, 백으로 나눠 총 4개의 인스터스로 운영할 예정이었습니다.이 때문에 개발 환경과 배포 환경의 구성이 비슷해지는 경향이 있었습니다.예를 들어 Ncloud에서는 인스턴스 하나를 배포하기 위해, 다음과 같은 의존적인 리소스가 필요합니다.vpc: 가상 네트워크를 제공하는 공간subnet: vpc로 격리된 네트워크에서 한 번 더 용도에 맞게 분리할 수 있도록 하는 공간따라서 하나의 인스턴스를 운영하려면 총 3개의 리소스를 사용해서 운영을 해야 하는데..