목표
클라우드 상에서 데이터를 자동으로 수집하기 위한 환경을 구축해본다.
API를 이용해서 데이터를 수집해본다.
aws lambda 환경을 설정한다.
API를 통해 다음과 같은 코로나 데이터를 가져올 수 있다.
그러나 매번 이를 직접 실행시키는것은 매우 비효율적인 방법이다. 따라서 이를 자동으로 실행시켜줄 환경을 찾던 와중에 aws의 lambda를 알게 되었다. 또한 s3이란 저장소를 알게 되었는데 이는 json 형태의 데이터도 저장할 수 있는 저장소이다.
결론적으로 로컬환경에서 코드를 실행시키고 로컬환경에 결과물을 저장하던 방식에서
aws lambda에서 코드를 실행시키고 aws s3에 결과물을 저장하는 방식으로 변경하였다.
https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/welcome.html
이러한 이유로 코드를 lambda에 올리고 실행시키기로 하였다.
aws lambda를 사용하기 위해서는 aws 계정이 필요하다.
아래의 링크를 참고해서 가입을 진행하였다.
https://aws.amazon.com/ko/premiumsupport/knowledge-center/create-and-activate-aws-account/
lambda는 다양한 언어를 제공한다. 그중에서 python을 사용하기로 하였다.
계정을 생성했으면 lambda 함수를 만들어 볼 수 있다.
1) 검색을 통해 lambda 콘솔에 접속을 한다.
2) 함수 생성을 누르고 함수 이름을 작성하고 런타임(언어 선택)을 선택한다.
3) 다음으로 기본 실행 역할 변경을 누르고 함수에 대한 권한을 정의하는 역할을 선택한다.
4) IAM 콘솔 링크를 클릭힌다. IAM을 통해 함수에 사용할 권한을 가진 역할을 생성할 것이다.
5) 코드를 실행시켜서 나온 결과물을 s3에 저장해야하며 s3에 저장하기 위해서는 s3에 접근을 할 수 있는 권한이 필요하다. 따라서 s3에 접근할 수 있는 AmazonS3FullAccess 권한과 로그 기록을 볼 수 있는 CloudWatchFullAccess 권한을 가진 역할을 생성한다.
6) 사용 사례 선택에서 lambda를 선택하고 다음을 누른다.
7) AmazonS3FullAccess과 CloudWatchFullAccess을 검색해서 체크하고 다음을 누른다.
8) 태그 추가는 선택 사항이며 공백으로 남기고 다음을 누른다.
9) 역할 이름을 작성하고 역할 만들기 버튼을 누르면 역할이 생성된다.
10) 역할이 정상적으로 생성되었으면 기존 역할 사용에서 생성한 역할을 찾을 수 있으며 함수 생성 버튼을 클릭한다.
11) 위 과정을 통해 lambda 함수가 생성된 것을 볼 수 있다.