REST API를 이용하여 Web Crawler를 만들고자 할 경우, 다음과 같은 아키텍처를 이용하여 서비스를 구축할 수 있습니다.
REST API 없이 웹 브라우저 상의 액션을 자동화 해야 할 경우, Web Crawler 만들기 02 - Building RPA service using Selenium on AWS 을 참고하세요.
수집된 정보를 저장하기 위해서 MySQL DB를 활용하는 시나리오입니다. DB는 본인이 잘 활용할 수 있는 DB 엔진을 선택할 수 있습니다.
Ansi SQL에 익숙하고 잦은 분석용 쿼리를 활용하고자 할 때에는 RDS를 활용할 수 있습니다.
DB는 private 망으로 분리되어져 있으며, 데이터 수집/분석(EC2)/BI를 위해서 허용된 보안그룹(Security Group) 에서만 접근 가능하도록 구성합니다.
AWS Lambda와 Amazon QuickSight(BI)는 해당 VPC의 Private subnet에 존재하는 것처럼 Elastic Network Interface를 통해서 경로를 열어줍니다.
이 옵션은 EC2 인스턴스에 phpMyAdmin을 설치하여 DB에 데이터가 정상적으로 적재되어 있는지 확인하기 위함입니다.
해당 인스턴스는 확인용으로 활용 후 보안상 삭제 하는 것을 추천 드립니다.
Amazon QuickSight는 AWS가 제공하는 서버리스 BI 도구입니다.
비즈니스 사용자는 MySQL RDS에 연결하여 데이터를 시각화 할 수 있습니다. 위 구조에서처럼 Private 서브넷에 놓인 DB에 접근할 경우, 아래와 같은 영상을 참고할 수 있습니다.
실제 샘플 코드는 AWS Solutions Architect 를 통해서 비즈니스 요건을 설명한 후 도움을 받는 것을 추천 드립니다.
해당 솔루션은 2022년 E사에 제공된 솔루션 샘플에 대한 예시입니다.