Lambda function role에 dynamoDB를 올려보자!

Posted by 토토로 on February 13, 2019

dynamoDB를 쓰고 싶을 때, 람다 함수 왼쪽에 붙일 수도(trigger), 오른쪽에 붙일 수도 있다.(function’s role)

위 그림처럼 오른쪽에 CloudWatch Logs 와 DynamoDB를 붙이는 방법을 알아보자. (왼쪽은 위 사진에서 Add triggers에서 찾아서 넣으면 된다!)

IAM으로 들어가서 설정 한다.

IAM Role관리에 들어가서 lambda함수의 role마다의 policy를 다르게 지정해 주는 것이다.

IAM에서 Roles 항목 찾아 들어가기

본인이 개발에 사용중인 Lambda function의 role을 찾거나, 새로 role을 생성한다.

새로운 role을 생성할 때 사용 목적에 맞는 role을 선택하고(우리는 lambda함수에 올릴 거니깐 lambda로 설정한다!) next에서 policy를 설정한다.
policy에서 dynamoDB에 access 가능한 policy가 있는지 한번 찾아 보고, 없다면 create policy 버튼을 눌러 새로운 policy를 생성 한다. create polity 다음 페이지에서 dynamoDB를 검색한 후, 원하는 access 정도를 선택 한다.

만약 dynamoDB이외 다른 서비스도 policy에 추가하고 싶다면 오른쪽 하단에 Add additional permissions를 눌러 다른 서비스도 마찬가지로 추가해준다.

lambda 함수를 생성할 때에 원하는 policy(dynamoDB)를 추가한 role을 선택해서 생성해주면 access가능한 목록이 오른쪽에 붙은 것을 볼 수 있다.

이제 dynamoDB에 access해서 쓰고 읽고 변경하도록 하자!