5. Amazon ESのインスタンス作成と設定

本章のゴール: Amazon ES上のKibanaでテストデータのグラフが表示される

作業の位置づけ;

_images/bx1_03_overview.png

5.1. Amazon ESのクラスタを作成

Get started (もしくはダッシュボードの Create a new domain) からAmazon ESのインスタンス作成のウィザードを開始します

それぞれのステップでは、下記項目を変更するようにしてください (それ以外の項目はデフォルト値でOKです)

Elasticsearch domain name jawsdays20160312handson
> [Next] を押して次のステップへ
Instance type t2.micro.elasticsearch
Storage type EBS
> [Next] を押して次のステップへ
Set the domain access policy to Allow open access to the domain
> [Next] を押すと確認画面がでるので、確認後 [Confirm and create] で作成します

警告

今回は時間の関係上 “Allow open access to the domain” (=すべてのアクセスを許可) としています。本番運用時にはアクセスコントロールを行うようにしてください

注釈

Amazon ESが使えるようになるまで10分程度かかるため、次章の作業(AWS LambdaのLambda function作成) を行うとよいでしょう

5.2. ElasticsearchのEndpointとKibanaのURLを確認する

Amazon ESのダッシュボードからESのEndpointとKibanaのURLを確認します

_images/bx1_03_es-dashboard.png

5.3. テストデータの投入と表示

Amazon ESが利用可能になったら、動作確認を行います

5.3.1. データの投入

注釈

  • ここでは確認のために curl コマンドを使用します。準備願います (Windowsの方向け)
  • date コマンドが下記の通り使えない場合は 2016-03-12T10:10:50+0900 というフォーマットの日付文字列に置き換えてください
  • ${YOUR_ES_ENDPOINT} は、Amazon ESのダッシュボードで確認した Endpoint に置き換えてください
curl -X PUT ${YOUR_ES_ENDPOINT}/es-test/es0/1 -d "{\"deviceId\":\"es-test0\",\"field1\":1,\"@timestamp\":\"$(date +%Y-%m-%dT%H:%M:%S%z)\"}"

Windowsの方: 下記の通りダブルクオーテーションのエスケープを変更してください

curl -X PUT ${YOUR_ES_ENDPOINT}/es-test/es0/1 -d "{""deviceId"":""es-test0"",""field1"":1,""@timestamp"":""2016-03-12T10:10:50+0900""}"

コマンドの投入結果は下記のようになります

{"_index":"es-test","_type":"es0","_id":"1","_version":1,"created":true}

5.3.2. Kibanaでの表示

5.3.2.1. Indexを作成する

Amazon ESのダッシュボードで得た Kibana のURLにアクセスします

インデックスの設定を下記のとおりにします

Index name or pattern es-test
Time-field name @timestamp
_images/bx1_03_kibana1.png

テストデータが正しく投入されていれば “Create” ボタンが押せるようになるはずですので、押してください

下記の通り、インデックスのカラム一覧が表示されれば成功です

※そうでない場合、テストデータの投入に失敗している可能性があります。コマンドの実行結果等を確認してください

_images/bx1_03_kibana2.png

5.3.2.2. データを表示する

“Discover” をクリックするとデータの中身を表示することができます

_images/bx1_03_kibana3.png

ここまで到達できればゴールです

AWS LambdaのLambda function作成 へ進む

5.4. トラブルシュート

5.4.1. テストデータの投入に失敗した(ようなので)インデックスを削除する

$ curl -X DELETE ${YOUR_ES_ENDPOINT}/es-test