Skip to main content

14C. DynamoDB 테이블 생성하기

About 2 minAWScrashcoursepyrasisawsamazon-web-services

14C. DynamoDB 테이블 생성하기 관련

목차

아마존 웹 서비스를 다루는 기술

14장 - 3. DynamoDB 테이블 생성하기

아마존 웹 서비스를 다루는 기술

앞에서 설계한 DB 구조대로 테이블을 생성하고, 인덱스를 설정해보겠습니다.

AWS 콘솔로 접속한 뒤 메인 화면에서 Database의 <FontIcon icon="iconfont icon-select"/>를 클릭합니다.
AWS 콘솔로 접속한 뒤 메인 화면에서 DatabaseDynamoDB를 클릭합니다.

오른쪽 위에서 DynamoDB의 리전을 변경할 수 있습니다.

이 책에서는 우리나라에서 가장 가까운 Tokyo 리전을 사용하겠습니다.
이 책에서는 우리나라에서 가장 가까운 Tokyo 리전을 사용하겠습니다.
DynamoDB 메인 페이지에서 <FontIcon icon="iconfont icon-select"/> 버튼을 클릭합니다.
DynamoDB 메인 페이지에서 [Create Table] 버튼을 클릭합니다.
UsersLeaderboard

전체 유저의 점수를 저장할 테이블 이름과 기본 키를 설정합니다

  • Table Name: DynamoDB의 테이블 이름입니다. 리전 안에서 중복될 수 없습니다. 앞서 설계한 대로 UsersLeaderboard를 입력합니다.
  • Primary Key Type: 해시 기본 키와 범위 기본 키 또는 해시 기본 키만 사용하는 옵션입니다. Hash and Range를 선택합니다.
  • Hash Attribute Name: 해시 기본 키의 속성(Attribute) 이름과 데이터 형식입니다. Number를 선택하고 Id를 입력합니다.
  • Range Attribute Name: 범위 기본 키의 속성 이름과 데이터 형식입니다. String을 선택하고 Week를 입력합니다.
설정이 완료되었으면 <FontIcon icon="iconfont icon-select"/> 버튼을 클릭합니다.
설정이 완료되었으면 [Continue] 버튼을 클릭합니다.

주간 전체순위를 산출할 글로벌 보조 인덱스를 추가합니다.

  • Index Type: 보조 인덱스 타입입니다. Global Secondary Index를 선택합니다.
  • Index Hash Key: 인덱스 해시 키의 속성 이름입니다. String을 선택하고 Week를 입력합니다.
  • Index Range Key: 인덱스 범위 키의 속성 이름입니다. Number를 선택하고 TopScore를 입력합니다.
  • Index Name: 생성될 인덱스의 이름입니다. 해시 키와 범위 키의 속성 이름을 입력하면 자동으로 생성됩니다. 기본값 그대로 사용합니다.
  • Projected Attributes: 쿼리를 했을 때 가져올 속성입니다. 기본값 그대로 사용합니다.<!-
    • All Attributes: 아이템의 모든 속성을 가져옵니다.
    • Table and Index Keys: 테이블 인덱스와 보조 인덱스에 키로 설정한 속성만 가져옵니다.
    • Specify Attributes: 특정 속성만 가져옵니다. 가져올 속성 이름을 추가할 수 있고, 보조 인덱스에 키로 설정한 속성은 기본적으로 가져옵니다.
설정이 완료되었으면 <FontIcon icon="iconfont icon-select"/> 버튼을 클릭하여 인덱스를 추가합니다.
설정이 완료되었으면 [Add Index to Table] 버튼을 클릭하여 인덱스를 추가합니다.
Table Indexes에 글로벌 보조 인덱스가 추가되었습니다.
Table Indexes에 글로벌 보조 인덱스가 추가되었습니다.

