Day 58 - 피드백 반영
이전 기획
- 환경 : 온프레미스 환경에서 데이터 수집
- 아키텍처 : API Gateway + Lambda 기반 서버리스 구조
수정 기획
- 아키텍처 변경 : MSA로 전환
- 데이터 수집 서비스
- 데이터 조회 서비스
- 모니터링 서비스
- 로깅 서비스
- 데이터 수집 방식 변경 : 배치 방식 -> 이벤트 드리븐
- 온프레미스 역할 변경 : 데이터 수집 -> 백업 전용 환경
Day 59 - 2차 아키텍처 설계
2차 아키텍처 설계

Route53을 DynamoDB라고 잘못 표기되어 있음!
수정된 기획안을 토대로 팀원들마다 각자 아키텍처를 설계해봤다.
나는 정적 페이지는 CloudFront와 S3를 통해 클라이언트에게 전달하고, 백엔드 서비스는 EKS에 관리하도록 설계했다. 또한, EKS에서 ECR로부터 컨테이너 이미지를 가져올 수 있도록 VPC Endpoint를 연결했다. 이를 통해 인터넷을 거치지 않고 AWS 내부 네트워크로 통신할 수 있어 보안성과 효율성이 높아진다.
모니터링과 로깅은 원래 EKS 내부에서 Prometheus, Grafana, Elasticsearch, Fluentd, Kibana 등을 이용하려 했으나 현재는 서비스 배포를 우선하기 위해 AWS에서 관리해주는 CloudWatch를 사용하기로 했다.
백엔드 서버 개발

네이버 API로부터 데이터를 수집하고 DynamoDB에 저장하는 서비스와 DynamoDB에 저장된 데이터를 조회하는 서비스를 각각 FastAPI로 개발했다. 빠른 개발을 위해 Claude를 적극 활용하여 개발했다.

로컬 환경에서 데이터를 직접 조회하고 삽입하려면 DynamoDB 접근 권한이 필요하다. 이를 위해 내 계정의 Access Key와 Secret Key를 발급받아 aws configure에 저장했다. 실제 EKS 배포 시에는 IAM Role 기반으로 권한을 설정할 예정이다.

API 테스트를 마친 뒤, Docker로 이미지를 빌드해 내 DockerHub 레포지토리에 업로드했다. 그 후 로컬 환경에서 이미지를 내려받아 컨테이너로 실행하고 다시 API 테스트까지 완료했다.
물론 현재는 로컬 환경에 맞춰져 있어 추후 권한 설정이나 S3 연동 등 수정할 부분이 남아 있지만, 프로토타입을 완성해둔 덕분에 빠르게 EKS 클러스터에 올려볼 수 있을 것이다.

프론트엔드 개발은 다른 팀원이 맡아주셔서, 참고할 수 있도록 API 명세서를 정리했다. 아직 배포 전이라 Swagger를 쓰려면 로컬에서 컨테이너를 실행해야 하므로, 문서화된 명세서가 더 효율적이라고 판단했다.
Day 60 - 2차 아키텍처 설계
2차 아키텍처 설계도 피드백 반영


- 아키텍처 흐름은 가로 방향보다 세로 방향이 보기 좋다는 피드백을 받아 수정
- 또한 서브넷별 라우팅 테이블과 리소스별 보안 그룹을 정리한 표를 새로 작성
- 내일 있을 피드백을 위해 서비스 전달 경로도 기록해둠
전달 경로 정리
- 정적 콘텐츠 전달 경로 : 사용자 -> Route53 -> WAF -> CloudFront -> S3
- API 서비스 경로 : 사용자 -> Route53 -> WAF -> Internet Gateway -> ALB -> EKS Cluster(데이터 조회 Pod) -> DynamoDB
- 외부 API 호출 경로 (EKS -> 네이버 API) : EKS Cluster(데이터 수집 Pod) -> NAT Gateway -> Internet Gateway -> 네이버 API
✍️ 주간 회고

이번주는 공휴일과 직무특강으로 인해 실제로는 프로젝트에 참여하는 기간이 3일 밖에 없어서 조금 아쉬웠다 .
그래도 피드백을 바녕ㅇ하며 아키텍처를 계속 수정해나가다 보니 서비스가 점점 더 정교해지고 있다는 점에서 뿌듯함을 느꼈다.
백엔드 개발은 Claude를 활용해 거의 바이브 코딩으로 진행했는데, 생각보다 빠르게 마무리할 수 있어서 다행이었다. FastAPI를 처음 접할 때는 별도로 학습을 해야 하나 고민했지만 기본 개념이 직관적이었고 Python 코드에 대한 이해가 있는데다가 다른 언어로 백엔드 개발 경험도 있었기 때문에 필요한 부분만 빠르게 수정하고 적용할 수 있었다.
AI는 주로 ChatGPT만 사용해왔는데, 이번에 Claude를 써보니 코딩 쪽은 Claude가 더 강점이 있는 것 같았다. 그래서 이번 기회에 Pro 버전까지 결제해봤고 앞으로는 다른 AI들도 직접 써보며 비교해보면 좋겠다는 생각이 들었다.
'TIL' 카테고리의 다른 글
| [에스넷시스템 부트캠프] TIL Day 62~66 - 프로젝트 4주차 (0) | 2025.08.23 |
|---|---|
| [에스넷시스템 부트캠프] TIL Day 61 - 직무 특강 4 (0) | 2025.08.19 |
| [에스넷시스템 부트캠프] TIL Day 57 - 직무 특강 3 (0) | 2025.08.08 |
| [에스넷시스템 부트캠프] TIL Day 53~56 - 프로젝트 2주차 (0) | 2025.08.07 |
| [에스넷시스템 부트캠프] TIL Day 52 - 직무 특강 2 (2) | 2025.08.01 |