aws ec2에서 실행되는 서비스가 aws dynamoDB와 연동되게 하는 것은 쉽다.
그러나 로컬에 올린 서비스가 aws dynamoDB와 연동되려면 한 가지 주의사항이 있다 🔥
내가 만든 서비스가 AWS의 자원에 접근해야 한다면 이것이 필요하다.
바로 IAM Role로 IAM User를 통해 그 권한을 갖을 수 있다.
일반적으로 python 서비스는 ~/.aws에 위치한 credentials라는 파일을 통해 IAM User에 대한 권한을 갖게 된다.
[default]
aws_access_key_id = ???
aws_secret_access_key = ???
파일은 이런식으로 IAM User에 대한 Access key와 Secret key 정보를 기록해두면 된다.
# DynamoDB에 연결
dynamodb = boto3.resource('dynamodb', region_name='ap-northeast-2')
table = dynamodb.Table('User')
그러면 내가 어떤 region에 있는 DB의 어떤 table에 접근하는지 알 수 있게 된다.
본인이 꾸준하게 사용하고 있는 개발용 IAM이 있다면 그것을 사용해도 되고
따로 서비스용을 위한 새로운 IAM을 만들어도 된다 👍