개인 최고기록을 조회할 로컬 보조 인덱스를 추가합니다.

  • Index Type: 보조 인덱스 타입입니다. Local Secondary Index를 선택합니다.
  • Index Hash Key: 로컬 보조 인덱스는 테이블 인덱스의 해시 기본 키와 같기 때문에 변경할 수 없습니다.
  • Index Range Key: 인덱스 범위 키의 속성 이름입니다. Number를 선택하고 TopScore를 입력합니다.
  • Index Name: 생성될 인덱스의 이름입니다. 범위 키의 속성 이름을 입력하면 자동으로 생성됩니다. 기본값 그대로 사용합니다.
  • Projected Attributes: 쿼리를 했을 때 가져올 속성입니다. 기본값 그대로 사용합니다.
    • All Attributes: 아이템의 모든 속성을 가져옵니다.
    • Table and Index Keys: 테이블 인덱스와 보조 인덱스에 키로 설정한 속성만 가져옵니다.
    • Specify Attributes: 특정 속성만 가져옵니다. 가져올 속성 이름을 추가할 수 있고, 보조 인덱스에 키로 설정한 속성은 기본적으로 가져옵니다.
설정이 완료되었으면  버튼을 클릭하여 인덱스를 추가합니다.
설정이 완료되었으면 [Add Index to Table] 버튼을 클릭하여 인덱스를 추가합니다.
Table Indexes에 로컬 보조 인덱스가 추가되었습니다. 그리고 <FontIcon icon="iconfont icon-select"/> 버튼을 클릭합니다.
Table Indexes에 로컬 보조 인덱스가 추가되었습니다. 그리고 [Continue] 버튼을 클릭합니다.

DynamoDB 처리량 단위인 읽기/쓰기 용량 유닛을 설정합니다.

  • Help me calculate how much throughput capacity I need to provision: 이 부분을 체크하면 평균 데이터 크기와 초당 읽고 쓴 아이템 수를 입력하여 읽기/쓰기 용량 유닛을 계산할 수 있습니다.
  • Read Capacity Units: 읽기 용량 유닛입니다. 기본값 그대로 사용합니다.
  • Write Capacity Units: 쓰기 용량 유닛입니다. 기본값 그대로 사용합니다.
  • Throughput Capacity Allocation: 생성된 보조 인덱스에도 읽기/쓰기 용량 유닛을 설정할 수 있습니다(각 숫자를 클릭하면 값을 수정할 수 있습니다). 기본값 그대로 사용합니다.
<FontIcon icon="iconfont icon-select"/> 버튼을 클릭합니다.
[Continue] 버튼을 클릭합니다.

DynamoDB를 사용하다가 설정한 전체 처리량에서 일정 비율 이상을 넘어서면 알람을 발생시킬 수 있습니다(그림 14-13).

  • Use Basic Alarms: 기본 알람 사용 옵션입니다. 이번 실습에서는 체크를 해제하여 사용하지 않습니다.
  • 60분 동안 전체 처리량에서 어느 정도 비율을 넘어서면 알람을 발생시킬지 설정하는 옵션입니다. 95%, 90%, 85%, 80%, 75%를 선택할 수 있으며 80%가 기본값입니다.
  • Send notification to: 이메일 주소를 입력하여 알람의 내용을 받을 수 있습니다. 이 부분은 SNS(Simple Notification Service)와 연계됩니다.

상세한 조건의 알람은 CloudWatch에서 설정할 수 있습니다.

설정이 완료되었으면 <FontIcon icon="iconfont icon-select"/> 버튼을 클릭합니다.
설정이 완료되었으면 [Continue] 버튼을 클릭합니다.

지금까지 설정한 내용에 이상이 없는지 확인합니다.

이상이 없으면 <FontIcon icon="iconfont icon-select"/> 버튼을 클릭합니다.
이상이 없으면 [Create] 버튼을 클릭합니다.

DynamoDB 테이블 목록에 UsersLeaderboard 테이블이 생성되었습니다. 처음에는 Status가 CREATING으로 나오며 완전히 생성되기까지 약 10초 정도 소요됩니다.

오른편 위쪽에 보면 리프레시 버튼이 있습니다. 이 버튼을 클릭하면 테이블의 상태를 갱신할 수 있습니다.
오른편 위쪽에 보면 리프레시 버튼이 있습니다. 이 버튼을 클릭하면 테이블의 상태를 갱신할 수 있습니다.

이찬희 (MarkiiimarK)
Never Stop Learning.