해당 포스트는 아직 한글화가 진행되지 않은 Projects on AWS : Create and Manage a Nonrelational Database with Amazon DynamoDB 자습서를 진행하면서 자습서의 내용을 한글로 옮기고, 자습서에는 나와있지 않지만 추가적으로 공부한 내용을 덧붙인 포스트이다.
추가적으로 공부를 하면서 참고한 링크는 포스트 하단에 링크해 두었다.
1. Application background
이번 모듈에서는 튜토리얼 진행을 위해 AWS Cloud9 환경을 설정하고, 튜토리얼 진행을 위한 코드를 다운받는다.
서점 application을 만든다고 생각해 보자. 이 application은 사용자들에게 판매 중인 책을 기본적인 정보(작가명 등)와 함께 보여 주어야 할 것이다.
이 application은 사용자들이 책에 대한 자세한 정보를 찾을 수 있도록 책 제목과 작가명으로 특정 책을 검색할 수 있어야 할 것이다. 더불어, application은 사용자들이 특정 카테고리(역사 등)의 모든 책을 검색할 수 있도록 하여 아직 발견되지 않은 흥미로운 책을 찾을 수 있도록 해야 할 것이다.
마지막으로, 서점은 여러 가지 형식의 책을 다룰 것이다. 예를 들면 hardcover, paperback, audiobook 등이 있을 것이다.
이 application은 어떤 책의 여러 형식들을 인벤토리 시스템에 있는 item number와 매핑하여 저장해야 할 것이다. 또한 이러한 형식들을 시간이 지남에 따라 추가, 삭제하는 등의 update가 되도록 해야 할 것이다.
이번 튜토리얼에서는 이러한 application의 요구에 맞는 적절한 DynamoDB 테이블을 모델링하는 방법을 알아 볼 것이다.
이 튜토리얼을 끝까지 하기 위해서는 AWS 계정이 필요하며, AWS IAM과 Amazon DynamoDB, AWS Cloud9 자원에 접근할 수 있어야 한다.
STEP 1. Create an AWS account
기존 AWS 계정이 있다면 AWS console에 로그인하고, 없다면 새로 생성하면 된다.
STEP 2. Set up your AWS Cloud9 IDE
AWS Cloud9
은 클라우드를 기반으로 한 IDE
이다.
AWS Cloud9은 편집기, 디버거, 터미널을 포함하기 때문에 브라우저에서 코드를 쓰고, 실행하고, 디버깅 할 수 있는 환경을 제공한다.
Cloud9은 널리 쓰이는 프로그래밍 언어들을 위한 필수 툴과 AWS Command Line Interface(CLI)가 미리 설치되어 있기 때문에 사용자가 이 튜토리얼을 위해 설치를 하거나 configuration 등을 할 필요가 없다.
AWS Cloud9 환경은 다른 AWS 자원들과 같이 AWS Management Console을 통해 접속이 가능하다.
튜토리얼을 위한 AWS Cloud9 개발 환경을 세팅하도록 하자.
- AWS Management Console에 접속하여 서비스 > 개발자 도구 > Cloud9을 선택한다.
- Create environment를 클릭한다.
- Name에 DynamoDB Deep Dive를 입력하고, 원한다면 Description을 작성한다.
- Next step을 클릭한다
- Environment settings는 기본 설정으로 유지한다.
- Next step을 클릭한다.
- 환경 설정 세부 사항을 다시 확인하고, Create environment를 클릭한다. 환경이 프로비저닝되고 준비되는데에는 몇 분이 걸릴 것이다.
- 준비가 된다면, IDE가 브라우저에 뜰 것이다.
STEP 3. Download the supporting code
1. AWS Cloud9 터미널을 이용하여 제공되는 코드 다운받고 압축 해제하기
STEP 2까지 진행하면 AWS Cloud9
이 setup되고, IDE가 로딩된다.
AWS에서 제공하는 코드를 기반으로 튜토리얼을 진행할 것이기 때문에, Cloud9 내의 터미널을 이용하여 코드를 다운로드 한다.
Cloud9 하단의 터미널에 다음과 같은 내용을 입력하여 s3 버킷에 있는 .tar
파일을 가져오고, 압축을 해제한다.
curl -sL https://s3.amazonaws.com/ddb-deep-dive/dynamodb.tar | tar -xv
다운로드가 완료되면 Cloud9 탐색기에서 파일들을 확인할 수 있다.
2. AWS Cloud9 터미널을 이용하여 Boto 3 설치하기
이번 예제에서 python을 이용하기 때문에, python의 AWS SDK 라이브러리인 boto3를 설치해야 한다. 아래의 커맨드를 이용하여 설치하도록 하자.
sudo pip install boto3
설치를 진행하다가 다음과 같은 에러를 만나게 되었다. 별 에러 아니고, pip 버전이 낮으니 pip를 업그레이드 하라는 내용이다. 로그에 쓰여있는 pip install --upgrade pip
명령어를 이용하면 된다.
이때, 그냥 pip install --upgrade pip
를 하면 현재 로그인 유저인 ec2-user
가 root
권한이 없기 때문에 pip 업그레이드 도중 특정 디렉토리에 접근할 때 접근 권한 오류가 생겨서 업그레이드가 중단된다. sudo
명령어 앞에 붙여서 해당 명령어를 사용할 동안만 sudo
권한을 주도록 하자.
Successfully installed pip-20.0.2
로그를 확인할 수 있으면 pip 업그레이드가 잘 진행된 것이다.
여기까지 진행하면 DynamoDB 튜토리얼을 진행할 준비가 된 것이다. 다음 모듈에서는 DB에 아이템을 insert
해 보고, DynamoDB table에서 아이템을 검색해보는 실습을 해 보도록 하자.
출처
https://aws.amazon.com/ko/getting-started/projects/create-manage-nonrelational-database-dynamodb/2/
'잡다한 시리즈 > AWS' 카테고리의 다른 글
AWS DynamoDB를 이용하여 비관계형 DB 구축하기 - (2) Inserting and retrieving data (0) | 2021.03.26 |
---|---|
DynamoDB의 Hash key와 Sort key (0) | 2021.03.19 |