-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
Labels
Description
๐ ๏ธ Issue Description
AWS Cost Explorer API๋ฅผ ํ์ฉํ ์ข ํฉ์ ์ธ ๋น์ฉ ๊ด๋ฆฌ ์์คํ ์ ๊ตฌํํฉ๋๋ค. ์ฌ์ฉ์๊ฐ AWS ์๋น์ค๋ณ ๋น์ฉ์ ์กฐํํ๊ณ , ๋น์ฉ ์์ธก์ ํตํด ์์ฐ ๊ด๋ฆฌ๋ฅผ ํ ์ ์๋๋ก API๋ฅผ ์ ๊ณตํฉ๋๋ค. 80๊ฐ ์ด์์ AWS ์๋น์ค๋ฅผ enum์ผ๋ก ๊ด๋ฆฌํ์ฌ ํ์ ์์ ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ํ๋ณดํ์ต๋๋ค.
๐ญ Functional role
์ด ๊ธฐ๋ฅ์ ์ฌ์ฉ์๊ฐ AWS ๋น์ฉ์ ํจ์จ์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ๊ณ ๊ด๋ฆฌํ ์ ์๋๋ก ๋์ต๋๋ค. ์ค์๊ฐ ๋น์ฉ ์กฐํ, ์๋น์ค๋ณ ๋น์ฉ ๋ถ์, ๋ฏธ๋ ๋น์ฉ ์์ธก์ ํตํด ์์ฐ ๊ณํ ์๋ฆฝ๊ณผ ๋น์ฉ ์ต์ ํ๋ฅผ ์ง์ํฉ๋๋ค.
๐ check-lists
- AWS SDK v2 ์์กด์ฑ ์ถ๊ฐ
- Caffeine ์บ์ ์์กด์ฑ ์ถ๊ฐ
- AwsConfig ํด๋์ค ๊ตฌํ (Cost Explorer ํด๋ผ์ด์ธํธ ์ค์ )
- CacheConfig ํด๋์ค ๊ตฌํ (1์๊ฐ TTL ์บ์ ์ค์ )
- AwsService enum ๊ตฌํ (80๊ฐ+ AWS ์๋น์ค, @Schema ์ด๋ ธํ ์ด์ )
- CostResponse DTO ๊ตฌํ (๋น์ฉ ์๋ต ๊ตฌ์กฐ)
- CostForecastResponse DTO ๊ตฌํ (๋น์ฉ ์์ธก ์๋ต ๊ตฌ์กฐ)
- AwsCostService ๊ตฌํ (AWS Cost Explorer API ํธ์ถ ๋ก์ง)
- AwsCostController ๊ตฌํ (7๊ฐ REST API ์๋ํฌ์ธํธ)
- ์ ์ฒด ๋น์ฉ ์กฐํ API (GET /api/aws/costs/total)
- ์๋น์ค๋ณ ๋น์ฉ ์กฐํ API (GET /api/aws/costs/by-service)
- ํน์ ์๋น์ค ๋น์ฉ ์กฐํ API (GET /api/aws/costs/service/{serviceName})
- ๋น์ฉ ์์ธก ์กฐํ API (GET /api/aws/costs/forecast)
- ์๋ณ ๋น์ฉ ์กฐํ API (GET /api/aws/costs/monthly)
- ํ์ฌ ์ ๋น์ฉ ์กฐํ API (GET /api/aws/costs/current-month)
- ์ง๋ 30์ผ ๋น์ฉ ์กฐํ API (GET /api/aws/costs/last-30-days)
- AWS ๊ด๋ จ ์๋ฌ ์ฝ๋ ์ถ๊ฐ (ErrorCode.java)
- ์์ธ ์ฒ๋ฆฌ ๊ตฌํ (๊ตฌ์ฒด์ ์ธ AWS ์๋ฌ ๋ฉ์์ง)