Battle Royale 게임과 같은 온라인 멀티플레이어 게임을 구축한다고 상상해 보십시오. 게임에서는 50명의 플레이어로 구성된 그룹이 한 세션에 참가하여 게임을 즐기며, 보통 30분 정도를 플레이합니다. 게임 중에는 플레이어가 플레이하는 시간, 플레이어가 기록한 처치 수 또는 게임에서 승리했는지 여부를 표시하도록 특정 플레이어의 레코드를 업데이트해야 합니다. 사용자는 자신이 플레이했던 이전 게임을 보면서 게임의 승자를 확인하거나 각 게임의 액션을 다시 보고 싶어 합니다.

이번 실습에서는 애플리케이션의 액세스 패턴을 처리하도록 DynamoDB 테이블을 모델링하는 방법에 대해 학습합니다. 또한 빠르고 효율적인 방식으로 DynamoDB를 사용하는 몇 가지 핵심 데이터 모델링 전략에 대해서도 학습합니다.

모듈 1에서는 환경을 구성하고 실습 중에 사용하는 코드를 다운로드합니다.

모듈 완료 시간: 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. [Create environment(환경 생성)]를 선택합니다.
    3. [Name(이름)] 상자에 DynamoDB Battle Royale을 입력합니다. [Description(설명)] 상자는 빈 상태로 둡니다.
    4. [Next step(다음 단계)]을 선택합니다.
    5. [Environment settings(환경 설정)]를 기본값으로 두고 새 t2.micro EC2 인스턴스를 생성합니다. 30분 동안 활동이 없으면 최대 절전 모드가 설정됩니다.
    6. [다음 단계]를 선택합니다.
    7. 환경 이름 및 설정을 검토하고 [Create environment(환경 생성)]를 선택합니다. 몇 분 후에 환경이 프로비저닝 및 준비됩니다.
    8. 환경이 준비되면 환영 메시지와 함께 IDE가 열립니다.

    이제 AWS Cloud9 환경을 볼 수 있습니다. 다음 스크린샷에 표시된 AWS Cloud9 콘솔의 3개 영역에 친숙해야 합니다.

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

    (확대하려면 클릭)

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

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

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

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

    • application: application 디렉터리는 테이블에서 데이터를 읽고 쓰기 위한 코드 예제를 포함합니다. 이 코드는 실제 게임에서 사용하는 코드와 비슷합니다.
    • scripts: scripts 디렉터리는 테이블 생성, 보조 인덱스 추가 또는 테이블 삭제와 같은 관리자 수준의 스크립트를 포함합니다.

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

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