業務で「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についてでした。