Nginx와 Fluent Bit를 활용한 클라이언트 TLS 버전 및 Cipher Suite 로깅 가이드

웹 서비스의 보안 수준이 지속적으로 강화되면서, 구형 암호화 프로토콜인 TLS 1.0과 TLS 1.1의 지원을 중단하고 TLS 1.2 및 TLS 1.3으로 전환하는 기업이 늘고 있습니다. 하지만 무턱대고 하위 버전의 지원을 끊어버리면 구형 브라우저나 오래된 디바이스(예: 구형 안드로이드, IoT 기기 등)를 사용하는 고객들의 접속이 전면 차단되는 장애가 발생할 수 있습니다. 따라서 보안 정책을 업데이트하기 전, 현재 우리 서비스에 … 더 읽기

IntelliJ HTTP Client를 활용한 Jenkins CI/CD 무중단 배포 및 자동 롤백 전략 (Docker & K8s)

개발자들에게 친숙한 IDE인 인텔리제이(IntelliJ IDEA)에는 강력한 API 테스트 도구인 .http 클라이언트가 내장되어 있습니다. 많은 분들이 이를 단순히 로컬 개발 환경에서 API를 호출해보는 용도로만 사용하지만, 사실 이 도구는 CI/CD 파이프라인의 핵심 안정성 검증 도구로 확장될 수 있는 잠재력을 가지고 있습니다. 특히 서비스 배포 과정에서 “배포 후 정상 작동 여부”를 사람이 직접 확인하는 것이 아니라, 스크립트를 통해 자동으로 검증하고 … 더 읽기

클라우드 IaaS 6대장 완벽 비교: AWS, Azure, GCP vs 네이버, NHN, KT (장단점 및 추천 가이드)

서비스를 런칭하거나 인프라를 마이그레이션 할 때 가장 먼저 마주하는 거대한 장벽, 바로 ‘어떤 클라우드(IaaS)를 쓸 것인가?‘입니다. 과거에는 “그냥 AWS 쓰면 되는 거 아니야?”라고 했지만, 이제는 상황이 많이 달라졌습니다. 글로벌 3대장(AWS, Azure, GCP)의 기술 격전 속에, ‘K-클라우드’라 불리는 국내 3사(네이버, NHN, KT)가 압도적인 가성비와 현지화 전략으로 무섭게 치고 올라왔기 때문이죠. 오늘은 여러분의 비즈니스 성격에 딱 맞는 … 더 읽기

Spring Boot 분산 추적 완벽 가이드: Jaeger와 OpenTelemetry로 MSA 성능 병목 해결하기

devops

관측 가능성(Observability) 시리즈의 마지막 퍼즐이자, 마이크로서비스 아키텍처(MSA) 환경에서 병목 지점을 찾아내는 최고의 해결사인 “분산 추적(Distributed Tracing)“에 대한 포스팅입니다. 우리는 지금까지 ELK Stack을 통해 “과거에 발생한 에러 로그”를 통합 관리하는 법을 배웠고, Prometheus와 Grafana를 통해 “현재 서버의 리소스 상태”를 모니터링하는 체계를 갖추었습니다. 이 두 가지 시스템만으로도 모놀리식(Monolithic) 아키텍처나 서버 개수가 적은 환경에서는 충분한 관제 능력을 발휘할 수 있습니다. … 더 읽기

Prometheus와 Grafana 완벽 가이드: Docker로 구축하는 서버 성능 모니터링 시스템

java

이전 포스팅에서 다룬 ELK Stack이 “과거에 무슨 일이 있었는지(Logs)“를 분석하는 도구라면, 오늘 다룰 Prometheus와 Grafana는 “현재 서버의 상태가 어떤지(Metrics)“를 진단하는 청진기와 같습니다. 지난 시간에 우리는 ELK Stack을 통해 대용량 로그를 통합 관리하는 방법을 배웠습니다. 이제 여러분은 특정 에러가 언제 발생했는지 로그를 통해 추적할 수 있는 능력을 갖추게 되었습니다. 하지만 로그만으로는 시스템의 전체적인 건강 상태를 파악하는 … 더 읽기

ELK Stack 완벽 가이드: Elasticsearch, Logstash, Kibana로 구축하는 대용량 로그 통합 관리 시스템

devops

지난 포스팅에서 Logback을 이용해 단일 서버 환경에서 로그를 파일로 남기고, 치명적인 에러가 발생했을 때 슬랙(Slack)으로 알림을 받는 방법까지 알아보았습니다. 서비스 초기 단계나 트래픽이 많지 않은 단일 서버 아키텍처(Monolithic Architecture)에서는 이 정도 설정만으로도 충분히 운영이 가능합니다. 개발자가 필요할 때 서버에 접속해서 vim이나 cat, grep 명령어로 로그 파일을 열어보면 되기 때문입니다. 하지만 서비스가 성장하여 서버가 10대, 100대로 늘어나거나, 마이크로서비스 아키텍처(MSA)를 도입하여 수십 … 더 읽기

Jenkins Docker 권한 문제 해결: 볼륨 마운트 시 “Operation not permitted” 오류 완벽 가이드

Docker를 활용해 CI/CD 환경을 구축할 때, Jenkins 데이터를 영구적으로 보관하기 위해 호스트 디렉토리를 볼륨으로 마운트하는 것은 필수적입니다. 하지만 이 과정에서 많은 개발자들이 Jenkins Docker 권한 문제 해결에 어려움을 겪곤 합니다. Jenkins가 마운트된 디렉토리에 파일을 쓰지 못해 플러그인 설치가 실패하거나, 설정이 저장되지 않는 등의 문제가 발생하기 때문입니다. 이번 포스팅에서는 로그 파일에 가득 찬 java.nio.file.FileSystemException: … Operation not permitted에러의 … 더 읽기