본문 바로가기
제가 왜 DB를 만지고 있을까요?/DynamoDB

Aws DynamoDB 사용하기

by asj8000 2021. 8. 13.
반응형

Aws DynamoDB 사용하기

 

Aws DynamoDB를 개발중인 어플리케이션에 적용할 수 있는 방법을 최대한 간단하게 정리해보려 합니다.

10분 안에 dynamoDB를 사용하는 것을 목표로 정리하고 있습니다. 

 

본 게시물에선 다른 언어들 또한 커버 가능할 정도의 설명을 첨부하고 있으며,

예시로 PHP와 Python(추가예정)을 사용중에 있습니다.

 

 

연결된 게시물

1. 사용 방법 (현재 게시물)

2. 자세한 사용법

3. 써보면서 느낀 각종 사용 후기

 

※ 게시물 시작 전 필수 전제조건

DynamoDB는 아래7가지의 언어에 대해서만 개발을 지원합니다.

Java, Js, Node.js, .NET, PHP, Python, Ruby

 

Aws DynamoDB - 사용 방법

 

상세 목차

1. 사용 방법

  1.1. DynamoDB 생성 

  1.2. SDK 설치 및 연결

  1.3 심화 사용

 

1.1. DynamoDB 생성 

DynamoDB를 생성해봅시다.

https://ap-northeast-2.console.aws.amazon.com/dynamodb/home?region=ap-northeast-2#gettingStarted: 

 

로그인하고 테이블 만들기에 들어가면, (한국 리젼 접속 잊지않기!)

우측 상단 자습서를 눌러 대충  music이라는 테이블을 생성하도록 안내를 해줍니다.

 

제작 전 자습서를 통해 간단히 이해를 하시면 좋습니다.

 

 

저의 경우엔 특정 유저들이 이벤트가 발생 시, 해당 이벤트에 대한 로그를 저장하기 위해서 설계를 진행할꺼라.

 

해당 유저의 아이디를 기본키,

이벤트 획득 시간을 정렬키로 설정하려 합니다.

데이터 타입은 둘다 숫자로 설정해두었습니다.

 

테이블 명과 기본키, 정렬키만 입력하고 생성을 누르면 테이블 생성이 완료됩니다.

 

 

1.2. SDK 설치 및 연결

1. 연결 방식

dynamoDB는 특이한 연결 방식을 가지고 있습니다.

일반 mysql처럼, 아이피, 디비 유저명, 디비 비밀번호를 입력해서 접근하는 방식이 아닌,

AWS에서 지원해주는 SDK를 통해서만 접근이 가능합니다. (코드로 사용하기 위해선 aws SDK방법 뿐)

(aws의 웹페이지 혹은 지원해주는 프로그램을 통해서도 데이터에 접근할 수도 있습니다.)

 

aws의 SDK를 통해서 dynamoDB에 접근하기 위해선, IAM의 인증 키가 필요합니다.

 

 

2. 인증키 얻어오기 (IAM)

 

aws 콘솔 페이지 상단에 IAM을 검색해서 들어가줍니다.

https://console.aws.amazon.com/iam/home?region=ap-northeast-2# 

 

https://console.aws.amazon.com/iam/home?region=ap-northeast-2

 

console.aws.amazon.com

좌측 사용자 -> 사용자 추가를 눌러 사용자를 추가해줍니다.

생성 페이지에 들어가, 사용자 이름을 입력하고, 프로그래밍 방식 엑세스를 누른 후 다음으로 넘어가줍니다.

 

다음 페이지에서

 

기존 정책에 직접 연결 -> 'dynamo' 검색 후 AmazonDynamoDBFullAccess 정책을 체크해줍니다.

 

 

 

3번과 4번 페이지는 넘겨버리고 

 

사용자 추가 완료 후 이동하는 5번 페이지에서. 

엑세스 키 ID와 비밀 엑세스 키를 따로 저장해줍니다.

 

※ 키는 생성할 때만 조회할 수 있습니다. 꼭 따로 저장해두세요

 

 

3. aws SDK 설치

aws의 SDK를 설치하여야 합니다.

https://aws.amazon.com/ko/tools/

이 곳에서 자신이 사용하고자 하는 언어를 클릭 후, BUILD APPLICATIONS 항목의 버튼을 눌러 줍니다.

프로젝트 내 디렉토리에 설치해주세요.

 

 

4. 로직 적용

간단한 예제는 아래의 aws 공식 문서를 참고하시면 됩니다.

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStarted.html

 

Getting Started with DynamoDB and AWS SDKs - Amazon DynamoDB

Thanks for letting us know this page needs work. We're sorry we let you down. If you've got a moment, please tell us how we can make the documentation better.

docs.aws.amazon.com

 

저의 경우엔 PHP로 예시를 들어보겠습니다.

https://github.com/asj8000/dynamoDBExamplePHP

 

GitHub - asj8000/dynamoDBExamplePHP

Contribute to asj8000/dynamoDBExamplePHP development by creating an account on GitHub.

github.com

 

 

aws의 공식 문서대로 작성을 하되,

 

제공해주는 대부분의 언어의 예시는 로컬호스트(설치형 DynamoDB)를 바라보는 방식으로 되어 있기에,

바라보는 부분을 IAM키로 수정해주시면 됩니다.

 

PHP 예시

$sdk = new Aws\Sdk([
    'region'   => 'ap-northeast-2',
    'version'  => 'latest',
    'credentials' => [
        'key' => ' input your access ket ',
        'secret' => ' input your secret key ',
    ]
]);

Node.je 예시

AWS.config.update({
    region: "ap-northeast-2",
    credentials : [
        { key : "input your access key" },
        { secret : "input your secret key" },
    ]
});

 

이후 해당 로직을 실행시키면 aws의 dynamoDB에서 작업이 완료될겁니다.

 

반응형

댓글