2026-03-19 개발 일지

1. 작업 분포

카테고리비중
AWS 인프라 운영 및 디버깅40%████░░░░░░
클라우드 엔지니어링 학습/설계30%███░░░░░░░
기능 버그 수정 및 데이터 정비20%██░░░░░░░░
문서화 및 발표 준비10%█░░░░░░░░░

2. 집중 영역 / 시간 소모 포인트

🟢 생산적 작업

  • AWS 백엔드 복구: RDS에 누락된 테이블을 수동 DDL로 생성하고, Docker Compose 오버라이드 파일을 통해 로컬 설정 대신 AWS 리소스(RDS, ElastiCache)를 바라보도록 수정하여 백엔드를 정상화함.
  • CloudFront 캐시 오염 해결: API 요청이 S3의 HTML을 반환하던 문제를 진단하고, 캐시 무효화(Invalidation)를 통해 정상 라우팅을 복구함.
  • 인증 로직 개선: 회원가입 후 토큰이 발급되지 않는 문제를 auth.jsregister 함수 수정을 통해 해결하여 결제 흐름을 완성함.
  • 학습 커리큘럼 체계화: VPC 설계 과제(M01)의 진입 장벽을 낮추기 위해 의존성 지도와 베스트 프랙티스를 정리한 기반 모듈(M00)을 신규 생성함.

🔴 삽질/시간 소모 포인트

  • Hibernate 7 스키마 불일치: Enum 타입 매핑 방식 변경(VARCHAR SMALLINT)으로 인한 반복적인 스키마 검증 에러 디버깅.
  • 타임딜 시간대 혼동: DB의 시간을 수정할 때 UTC/KST 차이로 인해 즉시 EXPIRED 처리되는 현상을 겪으며 시간대 재설정에 소요됨.
  • 과거 로그 검색 실패: 초기 스키마 DDL 스크립트를 과거 로그에서 찾으려 시도했으나 실패하여 Entity 클래스를 분석해 수동으로 생성해야 했음.

3. 타임라인

시간화자내용
01:37🦦AWS 상태 점검 시작. 백엔드 컨테이너 다운 및 RDS 테이블 부재 확인.
01:43🦦과거 로그 검색 실패. Entity 클래스 분석 후 수동 DDL 생성 및 RDS 적용 진행.
01:54🦦Docker Compose 하드코딩 문제 해결 위해 AWS 리소스 연결을 위한 오버라이드 파일 생성.
01:57🦦Enum 타입 불일치(SMALLINT)로 인한 에러 발생 및 스키마 수정.
02:09🦦백엔드 정상 기동 및 ALB 헬스체크 복구.
02:20🦦Terraform 리스크 회피 위해 수동으로 ACM 인증서 발급 및 Route53 레코드 추가.
09:26🦦CloudFront 캐시 오염(API 요청 시 HTML 반환) 진단 및 캐시 무효화 명령 실행.
09:29🦦auth.jsregister 함수 수정(회원가입 후 로그인 자동 호출)하여 토큰 발급 로직 추가.
09:59🦦Redis와 DB 재고 일치성 검증 완료 및 모니터링 방법 공유.
10:14🦦발표용 신규 타임딜 및 상품 생성, 종료된 딜 시간 초기화 시도.
10:20⌨️SSM 경유 DB 직접 접속하여 EXPIRED 딜을 PENDING으로 상태 변경.
10:26🦦UTC/KST 혼동으로 인한 재차 EXPIRED 문제 발생 및 시간대 재설정.
18:56🦦삭제된 포트폴리오 API(portfolio-status-api) 소스 복구 및 Cloud Run 재배포.
19:34🦦infra-study 폴더 생성 및 M01(VPC 설계) 과제 템플릿 작성.
20:02🦦M01 진입 난이도 조절을 위해 M00(Foundation) 문서 생성 및 의존성 지도 정리.

4. 해결한 문제와 인사이트

백엔드 기동 및 스키마 이슈

  • 문제: RDS 초기화 상태에서 ddl-auto: validate 모드로 실행되어 기동 실패 및 Hibernate 7의 Enum 타입 기본값(TINYINT) 불일치 발생.
  • 해결: Entity 분석을 통해 수동 DDL을 생성하여 테이블을 세팅하고, Enum 컬럼 타입을 SMALLINT로 수정하여 호환성을 맞춤.

인프라 캐싱 및 네트워킹

  • 문제: CloudFront에 과거에 캐싱된 S3 index.html이 API 요청(POST /api/v1/orders)에 대해 반환되어 JSON 파싱 에러 유발.
  • 해결: CloudFront Invalidation(/api/*)을 수행하여 오염된 캐시를 제거하고 트래픽을 ALB로 정상 라우팅함.

학습 방법론 및 시스템 운영

  • 문제: 인프라 학습 시 VPC 설계(M01)의 복잡한 의존성으로 인한 진입 장벽 발생. 또한 타임딜 상태 전환 시 DB 수동 조작 필수성 확인.
  • 해결: 선행 학습 모듈(M00)을 통해 의존성 지도와 판단 기준을 제공하여 학습 효율성을 높임. DB 상태 변경 시 시간대(Timezone)를 명확히 명시하여 스케줄러 동작 보장.

5. 주요 파일 및 수정 사항

  • pposiraegi-ecommerce/backend/schema.sql:
    • Entity 클래스 분석 기반으로 수동 생성된 DDL 스크립트로 RDS에 14개 테이블 생성.
  • docker-compose.prod.yml:
    • 로컬 설정의 하드코딩된 DB/Redis 정보를 오버라이드하여 AWS RDS, ElastiCache 연결 설정.
  • timedeal-order/src/api/auth.js:
    • register 함수 로직 수정: 회원가입 직후 로그인 API를 호출하여 accessTokenrefreshToken을 로컬 스토리지에 저장하도록 변경.
  • infra-study/M00-Foundation/README.md:
    • 신규 생성. VPC 설계를 위한 선행 학습 자료(의존성 지도, 판단 기준, 실수 포인트) 정리.
  • portfolio/status-api/deploy.shindex.html:
    • Cloud Run(us-central1) 재배포 수행 및 API 요청 URL을 새로운 서비스 주소로 갱신하여 포트폴리오 상태 체크 기능 복구.

Supported by ai-log-sync & GLM-4.7