AWS Cloud School 13기 118일차
2026-06-25
Today
Notes
- [5-4] 카나리 실주행 검증 완료 — Rollout revision 이력으로 확인: rev2(02:59, OTel env 변경이 파드템플릿 바꿔 카나리 트리거 → AnalysisRun step2·step5 Successful·100% 완주, 에러율 게이트 통과) + rev3(수동 bump PR#104
ae0ed59→e5ff39a → 카나리 100% 완주 실측: 10%→게이트(step2)✅→50%→게이트(step5)✅→100%, 전 파드 e5ff39a 수렴). 진행 중 e5ff39a(canary) + ae0ed59(stable) 공존 → 완주 후 전부 e5ff39a. EKS=ECS 동일 버전 수렴. ⚠️"카나리 한 번도 안 돎" 가설 정정 — env 변경으로 이미 돌았었음. north-south 실 트래픽 분배만 cut-over 후(옵션 A).
- Backend CI 버그(ecr:DescribeImages) → prod 자동승격 복구 —
farmily-cicd-backend-role 인라인정책에 ecr:DescribeImages 누락 → dev이미지 존재확인 AccessDenied(2>/dev/null 삼킴)로 항상 skip = 그동안 수동승격한 진짜 원인([2-5]). 라이브 정책 확인 후 CLI put-role-policy로 추가·검증(백업 보관). gh run rerun 28143495808 재실행 → gitops-update-prod success(승격) + deploy-ecs-prod success(ECS에 e5ff39a) + Infra 승격 PR 자동생성. ⚠️ 역할이 terraform 밖(수동) → IaC화 백로그.
- runc 빌드 flapping 근본원인 — tf-agent terraform 빌드 무한멈춤 = OOM 아님(라이브측정 메모리 여유·dmesg 0건). 진범 = dockerd
runc: cwd outside mount namespace, possible container breakout = docker exec 거부(Docker25+containerd2.2+runc1.3.5 스큐+teardown 경합). 해결=B-lite(빌드 에이전트 EKS 파드化). 상세 트러블슈팅 문서 신설.
- 공유용 대정비 — §8 "현재 상태" 삭제(상태=Daily/PROJECT_CONTEXT)·§9→§8 재번호·§2 트리거 표 추가·카나리/CI한계/B-lite 등 계획·한계 제거("완료된 것만" 정책). 메타 지시문서도 갱신.
- AI staleness 해결 확인 — ECS·EKS AI 둘 다
prod-0511ae7f(OTel 빌드). [2-6]/세윤 백로그 제거.
Learned
- 카나리 트리거 = 파드 템플릿 변경(이미지 OR env). 이미지 안 바꿔도 env 추가로 카나리가 돈다(rev2가 그 예). 폴더/Application 변경은 트리거 X.
- "process never started" ≠ OOM. OOM은 돌다 죽는 것, 이건 기동 실패 → 앱로그 말고
journalctl -u docker(인프라 로그)를 봐라. 진범은 runc였다.
- IAM 정책 한 줄 누락이 자동화 전체를 조용히 막는다.
2>/dev/null이 AccessDenied를 삼켜 "이미지 없음"으로 오판 → 승격 skip. 에러 삼키는 코드 + 권한 누락 조합 위험.
- 증상으로 단정 말고 라이브 측정. "4GB·checkov=OOM" 그럴듯했지만 멈춘 순간
free/dmesg 한 번이 가설을 깼다.
Prompt(회고)
- 정말 제대로 Jenkins와 ArgoCD를 붙여서 해보자니 너무 어려운거 같다. 잘 모르는것도 많고 이렇게 하는 것이 맞는건지 내가 올바른 방향으로 가고 있는건지 의심이 많아진다.
- 모니터링도 지금 프로젝트에선 AWS이니깐 AWS 서비스를 잘쓰는게 좋은건지 아니면 그냥 내가 셀프호스팅이 좋은건지... 조금 어렵다.