S3 이벤트를 APIGW-Lambda로 처리하기
WEB Event -----S3---------- APIGW -----Lambda --------- AWS Service
1. Lambda 생성하기
2. APIGW 생성
3. Lambda Code
4. Lambda에서 데이터가 AWS 서비스에 입력되어야 하므로 기존 IAM role에
AWS 서비스 관한 정책을 만들어 추가한다.
5. S3버킷을 만들고, S3로 입력 홈페이지를 만든다.
6. CLI나 웹브라우저에서 S3 접속해 이벤트를 발생시킨다.
7. AWS Service 동작 확인
8. 사용한 AWS 리소스 반드시 삭제, 삭제 하지 않으면 50만원 나옴 - -
1. Lambda 생성하기
Lambda로 처리하고자 했으니 Lambda를 만들자.
Lambda 처리할 lambda ploicy와 role도 만든다.
Node.js 8.10
기본 권한으로 만들기 Lambda@Edge 선택
2. APIGW를 구성한다.
API Endpoint를 확인한다.
Lambda > API Gateway
Create a new API
Open
3. APIGW로 이벤트가 들어오면 처리할 lambda소스 코드를 만든다.
이벤트가 들어오면 어떻게 처리할지 코드를 만드는 곳이다.(소스코드)
홈페이지 소스에 APIGW endpoint도 적용한다.
홈페이지에서 데이터를 입력하면 APIGW로 가는 것이다.
4. Lambda에서 데이터가 AWS 서비스에 입력되어야 하므로 기존 IAM role에
AWS 서비스 관한 정책을 만들어 추가한다.
IAM > 기존 role 선택 > Attach Policies에서 필요한 AWS 서비스 권한을 추가한다
뒷단 S3가 사용하는 aws서비스에 대한 정책 추가한다. 예) s3 full access
5. S3버킷을 만들고, S3로 입력 홈페이지를 만든다.
6. 웹브라우저에서 S3 접속해 이벤트를 발생시킨다.
APIGW > 람다로 전달하여 AWS 서비스까지 전달된다.
7. AWS Service 동작 확인
8. 사용한 AWS 리소스 반드시 삭제, 삭제 하지 않으면 50만원 나옴 - -
감사합니다.