2026-06-17
Today
- DB_Password 노출 가능성 이슈로 DB_PASSWORD rotate
- ecs-scheduler 야간종료 무효 버그 수정 — Lambda를
application-autoscaling:RegisterScalableTarget 방식으로 변경(stop=Min0/Max0, start=Min1/Max2 후 update_service). 기존엔 Auto Scaling min=1이 desired=0을 즉시 되돌려 야간종료가 안 됐음 → FinOps 효과 0이던 문제 해결
- 보안 후속 백로그 점검
- 해소 확인: bastion
farmily-relay-sg SSH 0.0.0.0/0 → 118.218.200.99/32 단일 IP·5432 규칙 제거 / CI/CD IAM 역할 난립 118→73개 정리(잔재 0)
- 미해소: OIDC sub 와일드카드(
repo:.../...:*) · 시크릿 로테이션 4개 전부 미설정(rotation=null)
AUTH_DEV_MASTER_ENABLED=true(prod) = 팀 로그인 검증용 의도적 설정 — 단 우회코드 DEV_MASTER가 README 공개·고정값이라 완화 필요(난수화+Secrets Manager 이관)
- 5차 멘토링(EKS 전환·OWASP LLM·AI 토큰/Bedrock·FinOps·온프vs클라우드 지표), 다음 회의 6/24 수 9:30
Notes
5차 멘토링 (09:30, 91분 / 멘토=현직 AWS)
전체 현황: 앱·온프·ECS 마이그레이션·AI·부하테스트·보안(Secrets Manager·WAF) 완료. 남은 흐름 = AI를 ECS에서 테스트 → EKS 전환 → DR → 모니터링. 다음 회의 6/24(수) 09:30, 가져갈 것 = 레주메(개인)·EKS 전환 진행분.
내 담당 직결 액션
- OWASP Top 10 + LLM Top 10 반영(멘토 텍스트 전달 예정). AI 산출물은 "권장대로 됐나" 검증까지가 일 — WAF 룰셋이 localhost까지 막은 사례가 교훈.
- EKS 전환: VPC 새로 만들지 말고 같은 VPC에서 블루그린+카나리 둘 다 실험. ECS 클러스터는 살리고 태스크만 0으로(발표 스토리 = "ECS→EKS 모더나이제이션"). ⚠️ IP/서브넷 설계 여유 있게 — 처음 잘못하면 IP 부족 시 재생성뿐(대기업도 EKS에서 IP 모자람).
- AI 토큰 모니터링 = Bedrock(모델별 사용·비용). 서비스 1건 단가 = 인프라비용 + 토큰비용. FinOps 가이드·토큰 절약 팁 멘토 별도 전달.
- FinOps: ECS 비용 산출·최적화 → EKS와 비교. 단가 계산·거버넌스.
- 온프 vs 클라우드 지표는 굳이 일치시킬 필요 없음 — 같은 CPU↑라도 온프=위험 / 클라우드=확장 신호. 목적이 다름.
- 부하테스트는 To-Be(클라우드형, Redis 등 다 붙임) 기준이 정석(이미 그렇게 함). 온프 100명에 스프링 다운 / 클라우드 70%3분→오토스케일 1→2→4·에러율 0%·MTTR 측정 = 보고서 칭찬받음.
- 레주메 개인 제출 시 30분 개인 멘토링 가능(멘토=아마존, 면접/CV 피드백).
- 온프 활용 옵션: EKS Anywhere/Hybrid·Istio 실험(권장은 아니나 가능).
팀 기타: 형주님 DB 마이그레이션(PG15→18) 문서에 데이터 규모(GB)·네트워크 정보 기록 + 트러블슈팅 KB + 매뉴얼 분리 + 정합성 검증 다른 방법. 세현님 AI 콘텐츠 효과 측정 지표. VSM(draw.io) 칭찬.
Learned
학습정리 문서별 핵심 용어 정리 완료
각 문서 본문에 등장하는 용어를 ## 핵심 용어 정리 섹션으로 추가.
- 1-IAM: OIDC(키리스 인증), PassRole(역할 위임 제한), Confused Deputy(대리인 도용 방어), Execution/Task Role(기동 vs 런타임), Trust/Permission Policy
- 2-CICD: Circuit Breaker(배포 실패 시 자동 롤백), Rolling Update(점진 교체), SHA 태그(이미지 고유 식별), Branch Protection(머지 조건 강제)
- 3-Secrets: valueFrom(ARN 참조 주입), KMS(암호화 키 관리), Rolling Update(무중단 리비전 교체), Circuit Breaker(키 누락 시 구버전 유지)
- 4-FIS: RTO(복구 시간 목표), MTTR(실측 평균 복구 시간), DNS TTL(캐시로 인한 연결 지연), Steady State(카오스 실험 정상 기준)
- 5-모니터링: P99(99번째 백분위 레이턴시), Latency(지연 시간), SLO(내부 목표), Golden Signals(Traffic/Latency/Errors/Saturation)
- 6-k6: Open/Closed Model(부하 생성 방식), Knee/Breakpoint(한계점), HikariCP 커넥션 풀(풀 소진=CPU 장님), Replatform(관리형 서비스 전환)
- 7-WAF: L3/L4 vs L7(계층별 방어), Rate-based Rule(속도 제한), override_action(count→block 카나리), scope_down_statement(범위 한정), IP Reputation(AWS 관리 악성IP 목록)
ECS 야간종료가 왜 안 됐나 — Auto Scaling이 desired의 하한을 강제
"min=1인데 Lambda가 desired=0으로 내려도 왜 다시 1이 되나" 물어본 데서 정리.
- ECS desiredCount는 Application Auto Scaling의 Scalable Target Min/Max 범위 안으로 강제된다.
UpdateService desiredCount=0만 호출하면 Auto Scaling이 "min=1 위반"으로 보고 즉시 1로 복원.
- 그래서 stop 때
RegisterScalableTarget으로 Min=0/Max=0부터 내린 뒤 desired=0을 줘야 0대 유지. start는 반대로 Min1/Max2 복원 후 desired=1.
- 검증법:
aws application-autoscaling describe-scalable-targets로 MinCapacity 값 직접 확인(0이면 야간종료 정상).
CI/CD 역할 난립이란
"역할 난립이 뭐야" 질문에서. 안 쓰는 CodePipeline/CodeBuild 실험 IAM 역할(cicd-test-* 등)이 ~30~45개 잔존하던 문제. 위험 = ① 공격표면 증가(assume 가능한 강권한 유휴 역할) ② 최소권한 위배 ③ 감사 추적 혼탁. last-used(Access Advisor)로 미사용 확인 후 일괄 삭제하는 게 정석.
AUTH_DEV_MASTER 우회 로그인 메커니즘
"이게 뭐야" 질문에서. enabled=true면 /api/v1/auth/kakao에 code:"DEV_MASTER"만 보내도 카카오 OAuth 검증을 건너뛰고 미리 지정된 dev-master 계정의 JWT를 발급. 편의 기능이지만 우회코드가 공개·고정값이면 인증 우회 백도어가 됨 → 코드 난수화+시크릿화로 완화.
Prompt(회고)