Node.js および DAX
このステップに従って、Amazon EC2 インスタンスで Node.js サンプルアプリケーションを実行します。
DAX の Node.js サンプルを実行するには
-
以下のように、Amazon EC2 インスタンスで Node.js を設定します。
-
ノードバージョンマネージャー (
nvm
) をインストールしてください。curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
-
nvm を使用して Node.js をインストールします。
nvm install 12.16.3
-
Node.js が正しくインストールおよび実行されているかテストします。
node -e "console.log('Running Node.js ' + process.version)"
これにより次のメッセージが表示されるはずです。
Running Node.js v12.16.3
-
-
ノードパッケージマネージャー (
npm
) を使用して、DAX Node.js クライアントをインストールします。npm install amazon-dax-client
-
サンプルプログラムソースコード (
.zip
ファイル) をダウンロードします。wget http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/samples/TryDax.zip
ダウンロードが完了したら、ソースファイルを解凍します。
unzip TryDax.zip
-
次の Node.js プログラムを実行します。最初のプログラムは、
TryDaxTable
という Amazon DynamoDB テーブルを作成します。2 番目のプログラムは、テーブルにデータを書き込みます。node 01-create-table.js node 02-write-data.js
-
次の Node.js プログラムを実行します。
node 03-getitem-test.js node 04-query-test.js node 05-scan-test.js
タイミング情報を書き留めます。これは
GetItem
、Query
、Scan
テストに必要なミリ秒の数字です。 -
前のステップで、DynamoDB エンドポイントに対してプログラムを実行しました。プログラムを再度実行しますが、今度は
GetItem
、Query
、Scan
オペレーションが DAX クラスターによって処理されます。DAX クラスターのエンドポイントを確認するには、次のいずれかを選択します。
-
[Using the DynamoDB console] (DynamoDB コンソールの使用) — DAX クラスターを選択します。次の例のように、クラスターエンドポイントがコンソールに表示されます。
dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com
-
AWS CLI の使用 - 次のコマンドを入力します。
aws dax describe-clusters --query "Clusters[*].ClusterDiscoveryEndpoint"
次の例のように、クラスターエンドポイントが出力に表示されます。
{ "Address": "my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com", "Port": 8111, "URL": "dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com" }
ここでプログラムを再度実行しますが、今度はクラスターエンドポイントをコマンドラインパラメータとして指定します。
node 03-getitem-test.js dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com node 04-query-test.js dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com node 05-scan-test.js dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com
出力の残りの部分を見て、タイミング情報を書き留めます。
GetItem
、Query
およびScan
の経過時間は、DynamoDB を使用した場合より DAX を使用した方が大幅に低いはずです。 -
-
次の Node.js プログラムを実行して
TryDaxTable
を削除します。node 06-delete-table
これらのプログラムの詳細については、以下のセクションを参照してください。