Amazon DynamoDBのチュートリアルをやってみた

Pocket

はじめに

こんにちは、えびです。
今回は初めてAmazon DynamoDBを触ってみる方向けに、こちらのサンプルアプリケーション(〇×ゲーム)を構築してみましたので共有します。

Amazon DynamoDBとは

簡単に言うと、AWSが提供しているフルマネージドなNoSQLデータベースです。
特徴としてはスケーラブルかつ低レイテンシー、ストレージの容量制限がないことなどが挙げられます。

やってみた

東京リージョンにてElastic Beanstalkを使って構築します。
別リージョンで構築する場合は適宜リージョンを指定する必要があります。

EC2インスタンスに設定するIAMロールの作成

EC2インスタンスからDynamoDBを操作する必要がありますので、
あらかじめDynamoDBのFullAccess権限を付与したIAMロールを作成しておきます。

サンプルアプリケーション設定

git cloneを実行し、beanstalk.configという設定ファイルを作成します。
この設定ファイルは後ほど、ElasticBeanstalkにてconfigファイルとして指定します。

zipファイルに圧縮しS3にアップロード

Elastic Beanstalkにデプロイするためzipファイルに圧縮し、S3にアップロードしておきます。

Elastic Beanstalkの設定

下記URLへアクセスし、Elastic Beanstalkの設定を行います。

先ほど作成したIAMロールの設定以外は特に変更する必要はありません。
「アクセス権限」の設定時に作成したIAMロールを指定します。
それ以外の項目については「次へ」をクリックして進めていき、Elastic Beanstalkが環境を作成するので完了まで待ちます。

configファイルの指定

作成したconfigファイルを「ソフトウェア設定」から環境プロパティに設定します。
プロパティ名はCONFIG_FILE、プロパティ値はbeanstalk.configとしてください。
設定変更後、Elastic Beanstalkが環境を更新します。

ブラウザからアクセス

環境更新が完了後、画面右上のURLをクリックしてページが表示されていればOKです。
Internal Server Errorと表示される方はconfigファイルの指定が問題ないか確認してください。

動作確認

シークレットモードを利用して一人でもゲームすることができます。
画面右上からtestuser1でログイン後、「CREATE TABLE」をクリックします。
DynamoDBに「Games」テーブルが作られますのでマネジメントコンソールで確認します。

シークレットモードでブラウザを起動し、同様にtestuser2でログインします。
testuser1からtestuser2へゲームの招待を行い、ゲームを開始します。
ユーザーがゲームを進めるたびテーブルが更新されていることがマネジメントコンソールで確認できます。

最後に

DynamoDBを使う機会がなかったのですが、今回のサンプルアプリケーションの構築で動作のイメージができました。
DynamoDBの動作確認を行う際の参考になれば幸いです。

参考

Pocket

The following two tabs change content below.
えび
2013年入社。情シス所属の何でも屋さん。戦闘民族。本体はメガネ。好き:肉、日本酒