
데브옵스
웹빌더 시스템 Part 2: AWS Lambda로 간단하게 사이트맵 관리하기
두줄요약
AWS Lambda와 S3 이벤트를 이용해 사이트맵 갱신을 자동화한 사례를 소개했습니다. CloudFront 캐시 무효화까지 연결해 신규 제휴점이 검색엔진에 빠르게 반영되도록 구성했습니다.
문제 상황
- 제휴점별 홈페이지가 서로 링크되지 않은 독립 구조라 검색엔진이 신규 페이지를 직접 발견하기 어려움
- 홈페이지 수가 늘어 사이트맵을 관리자가 수동으로 갱신하는 방식이 비현실적
해결 방법
- AWS S3에 업로드되는 HTML 파일 변경을 AWS Lambda 이벤트 트리거로 받아 사이트맵 갱신 자동화
- Python의 boto3와 xml.etree.ElementTree로 sitemap.xml을 수정하고 다시 S3에 업로드
- 변경 파일을 기준으로 CloudFront 캐시 무효화까지 연동
주의할 점
- sitemap.xml 업로드 시 다시 Lambda가 실행되므로 HTML 파일만 처리하도록 분기 필요
- 한 사이트맵 파일의 URL 수 제한을 고려해 필요 시 사이트맵 인덱스 파일 활용
