バトルロワイヤルゲームなどのオンラインマルチプレイヤーゲームを構築しているとします。ゲームでは、50 人のプレイヤーのグループがセッションに参加してゲームをプレイします。通常、約 30 分かけてプレイします。ゲーム中、特定のプレイヤーの記録を更新して、プレイヤーのプレイ時間、記録したキル数、またはゲームに勝ったかどうかを示す必要があります。ユーザーは以前プレイしたゲームを見て、ゲームの勝者を確認したり、各ゲームのアクションのリプレイを見たりしたいと思うでしょう。

このラボでは、DynamoDB テーブルをモデル化して、アプリケーションのアクセスパターンを処理する方法を学びます。また、高速で高性能な方法で DynamoDB を使用するためのコアデータモデリング戦略についても学習します。

モジュール 1 では、環境を構成し、ラボで使用するコードをダウンロードします。

モジュールの所用時間: 20 分

 


  • ステップ 1: AWS アカウントを作成する

    このラボでは、個人の AWS アカウントを使用するか、新しい AWS アカウントを作成します。組織のアカウントを使用しないでください。これにより、必要なサービスへのフルアクセスが可能になり、ラボのリソースを残しません。終了時にこのラボで使用したリソースを削除しないと、AWS の料金が発生する場合があります。

  • ステップ 2: AWS Cloud9 IDE をセットアップする

    AWS Cloud9 は、ブラウザのみでコードを記述、実行、デバッグできるクラウドベースの統合開発環境 (IDE) です。AWS Cloud9 には、コードエディタ、デバッガー、ターミナルが含まれています。Cloud9 には一般的なプログラム言語と AWS コマンドラインインターフェイス (CLI) に必要なツールがあらかじめパッケージされており、このラボ用にファイルをインストールしたりノートパソコンを設定したりする必要はありません。AWS Cloud9 環境には、AWS マネジメントコンソールにサインインしたユーザーと同じ AWS リソースへのアクセス権があります。

    AWS Cloud9 開発環境をセットアップするには:

    1. AWS マネジメントコンソールに移動し、ページ上部の [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: アプリケーションディレクトリには、テーブルのデータを読み書きするためのサンプルコードが含まれています。このコードは、実際のゲームで使用するコードに似ています。
    • scripts: スクリプトディレクトリには、テーブルの作成、セカンダリインデックスの追加、テーブルの削除などの管理者レベルのスクリプトが含まれています。

このモジュールでは、このラボで構築するサンプルアプリケーションについて学習しました。また、AWS アカウントをセットアップし、AWS Cloud9 インスタンスを設定しました。

これで、ラボを開始する準備が整いました。DynamoDB では、アプリケーションで高速で一貫したパフォーマンスを実現するために、データモデルを事前に計画することが重要です。次のモジュールでは、データモデルのプランニングについて学習します。