AWS 람다란?
서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스입니다. Lambda는 고가용성 컴퓨팅 인프라에서 코드를 실행하고 서버와 운영 체제 유지 관리, 용량 프로비저닝 및 자동 조정, 코드 및 보안 패치 배포, 로깅 등 모든 컴퓨팅 리소스 관리를 수행합니다.
이러한 람다를 이용해서 이벤트를 발생시켜 크롤링 봇을 만들어보는 실습을 할 것입니다.
람다 함수 생성으로 인해 손 쉽게 람다를 생성할 수 있습니다.
웹 크롤링을 진행할 것이기 때문에 이름은 Hello_Lambda_Python
런타임은 파이썬으로 설정하고 함수를 만들어주도록 하겠습니다.
람다를 생성하면 이제 API 게이트웨이를 통해 웹서버처럼 동작하는것처럼 만들어 줘야하는데,
클라이언트가 접속하게되면 API 게이트웨이가 요청을 받아 람다로 넘겨주고,
람다에서 함수가 동작하면서 요청을 처리하면서 DB에 담거나 사용자에게 결과를 반환하는 과정을 거치게 됩니다.
API 게이트웨이 만들기
API 게이트웨이 항목으로 넘어가 API 생성 버튼을 눌러줍니다.
유형은 HTTP API 구축유형을 선택해주고,
통합에서 람다를 골라준뒤 생성한 함수를 클릭해줍니다.
API 이름은 자유롭게 입력한 뒤,
GET 메서드 리소스 경로 /hello 통합 대상 람다 함수를 눌러준뒤,
스테이지 이름은 디폴트로 남겨준뒤, 게이트웨이를 생성해주도록 합니다. 이후 람다로 돌아와, API 게이트웨이 트리거를 추가하면 정상적으로 연결됨을 알 수 있습니다.
이제 파이썬을 이용하여 코드를 작성해준 뒤, 웹 크롤링을 진행합니다.
Beautiful Soup 패키지를 이용하여 코드를 작성해주는데, 코드를 작성해 주기전에
cmd를 활용하여 bs4 패키지를 설치해준뒤, zip 파일로 람다에 올려 aws 람다에서 해당 라이브러리를 이용할 수 있도록 해줘야합니다.
바탕화면에 폴더를 하나 생성해준뒤, cmd cd 명령어를 통해 경로를 해당 폴더로 이동하고,
pip3 install bs4 명령어를 통해 Beautiful Soup 라이브러리를 다운받아줍니다.
해당 폴더에 라이브러리들이 다운받아질텐데, 이제 그 폴더들을 압축하여 AWS 람다에 업로드 해주도록 합니다.
AWS 람다는 함수를 업로드하게되면, 기존에 작성돼있던 코드는 날라가기 때문에 오류가 뜰 것입니다.
즉, 기존에 작성돼있던 lambda_handler 함수가 날아가버려서 오류가 뜨게 되는데,
새 파일을 만들어서 lambda_handler 함수를 추가해줘야 합니다.
새로운 파일을 생성해 람다 핸들러 함수를 추가해준뒤, Beatiful soup를 통해 구글의 웹 크롤링을 해주는 코드를 작성해주었습니다.
이제 API 게이트웨이 엔드포인트를 통해 웹 서버가 정상적으로 동작하는지 알아볼 수 있는데,
엔드포인트라는 것은 우리가 만든 하나의 람다서버의 주소를 의미하는데,
이 링크 사이트를 클릭해보면,
구글 사이트 내의 모든 링크 데이터들을 파싱해준 것을 알 수 있습니다.
본 실습은 동빈나님의 영상을 참고하였습니다.
'Cloud' 카테고리의 다른 글
Aws EC2에서 Filezilla 연결하기 (0) | 2023.05.04 |
---|---|
aws ec2 환경에서 Chrome,ChromeDriver,Selenium 설치하는법 (0) | 2023.05.04 |
AWS Lambda로 게시판 서버 API 만들어보기 ① (0) | 2023.04.26 |
AWS Lambda 공통 라이브러리 관리하기 (0) | 2023.04.25 |
[AWS] EC2 인스턴스로 끄투 서버 구축해보기 (0) | 2023.04.21 |