TIL

[에스넷시스템 부트캠프] TIL Day 53~56 - 프로젝트 2주차

yulee_to 2025. 8. 7. 22:23
728x90
반응형

Day 53 - 협업의 기초를 다지다

협업 룰 정하기

이전 프로젝트의 경험을 살려 협업 룰을 정하기로 했다.

데일리 스크럼과 회고의 시간과 내용, 스프린트 운영 방식, 슬랙 사용법, 문서 작성, 그외 기타 규칙 등 팀원간의 원활한 소통을 위한 룰을 정했다.

문서 같은 경우엔 원래 Notion을 고려했지만 Jira를 메인 협업 도구로 사용하는 만큼 Confluence와 연계하는 것이 더 좋다고 판단해 Confluence에 문서 정리를 하기로 했다. 

기획안 작성

가장 큰 주제는 정해졌으니 프로젝트 배경과 요구 사항을 정의했다.

예시가 따로 없다보니 여러번의 피드백 끝에 완성할 수 있었다.


Day 54 - 전체 그림 그리기

전체 일정 수립

어제 작성한 요구사항을 바탕으로 전체 일정을 짰다.

실제로 얼마나 걸릴지 차마 예상은 안 되지만 5명이서 하니 충분히 가능한 선에서 일정을 짜봤다. 

 

3~5주차가 가장 중요한 시기로 설정했다.: 

  • AWS 인프라 구축
  • 데이터 수집을 위한 온프레미스 환경 구축

레퍼런스 리서치

AWS 공식 문서에서 모범 아키텍처를 찾아 분석을 해봤다.

익숙한 요소도 많았지만 이름만 들어보고 정확한 특징을 잘 모르는 서비스들에 대해 조금 더 자세히 리서치했다. 그리고 우리 프로젝트에 필요한 서비스인지 필요하지 않은 서비스인지도 고려해봤다. 

 

제외한 서비스들과 그 이유 : 

  • Shield : DDoS 공격을 막아주는 좋은 서비스이지만 우리 프로젝트는 보안이 주된 주제가 아닐 뿐더러 비용이 걱정되기 때문에 제외
  • CloudFront : 한국 내에서만 서비스할 거기 때문에 제외

Day 55 - 실행 계획 구체

Jira 스프린트 시작

Jira에 우리의 첫번째 스프린트를 시작하기 위해 해야 할 일을 정하고 역할을 나눴다. 

  • AWS 아키텍처 설계
  • 설계 기반 인프라 환경 구축
  • 웹페이지 개발
  • K8s 리서치 

 

Jira 스프린트

 

AWS 인프라 설계 과정

1) 첫번째 설계

첫번째 설계

우선 그려보면서 보충해 나가자는 생각에 Figma에서 가볍게 아키텍처를 그려봤다. 

어제 분석한 레퍼런스에서 필요한 요소도 가져다 쓰고, 사용자 어떤 식으로 접근할 수 있는지를 고려해봤다. 

원래 DB는 DynamoDB를 사용하기로 했었는데, 내가 그만 까먹고 RDS로 적어놓았다. 이 부분은 나중에 고쳤다!

 

2) 두번째 설계

두번째 설계

Draw.io를 활용해 더 정확한 다이어그램을 작성했다. 실수로 RDS를 사용했던 걸 DynamoDB로도 바꿔놨다.

Lambda에서 DynamoDB에 접근하기 위한 권한도 Role을 통해 명확히 표현해줬다. 


Day 56 - 인프라 구축

설계도 개선

세번째 설계

설계를 하고 나서 실제 데이터 플로우를 생각해보니 중간 중간 부족한 서비스들이 보였다. 

데이터 수집을 담당할 Lambda와 데이터 조회를 담당할 Lambda가 각각 필요했고, 데이터 조회의 경우 API Gateway로 클라이언트가 호출 가능한 구조가 필요했다. 

설계 -> 검토 -> 수정의 반복 과정이 얼마나 중요한지 실감하게 되었다. 

 

AWS 인프라 구축

인프라 구축 쪽에서 나는 Lambda와 DynamoDB 쪽을 담당했다. 

 

구현한 기능 :

1. 네이버 API 연동 : Lambda Function URL을 네이버 API 지원 사이트에 등록

2. 인증 처리 : 클라이언트 ID/Secret을 활용한 네이버 API 호출

3. 데이터 저장 : API 응답 데이터를 DynamoDB에 저장

 

실제로 테스트 해봤을 때 정상적으로 네이버 API를 호출하고 DynamoDB에 데이터가 저장되는 것을 확인할 수 있었다.

Lambda 생성

 

Lambda 데이터 수집 수행 결과
DynamoDB에 저장된 데이터 모습

 

주간 회고

이번주 Figma

이번주는 저번주보다 두배나 더 길어졌다. 그만큼 열심히 했다는 거겠지!

 

AWS 인프라 설계를 할 때 많은 시행착오를 거쳤다. 설계하고 완성이라 생각해 사진 파일로 다운로드 받고 팀원들에게 설명을 하면서 내 설계에 부족한 점을 계속 발견하게 됐다. 아주 간단한 아키텍처인데도 몇번을 고쳤는지 모르겠다.

 

API Gateway의 경우 Private하게 둘지, Public하게 둘지에 대해 고민이 된다. 내일 멘토링이 있으니 멘토분께 여쭤보는 게 좋을 것 같다.

728x90
반응형