Skip to content

[Week 5] L2-020 답안 제출 #28

@PokingTeemo

Description

@PokingTeemo

Week

5

Scenario ID

L2-020

Problem Identification

첫 번째 Kinesis 스트림(kinesis-stream-bazqzu)에서 심각한 과잉 프로비저닝이 발견되었습니다. 100개 샤드를 PROVISIONED 모드로 운영 중이며, 샤드당 $0.015/시간으로 계산하면 월 $1,080(100샤드 × $0.015 × 24시간 × 30일)의 고정 비용이 발생하고 있습니다.

두 스트림 모두에서 태깅 거버넌스 부재 문제가 확인되었습니다. Environment, Owner, Project 태그가 없어 비용 배분이 불가능한 상태입니다.

실제 처리량 데이터 없이 100개 샤드를 할당한 것은 일반적으로 과도한 설정으로, 대부분의 게임 워크로드에서는 10개 이하 샤드로도 충분한 경우가 많습니다.

Root Cause

비효율적 가격 모델 선택과 용량 계획 부재가 주요 원인입니다. Kinesis 스트림 생성 시 실제 트래픽 패턴 분석 없이 과도한 샤드 수를 할당했으며, PROVISIONED 모드 사용으로 유휴 용량에 대한 지속적인 과금이 발생하고 있습니다. 또한 태깅 거버넌스 부재로 인해 비용 추적 및 배분이 불가능한 상태입니다.

Proposed Solution

1순위: kinesis-stream-bazqzu 샤드 수 최적화 - 실제 처리량 메트릭 검토 후 샤드 수를 100개에서 10개로 축소. 절감액: 월 $972 (90샤드 × $0.015 × 24 × 30)

2순위: PROVISIONED → ON_DEMAND 모드 전환 검토 - 트래픽이 가변적이라면 ON_DEMAND 모드로 전환하여 유휴 시간 비용 제거. PUT 요금만 지불 ($0.014/100만 레코드)

3순위: 필수 태그 추가 - 모든 Kinesis 스트림에 Environment(prod/dev/staging), Owner, Project 태그 추가로 비용 배분 및 추적 체계 구축

4순위: retention_hours 최적화 검토 - 24시간 보존이 필요한지 확인, 불필요 시 단축으로 스토리지 비용 절감

Estimated Monthly Savings (USD)

972

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions