🌤️ Team 2 AWS 실무 구축 가이드

각 팀원별 사용해야 할 AWS 서비스와 구체적인 To-Do 리스트 및 리소스 현황

⚠️ 리전: us-east-1 (버지니아 북부) 통일

📌 리소스 생성 현황

S3 버킷 (Storage)

리소스 이름 용도 담당자
inhatc-team2-5-raw-data API로 받아온 raw 데이터 저장 용도 김호건 (Data Eng.)
inhatc-team2-3-frontend 프론트엔드 정적 웹 배포 호스팅용 최혁 (Front)
inhatc-team2-4-parquet-data 분석용 데이터 레이크 (Parquet) 박근령 (Data)

Lambda (Compute)

리소스 이름 용도 담당자
inhatc-team2-5-dataAPI raw 데이터 수집 (rate(1 hour)) 김호건 (Data Eng.)
inhatc-team2-5-real-time-dataAPI 실시간 공공데이터 수집 (rate(30 minutes)) 김호건 (Data Eng.)
inhatc-team2-1-recommendAPI 날씨 기반 옷 추천 API (Function URL) 고원영 (Backend)

DynamoDB (Database)

리소스 이름 파티션 키 용도 담당자
inhatc-team2-5-weather-cache region_code 현재 날씨 상태 저장 김호건 (Data Eng.)
inhatc-team2-5-air-cache stationKey 현재 대기 상태 저장 김호건 (Data Eng.)
inhatc-team2-1-recommend-cache weather_pattern 옷 추천 결과 캐싱 (TTL 영구) 고원영 (Backend)

EventBridge (Trigger)

리소스 이름 스케줄 / 용도 담당자
inhatc-team2-data-trigger rate(1 hour) — raw 데이터 수집 김호건 (Data Eng.)
inhatc-team2-5-real-time-trigger rate(30 minutes) — 실시간 날씨·대기질 수집 김호건 (Data Eng.)
Data Engineer

👨‍💻 김호건 (inhatc-team2-5)

데이터 수집 파이프라인 구축

활용할 AWS 서비스

Lambda (수집용 x2) EventBridge S3 (Raw Data) DynamoDB (weather / air 캐시)

실무 수행 리스트 (To-Do)

  • 정기 수집 Lambda (inhatc-team2-5-dataAPI): 기상청·에어코리아 API 호출 → S3(inhatc-team2-5-raw-data) 적재. 트리거: rate(1 hour)
  • 실시간 수집 Lambda (inhatc-team2-5-real-time-dataAPI): 초단기실황·대기질 수집 → DynamoDB 적재. 트리거: rate(30 minutes) (inhatc-team2-5-real-time-trigger)
  • DynamoDB 날씨 적재 (inhatc-team2-5-weather-cache): PK = region_code, 최신 날씨 상태 PutItem
  • DynamoDB 대기 적재 (inhatc-team2-5-air-cache): PK = stationKey, 최신 대기 상태 PutItem
Backend & Infra

👨‍💻 고원영 (inhatc-team2-1)

비즈니스 로직 API 및 AI 캐싱 구현

활용할 AWS 서비스

Lambda (서버용) Function URL DynamoDB (AI 캐시) Bedrock (API 연동)

실무 수행 리스트 (To-Do)

  • 서버리스 API 구축 (inhatc-team2-1-recommendAPI): inhatc-team2-5-weather-cache / inhatc-team2-5-air-cache 조회 후 기상 패턴 동적 조립
  • 엔드포인트 생성: Lambda Function URL (AuthType: NONE) 활성화, CORS 설정
  • 캐싱 로직 구현 (inhatc-team2-1-recommend-cache): PK = weather_pattern으로 캐시 조회. 히트 시 즉시 반환
  • AI 호출 및 적재: 캐시 미스 시 Bedrock(anthropic.claude-3-5-haiku-20241022-v1:0) 호출 → 결과를 inhatc-team2-1-recommend-cache에 저장 후 반환
AI / Data Analysis

👩‍💻 박근령 (inhatc-team2-4)

AI 프롬프트 최적화 및 Data Lake 관리 분석

활용할 AWS 서비스

Amazon Bedrock AWS Glue Amazon Athena S3 (inhatc-team2-4-parquet-data)

실무 수행 리스트 (To-Do)

  • AI 프롬프트 설계: Bedrock 플레이그라운드에서 날씨 데이터를 변수로 넣어 공식적이고 환각 없는 의상 추천이 나오도록 프롬프트를 고도화합니다.
  • Glue 데이터 카탈로그 생성: inhatc-team2-5-raw-data의 스키마를 Glue 크롤러로 추출, Athena에서 쿼리 가능한 테이블 생성
  • Parquet 변환: JSON → Parquet 변환 후 inhatc-team2-4-parquet-data에 적재
  • Athena 데이터 쿼리: 주요 기상 패턴과 통계 인사이트 분석
Front & Network

👨‍💻 최혁 (inhatc-team2-3)

UI/UX 및 CDN 보안 인프라 구축

활용할 AWS 서비스

S3 (inhatc-team2-3-frontend) CloudFront Route53 ACM (HTTPS) WAFv2

실무 수행 리스트 (To-Do)

  • 정적 웹 배포: Vue.js 빌드 파일(dist)을 inhatc-team2-3-frontend 버킷에 업로드
  • CDN 연동: CloudFront OAC 설정으로 S3 직접 접근 차단 및 엣지 캐싱 활성화
  • 도메인 & HTTPS: Route53 도메인 연결, ACM 인증서 발급 후 CloudFront에 적용
  • 보안 방화벽: WAFv2를 CloudFront에 연결하여 악성 요청(DDoS 등) 차단
← 문서 포털로 돌아가기