본문 바로가기

전체 글27

AWS Secrets Manager 기반 폴백 검증 설계 시작하며;최근 사내 보안 취약점 대응의 일환으로 '토큰 관리 체계 개선' 업무를 살펴 보고 있다. 단순히 설정 몇 개 바꾸고 끝날 일이 아니다. 키 하나 잘못 건드렸다가 서비스 전체가 멈추거나 사용자가 튕겨 나가는 대참사를 막기 위해, '어떻게 하면 사고 없이 안전하게 되돌릴지(롤백)' 와 '우리 유저들이 로그아웃되는 일은 없을지' 를 끝까지 고민해야 하는 꽤나 까다로운 작업이었다. 본격적인 작업에 앞서, 관련 로직을 작은 스케일로 축소하여 사이드 프로젝트에 선제적으로 적용하며 메커니즘을 손에 익히는 과정을 거쳤다. 마침, 사이드 프로젝트도 마찬가지로 JWT 시크릿 키를 환경 변수에 하드코딩하여 관리하고 있었다. 작업 시작 전, 관련 업무에 대해 전달받은 참고 자료와 피드백에 이러한 리스크를 방지하기 위.. 2026. 1. 22.
FSR vs Warm Pool 1. 배경: AMI 베이킹과 콜드 스타트의 불가피한 딜레마;1.1. 초기 문제점 및 AMI 베이킹 결정;우리가 직면했던 초기 문제는 안정성이었다. 이미지 생성 모델에 필요한 수십 GB 에 달하는 모델 파일이 있었고, 기존에는 컨테이너 실행 시마다 S3 에서 다운로드해야 했다.치명적인 위험: 다운로드 과정 중 발생하는 네트워크 불안정은 곧바로 서비스 장애로 이어진다.해결: 이 위험을 제거하고자 모델을 인스턴스 디스크에 포함하여 AMI(Amazon Machine Image) 를 생성했다. 이는 EBS 스냅샷을 기반으로 하는 베이킹(Baking) 전략이었다.1.2. FSR 도입의 근거: 길어진 디스크 초기화 시간;AMI 베이킹으로 안정성은 확보되었지만, 부작용이 발생했다. 수십 GB 의 데이터가 포함된 EBS.. 2025. 11. 20.
생성형 AI 모델 배포 최적화: 서버 역할 분리 아키텍처 개선 시작하며;최근 생성형 AI 워크플로우를 운영하면서 ComfyUI 기반 서버 구조를 개선하는 작업을 진행했다. 구조적으로는 프롬프트를 전달하는 Proxy 서버와 실제 모델을 실행하는 ComfyUI 서버로 분리되어 있다. 그러나 기존 AI/ML 엔지니어께서 구성한 배포 파이프라인에서는 ComfyUI 모델을 Proxy 서버에서 관리하고 있었고, 이는 역할 분리 관점에서 불필요한 결합이라고 판단했다. 일정 내 마무리를 위해 직접 뛰어들어 구조를 단순화하고 배포 효율을 높이는 개선 작업을 마무리했다.기존 구조의 문제;Proxy 서버는 원래 요청을 받아 ComfyUI 서버로 전달하는 역할만 담당한다.기존 배포 프로세스는 Proxy 가 모델 다운로드와 관리까지 수행했다.Proxy 와 ComfyUI 는 본질적으로 역할.. 2025. 8. 24.
Terraform 으로 만든 비공개 인프라: 외부는 막고 내부는 연다 시작하며;미국에서 먼저 서비스를 시작하기로 결정됐다. 하지만 단순히 기존 한국 리전의 AI 추론 서버를 옮기는 수준이 아니었다. 아예 처음부터, 미국 리전에 완전히 새로운 추론 인프라를 구축해야 했다. 한국 리전은 이미 갖춰진 네트워크, 보안, ECS 환경 위에 서비스를 얹는 일이었다. 기반 인프라가 있었기 때문에 상대적으로 수월하게 진행할 수 있었다. 하지만 미국 리전은 달랐다. VPC 부터 시작해 서브넷, 라우팅 테이블, 보안 그룹, ALB, ECS, 도메인 구성까지 — 모든 걸 처음부터 직접 설계해야 했다. 완전한 제로베이스에서 시작했다. 이 모든 과정을 Terraform으로 코드화하기로 했다. 목표는 단순했다."외부에 노출하지 않고, 내부 서비스 간 통신만 가능하게 하자." AWS 의 제약, Te.. 2025. 7. 27.
푸시 서버는 왜 죽었는가: 장애 원인 분석과 구조 개선 기록 시작하며;작년 9월과 10월, 두 달에 걸쳐 푸시 서버와 관련된 문제를 집중적으로 들여다봤다. 당시엔 따로 정리할 여유가 없었지만, 지금에서야 늦은 회고를 남겨본다. 모바일 서비스에서 푸시 알림은 단순한 메시지를 넘어, 사용자와의 접점을 가장 빠르고 직접적으로 만들어내는 중요한 수단이라고 생각한다. 실시간으로 정보를 전달하고, 사용자 행동을 유도하며, 서비스의 존재감을 각인시키는 데 핵심적인 역할을 하기 때문이다. 그런데.. 우리 서비스의 운영 과정에서 푸시 누락에 대한 제보가 지속적으로 발생했다. 사내 공유 목적으로 장애 보고서를 쓰며 로그를 역추적해보니, 이 문제는 2024년 10월 15일까지 계속해서 반복되고 있었다. 즉, 내가 합류하기 전부터 존재했던, 꽤 오래된 장애였다. 그래서 한동안 푸시 .. 2025. 7. 17.
Softmax 만으론 부족했다: 초음파 이미지 분류 문제를 다시 정의하다 시작하며;초음파 이미지 분류 모델을 개발하면서 내가 문제를 어떻게 정의하느냐에 따라 성능이 크게 달라질 수 있다는 사실을 깨달았다. 최초에 나는 이미지를 단일 클래스(single-class) 로 분류하도록 모델을 구성했다. 예를 들어, 이미지가 AC(복무 둘레), BPD(머리 둘레), FL(대퇴 길이) 등 특정 부위를 나타내는 경우, 해당 부위 하나만 예측했다. 하지만 이렇게 구성했을 때, 모델의 예측 정확도는 완벽하지 않았다. 그래서 HNL 을 수행했었다. 일종의 오답 노트 학습처럼, 잘못 분류한 클래스에 집중해서 보완했다. 하지만 다양한 사례를 살펴보면서, 예상하지 못한 경우를 정말 많이 마주쳤다. 결국 이 문제는 단일 클래스가 답이 아니라, 멀티 클래스 구조로 바꿔서 각 클래스 간 확률을 비교하게 .. 2025. 7. 12.