Search

AWS-Cost

플랫폼 분야
WEB
Cloud
활동
개인
태그
2023년
AWS
NestJS
React
AWS SDK
Cost Explorer API

서비스 내용

AWS를 사용하는 많은 사용자가 매번 로그인하여 비용을 확인하는 번거로운 과정을 겪고 있었습니다. 이를 간소화하고자 AWS Account ID를 입력하고 버튼 클릭 한 번으로 이번 달 비용을 확인할 수 있는 웹사이트를 개발했습니다. 이 프로젝트는 사용자 경험 개선효율적인 클라우드 비용 관리를 목표로 시작되었습니다.

기능

홈화면

AWS 사용자는 입력폼에 자신의 AWS AccountID를 입력 할 수 있습니다.

비용 확인

사용자는 자신이 입력한 AccountID 에서의 이번달의 비용을 버튼 클릭 한번으로 로그인을 통하지 않고 간소화 하여 쉽게 확인 할 수 있습니다.

사용 기술 및 라이브러리

React + Axios

컴포넌트 기반 UI
재사용 가능한 컴포넌트 구조로 사용자 인터페이스 개발의 효율성과 유지보수성을 높여 채택하였습니다.
비동기 HTTP 요청
간편한 API 호출과 에러 처리를 통해 서버와의 데이터 통신을 원활히 지원하기에 채택하였습니다.

NestJS + AWS SDK

유지보수성과 확장성
모듈화와 의존성 주입을 통해 유지보수성과 확장성을 높여주기에, 프로젝트에 적합했습니다.
타입스크립트 기반
TypeScript를 사용해서 타입 안정성코드 자동완성, 리팩토링에 유리하기에 채택하게 되었습니다.
풍부한 공식 모듈
TypeORM, Mongoose, GraphQL, WebSockets, Swagger 등 다양한 공식 통합 모듈을 제공하기에 채택 하였습니다.
비용 확인
AWS Account ID의 비용을 확인 하기 위해 AWS SDK를 채택하였습니다.

맡은 역할

프로젝트 전체 담당

React를 활용한 반응형 사용자 인터페이스 설계 및 구현
Axios를 사용해 백엔드 API와 데이터 통신 로직 구축
NestJS로 유지보수 가능한 서버 아키텍처 설계
AWS SDK를 활용해 AWS Account ID의 비용 확인 기능 구현
프론트엔드와 백엔드를 통합하여 클라우드 환경(AWS)에 배포

겪었던 어려움

React 웹사이트는 HTTPS 프로토콜로 배포하고, 백엔드 서버는 HTTP 프로토콜로 배포하여 프로토콜이 달라 통신이 안되는 문제가 발생하였습니다.

해결 방안

React 프로토콜 변경

React 배포를 vercel에서 S3 Bucket Static Hosting을 통해서 HTTP 프로토콜로 일치시켜 백엔드 서버와 문제 없이 통신되도록 구현하였습니다.

성과

이 프로젝트를 통해 AWS SDK의 활용과 API 문서 분석 능력을 크게 향상시켰습니다. 특히, 프론트엔드(React, HTTPS)와 백엔드(NestJS, HTTP) 간 프로토콜 불일치 문제를 S3 Static Hosting으로 해결하면서 배포 환경 설정프로토콜 관리에 대한 이해를 깊게 했습니다. 또한, 사용자 중심의 UI/UX 설계가 서비스의 성공에 얼마나 중요한지 깨달았습니다.

Github

AWS-Cost
wlstmd