목록 보기
공공 API 크롤러 개발기
데브옵스

공공 API 크롤러 개발기

비브로스
비브로스
2022년 4월 13일

두줄요약

공공 API 만료일을 자동 확인하기 위해 Puppeteer 기반 Lambda 크롤러와 알림을 구현했습니다. 배포 용량, 메모리, Chromium 샌드박스 문제의 대응 과정도 공유했습니다.

문제 상황

  • 공공데이터포털 구독 API의 2년 갱신 만료일을 별도 알림 없이 수동 확인해야 하는 불편
  • 구독 API 목록 제공 API 부재와 클라이언트 렌더링 페이지 구조

해결 방법

  • Puppeteer 기반 로그인·DOM 파싱으로 구독 API와 당월 만료 대상 수집
  • EventBridge 기반 Lambda 호출, 잔디 웹훅과 Nodemailer 이메일 알림 연동
  • 폰트·이미지·스타일시트 요청 차단과 alert dismiss 처리로 브라우저 작업 경량화

성능/운영 포인트

  • Lambda 패키지 크기 제한 대응을 위한 puppeteer-core·chrome-aws-lambda 조합
  • CloudFormation 이벤트로 Serverless 배포 실패의 실제 원인 확인
  • 브라우저 실행 실패 대응을 위한 Lambda 메모리 증설과 --no-sandbox 플래그 적용

적용해볼 점

  • 접근 차단 상황 대비 puppeteer-stealth-plugin, anti-captcha, user-agent 전략 검토

다음 읽기

#AWS 주제를 이어서 읽기

신입 개발자가 비브로스에 적응해 나가는 과정

신입 과제와 코드 리뷰를 통해 Node.js·AWS 기반 백엔드 실무에 적응한 과정을 공유했습니다. 동기식 CSV를 Lambda 비동기로 전환하고, 운영 로그 관리의 중요성을 회고했습니다.

비브로스
비브로스
백엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...