EventBridge, Lambda, DynamoDB, Bedrock AI를 활용한 데이터 파이프라인 및 프롬프트 캐싱 설계 구조
EventBridge + Lambda 두 종류로 운영합니다. inhatc-team2-5-real-time-dataAPI는 rate(30 minutes)로 실시간 날씨·대기질 수집, inhatc-team2-5-dataAPI는 rate(1 hour)로 raw 데이터 수집합니다.
수집된 원본 데이터는 Amazon S3(inhatc-team2-5-raw-data)에 원본 그대로 적재됩니다.
현재 날씨 상태는 inhatc-team2-5-weather-cache(PK: region_code)에, 현재 대기 상태는 inhatc-team2-5-air-cache(PK: stationKey)에 분리 저장합니다.
S3(inhatc-team2-3-frontend)에 배포된 정적 웹은 CloudFront(엣지 캐싱)와 WAF(보안 방화벽) 환경에서 제공됩니다. 브라우저 단에서 inhatc-team2-1-recommendAPI Lambda URL을 직접 비동기 호출하여 데이터를 렌더링합니다.
기능: 대기질 및 기상 상태에 따른 의상, 마스크, 우산 착용 가이드라인과 한줄평 제공
inhatc-team2-1-recommend-cache)
PK = weather_pattern으로 캐싱. TTL 없음(영구 보관).
inhatc-team2-1-recommend-cache 캐시 데이터 초기화PK: region_code. 30분마다 최신 초단기실황 데이터로 갱신됩니다.
PK: stationKey(sidoName#stationName). 30분마다 최신 대기질 데이터로 갱신됩니다.
PK: weather_pattern. AI가 생성한 가이드라인 저장. TTL 없음(영구 보관).
요청 시 weather-cache / air-cache를 읽어 메모리 상에서 기상패턴을 즉시 조립하여 recommend-cache를 조회합니다.
요청된 기상패턴이 inhatc-team2-1-recommend-cache에 없을 경우, 즉시 Bedrock AI를 호출하여 결과를 생성하고 DB에 저장 후 반환합니다.
Bedrock AI 호출 시 공통된 가이드라인 규칙 프롬프트를 캐싱하여 응답 속도를 높이고 API 호출 비용을 절감합니다.
24시간 동안 수집된 데이터 중 중복을 제거한 유니크 패턴만 일괄 생성하여 Bedrock 호출 비용을 극소화합니다.