사진을 업로드할 모바일 애플리케이션을 작성 중이라고 가정해 보겠습니다. 사용자는 애플리케이션을 통해 사진을 업로드하고 친구들은 그 사진을 볼 수 있습니다.

애플리케이션은 소셜 애플리케이션이므로, 사용자들은 친구를 찾고 팔로우하기를 원합니다. 사용자는 친구를 팔로우하여, 친구의 새 사진에 대한 알림을 받고 친구에게 메시지를 보낼 수 있습니다.

애플리케이션을 사용할 때, 사용자들은 가장 최근 사진부터, 특정 사용자에 대한 모든 사진을 찾아보려고 합니다.

마지막으로, 사용자들은 네 가지 이모티콘(심장, 웃는 얼굴, 엄지 척 또는 선글라스) 중 하나로 사진에 반응할 수 있습니다. 사진을 볼 때, 사용자들은 사진이 받은 각 반응 종류의 수를 확인할 수 있을 것입니다.

이번 실습에서는 애플리케이션의 액세스 패턴을 처리하도록 DynamoDB 테이블을 모델링하는 방법에 대해 알아봅니다. 다음 모듈은 몇 가지 핵심 데이터 모델링 전략을 보여줄 뿐만 아니라, 새 트랜잭션 기능을 사용하여 신속하고 성능이 뛰어난 방식으로 DynamoDB를 사용하는 과정을 보여줍니다.

이 모듈의 단계에서 환경을 구성하고 실습 과정에서 따를 코드를 다운로드할 것입니다.

모듈 완료 시간: 20분

 


  • 1단계: AWS 계정 생성

    개인 AWS 계정을 사용하거나 이 실습을 위해 새 AWS 계정을 생성합니다. 필요한 서비스에 대한 전체 액세스를 이용하고 실습에서 사용한 리소스를 남겨 두지 않도록 조직 계정은 사용하지 마십시오. 작업을 마친 후 이 실습에서 사용한 리소스를 삭제하지 않는 경우 AWS 요금이 청구될 수 있습니다.

  • 2단계: AWS Cloud9 IDE 설정

    AWS Cloud9은 브라우저만으로 코드를 작성, 실행 및 디버깅할 수 있는 클라우드 기반 IDE(통합 개발 환경)입니다. AWS Cloud9은 코드 편집기, 디버거 및 터미널을 포함합니다. 또한 널리 사용되는 프로그래밍 언어를 위한 핵심 도구도 사전에 패키지로 제공하며, AWS Command Line Interface(CLI)도 사전에 설치되었으므로, 이 실습을 위해 파일을 설치하거나 랩톱을 구성하지 않아도 됩니다. AWS Cloud9 환경에서는 AWS Management Console에 로그인한 사용자와 동일한 AWS 리소스에 액세스합니다.

    이제 AWS Cloud9 개발 환경을 설정해보겠습니다.
    1. AWS Management Console로 이동하고 페이지 맨 위에서 [Services(서비스)]를 선택하고 [Developer Tools(개발자 도구)] 아래에서 Cloud9을 선택합니다.
    2. [환경 생성]을 선택합니다.
    3. 이름 상자에 DynamoDB Quick Photos를 입력합니다.
    4. [다음 단계]를 선택합니다.
    5. [Environment settings(환경 설정)]를 기본값으로 두고 새 t2.micro EC2 인스턴스를 생성합니다. 30분 동안 활동이 없으면 최대 절전 모드가 설정됩니다.
    6. [다음 단계]를 선택합니다.
    7. 환경 이름 및 설정을 검토하고 [Create environment(환경 생성)]를 선택합니다. 몇 분 후에 환경이 프로비저닝 및 준비됩니다.
    8. 환경이 준비되면 환영 메시지와 함께 IDE가 열립니다.

    이제 AWS Cloud9 환경을 볼 수 있습니다. 다음 스크린샷에 나타난 대로, AWS Cloud9 콘솔 화면의 세 가지 영역을 살펴보겠습니다.

    • 파일 탐색기: IDE 왼쪽에 있는 파일 탐색기는 디렉터리의 파일 목록을 표시합니다.
    • 파일 편집기: IDE 오른쪽 상단에 있는 파일 편집기에서는 파일 탐색기에서 선택한 파일을 보고 편집할 수 있습니다.
    • 터미널: IDE 오른쪽 하단에서는 코드 샘플을 실행할 명령을 실행할 수 있습니다.

    (확대하려면 클릭)

  • 3단계: 지원 코드 다운로드

    이 실습에서는 Python 스크립트를 사용하여 DynamoDB API와 상호 작용합니다. AWS Cloud9 터미널에서 다음 명령을 실행하여 이 모듈 코드를 다운로드하고 압축을 풉니다.

    cd ~/environment
    curl -sL https://s3.amazonaws.com/ddb-labs/quick-photos.tar | tar -xv

    AWS Cloud9 터미널에서 다음 명령을 실행하여 디렉터리를 봅니다.

    ls

    AWS Cloud9 파일 탐색기에서 2개의 디렉터리를 확인할 수 있습니다.

    • application: application 디렉터리는 테이블에서 데이터를 읽고 쓰기 위한 코드 예제를 포함합니다. 이 코드는 실제 모바일 애플리케이션 백엔드에 있는 코드와 비슷합니다.
    • scripts: scripts 디렉터리는 테이블 생성, 보조 인덱스 추가 또는 테이블 삭제와 같은 관리자 수준의 스크립트를 포함합니다.

이 모듈에서는 이 실습에서 구축한 애플리케이션 예제에 대해 학습했습니다. AWS 계정을 설정하고 AWS Cloud9 인스턴스도 구성했습니다.

이제 실습을 시작할 준비를 마쳤습니다. DynamoDB를 사용할 때 애플리케이션에서 빠르고 일관된 성능을 보장하도록 미리 데이터 모델을 계획하는 것이 중요합니다. 다음 모듈에서는 데이터 모델을 계획하는 방법에 대해 학습합니다.