Amazon Elasticsearch Service

業務で「Amazon Elasticsearch Service」を調査・検証する機会がありましたので紹介したいと思います。

Amazon Elasticsearch Serviceとは?
AWS クラウドの Elasticsearch クラスターを、簡単にデプロイ、運用、スケールするマネージド型サービス。
Elasticsearch はログ分析、リアルタイムのアプリケーションモニタリング、クリックストリーム分析などのユースケース向けの、人気の高いオープンソースの検索および分析エンジン。

特徴としては「検索速度が早い」「拡張性に強い」「分析に強い」などがあります。
データをJSON形式でもち全文検索が可能となっています。

通常のデータベースでいうと下記のイメージです。
(→の右部分がElasticsearchでの呼び方)
データベース → インデックス
テーブル   → マッピングタイプ
カラム    → フィールド
カラム    → ドキュメント

まずAWSでドメイン作成をする必要があります。その方法が下記です。

◆AWSでドメイン作成の設定方法

・デプロイタイプの選択
→任意のタイプを選択

・バージョンの選択
→任意のバージョンを選択

・ドメイン設定
→Elasticsearchドメインを任意のドメインを設定
→その他各種設定がありしますが、開発内容・設計内容によって適宜設定
(検証のため、インスタンスは無料枠の[t2.small.elasticsearch]・インスタンス数[1]、その他デフォルトのままで設定しました)

・アクセスの設定
→適宜設定
(ネットワーク構成のVPCアクセスを選択する場合は予めVPCの設定をする必要があります)
(Kibana認証はアクセス解析に使用する画面で、その画面の認証をCognito認証で行えるように設定可能です)

Kibanaとは…Elasticsearchのデータを参照・解析するツールでドメイン作成時に同時に作成される。

上記、進めていき完了するとElasticsearchドメインが作成されます。
(初回は10分程度時間がかかります)

完成すると、アクセス可能となりデータ登録・削除・編集・検索が可能になります。

操作方法はAPIをキックする。
(APIはドメインを作成するとキック可能となり、様々な種類がある)

例)
*登録
https://[Elasticsearchエンドポイント]/[インデックス]/[タイプ]/
(エンドポイント…Amazon Elasticsearch Serviceを設定した際にできるURL)

下記のようなJSONを用意してPOST送信する
{“user”:1,”name”:”てすと 太郎”}

*_idから参照
https://[Elasticsearchエンドポイント]/[インデックス]/[タイプ]/_id

*検索からの参照
https://[Elasticsearchエンドポイント]/[インデックス]/[タイプ]/_search?q=あ

以上、Amazon Elasticsearch Serviceについてでした。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です