Posts
기술 기록
실제 회사 코드를 공개하지 않고, 문제와 설계 판단을 일반화해 정리한 백엔드 엔지니어링 노트입니다.
전체 글
문제별 기술 기록
15개 글
SSO 통합 로그인에서 IdP, authorization code, BFF를 이해하기
통합 로그인 설계에서 IdP, authorization code, PKCE, BFF, sender-constrained token이 각각 어떤 문제를 해결하는지 정리한 글입니다.
승인 전 운영 데이터를 보호하는 이벤트 검수 설계
입점업체 이벤트 생성/수정 요청을 실제 Event와 분리하고, JSONB snapshot과 approvalGroupId로 승인 전 운영 데이터 오염을 막은 설계 기록입니다.
init-db에서 Flyway와 ECS one-off migration으로 넘어간 기록
운영 직전 init-db 기반 초기화 흐름을 Flyway baseline, reference data migration, ECS one-off task, 병원 온보딩 API로 나누며 겪은 문제와 해결을 정리한 기록입니다.
가격 재계산 실패가 이벤트 저장을 막지 않게 분리한 설계
이벤트 저장과 가격 재계산을 같은 트랜잭션에 묶지 않고 Outbox, after-commit listener, SQS 재처리 경로로 장애를 격리한 설계 기록입니다.
Flyway 도입과 dev ECS 전환을 같이 리허설한 기록
init-db를 Flyway baseline으로 바꾸는 과정에서 리뷰로 발견한 문제, 기존 RDS adoption, Terraform/RDS 함정, dev ECS 전환 리허설까지 이어진 실제 작업 로그입니다.
단가가 바뀌어도 정산 비용 근거를 보존하는 설계
거래처 단가가 변경되어도 과거 확정 비용의 산출 근거가 흔들리지 않도록 단가 버전과 비용확정 snapshot을 분리한 설계 기록입니다.
이벤트 상품을 템플릿 중심으로 모델링한 이유
event_template과 event를 분리해 상품 정체성과 운영 조건을 나누고, 할인 조건이 늘어날 때 같은 상품이 중복 노출되지 않도록 고민했던 설계 기록입니다.
Terraform state에 DB password를 남기지 않는 secret 운영 경계
Terraform은 foundation/data/app 경계를 만들고, 실제 DB user password는 bootstrap과 Secrets Manager에서 다루도록 분리한 보안 설계 기록입니다.
기존 staging DB를 버리지 않고 Flyway에 편입하는 방법
이미 병원별 운영 데이터가 쌓인 staging DB를 재생성하지 않고 Flyway baseline version 2로 편입하기 위해 확인해야 할 기준과 보정 절차를 정리한 기록입니다.
ECS Fargate에 capacity provider와 오토스케일링을 붙인 기록
desired_count 1로 고정되어 있던 정산 서비스 dev/stag ECS를 FARGATE_SPOT, base capacity, CPU 타깃 트래킹, stopTimeout까지 포함해 재설계한 기록입니다.
ECR 라이프사이클 정책 때문에 stag ECS가 내려간 장애 복구기
ECS service 재생성 과정에서 ECR에 남아 있지 않은 digest를 pull하려다 stag 태스크가 모두 뜨지 못한 장애와, 커밋 역추적부터 재빌드 복구까지의 과정을 정리했습니다.
CloudWatch 알람과 AWS Chatbot으로 ECS 장애를 Slack에 연결하기
ECS 배포 실패, 태스크 배치 실패, ALB healthy target 소실, RDS 자원 고갈까지 CloudWatch와 EventBridge 알람을 구성하고 AWS Chatbot으로 Slack에 연결한 기록입니다.
ECR을 Terraform에 편입하고 배포 추적성을 복구한 기록
수동 관리되던 ECR repository를 Terraform import block으로 편입하고, immutable tag, scan-on-push, prevent_destroy, git-sha 태그, 배포 전 digest 검증까지 정리한 기록입니다.
ALB access log로 장애 시간대 요청을 남기는 구조
정산 서비스에서 장애 중 실제 유입 요청을 확인하기 위해 ALB access log를 S3에 적재하고, 권한, 암호화, 보존 기간, 검증 방법을 정리한 기록입니다.
GitHub Actions OIDC로 ECS 배포 파이프라인을 만든 기록
로컬 수동 배포를 GitHub Actions, AWS OIDC, ECR build-push, 수동 deploy dispatch, SSM deployed-image 기록, dev에서 stag 승격 규약으로 바꾼 기록입니다.