VPC環境で利用できます。

Elasticsearch APIリファレンスに移動する >>
Elasticsearch説明書に移動する >>

目次

Elasticsearch Serviceの紹介

NAVERクラウドElasticsearch Serviceのインストール型商品の概念と基本構造を説明します。

Elasticsearch

Elasticsearchは、Apache Luceneを基盤とするオープンソースRESTful検索及び分析エンジンです。Elasticsearchは現在最も人気のある検索エンジンで、定型/非定型データ、位置情報、マトリックスなど様々な形のデータを保存して様々な方法で検索できます。

Full-text検索、ログ分析、セキュリティ、ビジネス分析など様々な分野で使用されます。

Kibana

Kibanaは、Elasticsearchのデータを分析して視覚化するソリューションです。

NAVERクラウドプラットフォームの「Elasticsearch Service」は、Apache Lucene基盤の検索エンジンであるオープンソースElasticsearchを利用しています。Apache のライセンス2.0が適用されたElasticsearchとKibanaのOSSバージョンをインストールし、ユーザー環境に合わせて設定してクラスタの形で提供します。

Elasticsearch Serviceの構成

Elasticsearch Serviceクラスタは2台のマネージャーノードと3台以上のデータノードで構成され、合計最小5台のサーバで構成されます。データノードの数は、インストールの際に必要なだけ増やすことができます。

  • マネージャーノードはElasticsearch Serviceクラスタを管理し、コーディネータノードに設定されて、データが入る通路として使われます。
    • NAVERクラウドプラットフォームの外部からのデータ伝送/検索はLoad Balancer IPアドレスで、内部からのデータ伝送/検索はマネージャーノードのプライベートIPアドレスでアクセスして行われます。
    • Kibanaはマネージャーノードにインストールされ、外部からLoad Balancer IPアドレスでアクセスできます。
  • データノードは実際のデータが保存されるサーバであり、コーディネートノードにのみ通信します。全てのデータは二重化されて保存され、1台のサーバに障害が発生しても正常に作動できます。

Elasticsearch Serviceを使用する

Elasticsearch Serviceはインストールタイプの商品で、別途の利用申込み/解除はなく、クラスタ作成時に契約が成立します。

クラスタが削除されると契約は終了します。

Elasticsearch Serviceクラスタを作成する

Elasticsearch ServiceメニューでCluster作成ボタンをクリックします。

Elasticsearch Serviceクラスタ設定情報を入力する

① クラスタ名を入力します。

② Elasticsearchバージョンを選択します。

③ Elasticsearchバージョンを選択する画面です。

④ ACG情報です。

  • Elasticsearch Serviceで使用されるACGは elasticsearch-クラスタ名で自動的に作成されます。

⑤ Elasticsearch HTTP Portを入力します。

  • 9200が基本設定で、変更はできません。

⑥ Kibana HTTP Portを入力します。

  • 基本設定は 5601です。

⑦ KibanaにアクセスするためのIDを入力します。

⑧ Kibanaアクセス用Passwordを入力します。

⑨ Kibanaアクセス用Passwordをもう一度入力します。

⑩ ノード設定情報を入力するために次へをクリックします。

Elasticsearch Serviceノードを設定する

① OSを選択します。

② VPCを選択します。

③ マネージャーノードサーバのSubnetを選択します。

  • グローバルSubnet、プライベートSubnetを選択できます。

④ マネージャーノードサーバ数の情報です。

  • 2個設定されていて、この値は変更できません。

⑤ マネージャーノードサーバのタイプを選択します。

  • 選択可能なサーバタイプが表示されます。

⑥ データノードサーバのSubnetを選択します。

  • プライベートSubnetを選択できます。

⑦ データのノード数を入力します。

  • 最小3台から最大10台まで作成できます。
  • 基本設定は3台です。

⑧ データノードサーバのタイプを選択します。

  • 選択可能なサーバタイプが表示されます。

⑨ データノードのストレージ容量です。

  • OSストレージではない別途のBlock Storageを使用します。
  • Block Storageは、一つのアカウントにつきNAVERクラウドプラットフォーム全体のサービスで最大2,000GBまで使用できます。

⑩ 認証キー設定のために次へをクリックします。

認証キーを設定する

認証キーの設定画面です。

① 保有している認証キーを選択します。

② 新しい認証キーを作成して使用する場合は、新しい認証キーを作成します。

③ 最終情報を確認するため、次へをクリックします。

入力情報を最終確認する

① 入力された情報が正しいか確認します。

② クラスタ作成のためにクラスタ作成ボタンをクリックします。

Elasticsearch Serviceクラスタ作成の確認

① Elasticsearch Serviceクラスタ作成が始まりました。

  • 作成にかかる時間は数分から数十分です。

Elasticsearch Serviceクラスタを管理する

以下は、作成されたElasticsearch Serviceを削除したり再開して、ノードの追加やKibanaアクセスpasswordの変更、サーバアクセスのための認証キー管理できる機能の説明です。

作成されたクラスタの確認

① クラスタの作成が完了するとクラスタの要約情報が表示され、当該クラスタの要約情報を選択すると下段の詳細情報が表示されます。

② クラスタの詳細情報が確認できます。

  • ACG 情報とManager nodeサーバへのSSHアクセス方法、Data Node Listをリンクから追加確認できます。
  • クラスタが選択されると、上段のメニュー 削除/Cluster再開/Cluster管理/サーバーアクセス管理メニューが有効化します。

③ 選択したクラスタを削除できるメニューです。

④ 選択したクラスタを再開できるメニューです。

⑤ クラスタを管理するメニューです。

⑥ サーバアクセス管理メニューです。

クラスタ削除メニュー

① 削除するクラスタを選択してから削除ボタンを押すと、当該クラスタがポップアップ画面に表示されます。当該リストを確認して、クラスタを最終削除するかどうかを選択します。

② 実際にクラスタを削除するかを選択します。

クラスタ管理メニュー

① 変更するクラスタを選択してからクラスタ管理メニューを押すと、データノードの追加Kibanaアクセスパスワードの初期化メニューが表示されます。

データノード追加

データノード追加メニューを選択すると、ノードを追加できる画面が表示されます。

② 現在のクラスタのデータノードが表示され、最大10台まで増設を選択できます。

  • 例:追加するノード数1を選択すると、既存の3台に1台のデータノードが追加されます。

③ データノードの増設を実行します。

① ノードの増設が始まるとサーバ作成が進み、サーバ状態が変更中と表示されます。

② サーバの増設が完了すると、Elasticsearchのインストール及びクラスタ登録のためにクラスタ状態が変更中に変わります。

  • Elasticsearchのインストール及びリスタートのために、Elasticsearch Serviceクラスタのアクセスが遮断されます。

Kibanaを使用する

① ログイン後、最初に表示されるKibana画面です。

  • 初期にはデータがないため、説明のためにElastic社が提供するサンプルデータを使用するためにTry our sample dataを選択します。

② サンプルデータの種類を選択します。

  • 説明のために、例としてSample web logsを選択しました。

③ Kibanaの左メニューのDiscoverメニューです。

  • データを検索する際に使用します。

Dashboardメニューです。様々な視覚化ツールとダッシュボードに対応しています。

  • サンプルとしてweb log用ダッシュボードが表示されます。

Kibanaアクセスパスワードの初期化

① Kibanaアクセス用PASSWORDを失くした場合は、PASSWORDを初期化します。

② 新しいPASSWORDを入力して確認を選択すると、新しいPASSWORDでKibanaにアクセスできます。適用には数分かかります。

サーバアクセス管理

サーバにアクセスするための認証キーを管理するためのメニューです。

クラスタのアクセス認証キー直接変更

サーバアクセスの管理 >クラスタのアクセス認証キー直接変更メニューを選択します。

② ユーザーパスワードを入力します。

認証メール送信ボタンをクリックして、メールで認証番号を確認してから認証します。

④ 保有している認証キーから一つを選択して変更します。

⑤ 新しい認証キーを作成して変更します。

認証キー管理

① 保有している全体認証キーを確認でき、Elasticsearch Serviceで使用中ではない認証キーを削除できます。

  • その他のサービスで使用中の認証キーは削除できません。

② 削除ボタンをクリックして画面から消えた認証キーを削除します。確認ボタンを押さないと認証キーは削除されません。

ダッシュボード

作成されたElasticsearch Serviceクラスタの情報と各クラスタのノード情報、状態情報、インデックス情報などが確認できます。

クラスタのダッシュボード

① 左側のDashboardメニューを選択します。

② 現在作成されているクラスタリストの中から詳細情報を確認するクラスタを選択します。

クラスタの詳細ダッシュボード

① 選択したクラスタのノードリストです。

② クラスタの全般的な状態情報です。

③ クラスタのインデックス情報です。

Elasticsearch Serviceを活用する

Elasticsearchにデータを保存して検索する方法を説明します。

Elasticsearchにデータを保存する

① 左側のDev Toolsメニューを選択します。

Console画面にデータを入力します。

③ 入力したデータを Elasticsearchに保存するために、 ボタンをクリックするかCTRL+ENTERキーを押します。

④ 入力した結果が表示されます。

Elasticsearchに保存されたデータを照会する

① 保存されたデータを確認するために検索を実行します。

② ボタンを押して実行します。

③ 照会した結果が表示されます。

Kibanaを活用する

Management

① Elasticsearchに保存されたデータをKibanaで確認するために、Managementを選択します。

② Index Patternsを選択します。

Create index patternを選択します。

Create index pattern

① Kibanaで確認するためのインデックスパターンを入力します。前の段階で入力したデータを確認するためにtestを入力します。

② 入力した patternに該当するインデックスが表示されます。

Next stepをクリックします。

Create index pattern (2)

Configure settingsの内容を確認します。

  • 日付/時間データがある場合は、該当する Fieldを選択します。

Create index patternをクリックすると、Kibanaで確認できるindex patternが作成されます。

Index pattern & Fields

① 作成したtest index patternに関する情報を確認します。

Select index pattern

① 作成したindex patternを利用するために、Discoverメニューを選択します。

② すぐ横のボックス部分を選択すると、登録されたindex patternが表示されます。

testを選択します。

④ 選択したindex patternに含まれたindexのデータが検索されます。

Search Field

① Kibana検索画面を利用するために、上で入力したname: asdを入力してENTERキーを押して実行します。

name: asdで検索された結果を確認します。

Notification

① クラスタ作成、ノード追加など時間がかかる作業を行う場合など通知情報がある際は、右上のベル形のNotificationに赤字の数字が表示されます。

② ベル部分をクリックすると通知内容が確認できます。

SSHサーバにアクセスする

SSHを使用してマネージャーノードに接続

SSHを使用してElasticsearch Serviceクラスタ内のマネージャーノードに接続する方法についての説明です。

事前作業

Load Balancerを作成します。

SSHアクセスのための情報を確認します。

Load Balancerを作成する

Load Balancer用Subnetを作成する

① 左側のVPCメニューを選択します。

② 下段のSubnet Managementメニューを選択します。

Subnet作成ボタンをクリックします。

④ Elasticsearchクラスタを作成した時と同じVPCを選択します。

⑤ Internet Gateway専用でNを選択します。

⑥ 用途をLoad Balancerに選択します。

作成ボタンをクリックしてLoad Balancer用Subnetを作成します。

Load Balancer作成

詳細については、Load Balancer作成ガイドを参照してください(Load Balancer作成ガイド 参考)。

Load Balancerを使用するにはTarget Groupの作成が必要です。

22番ポート、80番ポートにアクセスするには、合計2個のTarget Groupの作成が必要です。

Target Group作成 ボタンをクリックします。

① Target Groupの名前を入力します。

Server Targetのタイプを選択します。

③ Elasticsearch Clusterを作成したVPCと同じVPCを選択します。

TCP プロトコルを選択します。

⑤ ポートを入力します。

次へ ボタンをクリックします。

TCP プロトコルを選択します。

② Health Checkするポートを入力します。

次へ ボタンをクリックします。

作成したクラスタ名-m と同じサーバ名を持つマネージャーサーバを2つ選択します。

② マネージャーサーバを2つ選択した後、矢印ボタンをクリックします。

③ 次へボタンをクリックします。

① 設定した情報を確認します。

Target Group作成 ボタンをクリックします。

上のような手順で22番ポートに対するtarget group、80番ポートに対するtarget groupを作成します。

ロードバランサ作成 ボタンをクリックします。

ネットワークロードバランサ作成 ボタンをクリックします。

① ロードバランサ名を入力します。

② Public IPを選択します。

③ Elasticsearch Clusterを作成したときと同じVPCを選択します。

④ 上で作成したLoad Balancer用subnetを選択します。

⑤ 次へボタンをクリックします。

① Kibanaアクセスのためにサーバポート80番を追加します。

* SSHアクセスのためのポートは、Load Balancerを作成してから追加します。

② 次へボタンをクリックします。

① 80番ポートで作成したTarget Groupを選択します。

② 次へボタンをクリックします。

① 作成した情報が正しいか確認します。

② ロードバランサ作成ボタンをクリックします。

① SSHアクセスTarget Groupを追加するために リスナーの設定変更 ボタンをクリックします。

リスナー追加 ボタンをクリックします。

TCP プロトコルを選択します。

② SSHアクセスのために22番ポートを入力します。

③ 22番ポートで作成したTarget Groupを選択します。

確認 ボタンをクリックしてリスナーを追加します。

① マネージャーノードの ACGを確認します。ACG設定はショートカットアイコンから変更できます。

  • Elasticsearch Serviceは、基本的に必ず必要なポート以外は全て遮断するように設定されています。
  • SSH接続のためには当該クラスタに適用されたACGに22番ポートが開いている必要があります。

② 認証キーを確認します。サーバにアクセスするためには必ず認証キーが必要です。

③ アクセスガイドを確認します。

ACGを設定する

① SSHアクセスに必要なルールを設定するACGを選択します。画像ではマネージャーノードのACGを選択しました。

ACG 設定をクリックしてルール設定画面に移動します。

該当ACGに追加が必要なルールを入力します。

① プロトコルを選択します。

② アクセスソース情報を入力します。

注意

全てのIPアドレス帯域を含むインターネット全体を対象に(IPアドレス: 0.0.0.0/0)アクセスソースを許可する場合、セキュリティ上非常に脆弱で、外部から攻撃を受けてクラスタで実行している作業に影響を及ぼす可能性があるため、注意が必要です。

myIpボタンをクリックして本人のグローバルIPアドレスを確認し、当該IPアドレスをアクセスソースに登録します。

④ 許可するポートを登録します。

  • 特定ポートや範囲で登録できます。

⑤ ACGに関するメモを登録します。

追加をクリックすると、下のリストに入力した情報が表示されます。

入力したルールをもう一度確認して 適用をクリックすると、該当ルールがACGに適用されます。

注意

既に登録されているルールは、Elasticsearch Service管理のために必要なACGルールです。

ユーザーが任意で削除したり修正すると、クラスタの動作に影響を及ぼすことがありますのでご注意ください(ACG使用ガイド 参考)。

⑥ マネージャーノードにアクセスするための任意の例です。

⑦ 作成したLoad Balancerがマネージャーノードにアクセスするために必要なACGです。

アクセスソースにLoad Balancer用SubnetのIPアドレス範囲を入力し、許可ポートは1-65535をすべて開きます。

マネージャーノードのSSHアクセス

Load Balancerが割り当てられたマネージャーノードにのみ、外部からSSH直接アクセスできます。

Case 1:macOSまたはLinux

MacまたはLinux

① ターミナル画面を開きます。

  • macOS X: Application > Utilities > Terminal
  • Linux: Application > Accessories > Terminal

② .pemファイルがあるルートに移動します。

cd /path

③ chmod命令を使用して、プライベートキーファイルを公開できないように変更します。

chmod 400 key.pem

④ マネージャーノードに接続するために以下のコマンドを入力します。(key file)部分はElasticsearch Serviceクラスタ作成の際に選択した.pemファイル名です。

グローバルIPはElasticsearch Serviceコンソール > 詳細を見る > グローバルIPで確認できます。

ssh -i /path/(key file).pem sshuser@(loadbalancer_ip)

⑤ セキュリティ警報が出た場合、yesを入力するとマネージャーノードにアクセスします。

[Case 2] Windows

Windows

事前作業

PuTTYでは、Elasticsearch Serviceで作成されたプライベートキー形式(.pem)には基本的に対応していません。

PuTTYが提供するPuTTYgenというツールを使用すると、キーをPuTTYで使用する形式(.ppk)に変換できます。

PuTTYを使用してマネージャーノードに接続する前に、プライベートキーをこの形式(.ppk)に変換する必要があります。

PuTTYgenを始めます(スタートメニューから All Programs > PuTTY > PuTTYgen)。

Type of key to generateRSAを選択します。

Loadをクリックしてクラスタ作成の際に指定した認証キーに対する .pemファイルを選択し、Openをクリックします。OKをクリックして確認ダイアログボックスを閉じます。

.pemファイルを検索するには、全てのタイプのファイルを表示するオプションを選択します。

.pemファイルは現在クラスタに適用されている認証キーのファイル名であり、ユーザのローカルパソコンに当該.pemファイルが保存されている必要があります。

.pemファイルを失くした場合は、コンソール > サーバアクセス管理 > クラスタのアクセス認証キー直接管理メニューからアクセスする認証キーを変更できます。

.ppkファイルを保存する

① 認証キーが正常にLoadされると、認証キー情報を確認します。

Save private keyを選択してPuTTYで使用できる形式でキーを保存します。

③ PuTTYgenでパスワードなしにキー保存に関する警告が表示された場合、Yesを選択します。

④ 既に作成した認証キーと同じ名前で保存します。PuTTYが自動的に.ppkファイル拡張子を追加します。

サーバアクセス

CategoryConnectionSSHを拡張した後Authを選択します。

Browseをクリックします。 1) .pemファイルを変換して作成した.ppkファイルを選択してから、Openをクリックします。 2) OpenをクリックしてPuTTYセッションを選択します。

CategorySessionを選択します。

④ サーバアクセスのための情報を入力します。

sshuser@Load Balancer IP

Connection typeSSHを選択し、Port22を入力します。

Openを選択します。

⑥ マネージャーサーバ(マスターサーバ)にアクセスしました。

モニタリング

モニタリングサービスは、Elasticsearchサーバに関する様々なモニタリング情報機能を提供します。

  • モニタリングサービスは、Elasticsearch商品に含まれているサービスのため、追加費用なしで使用できます。

モニタリングサービスが提供する指標は次のとおりです。

  • ES Dashboard
グラフ名 説明
Search Rate 1分当たりの検索リクエスト総数
Search Latency 検索リクエストの処理にかかった平均時間(ms)
Indexing Rate 1分当たりの総インデックス作業総数
Indexing Latency インデックス作業の処理にかかった平均時間(ms)
Node Count 実行中のノード総数
Documents Total Documentの総数
Indices Total Indexの総数
Shards Total Shardsの総数
Disk Used ディスクの使用量
JVM Memory Pressure Javaヒープメモリの最大使用量(%)
JVM GC Young Collection Count 「young generation」に対するgarbage collection実行回数
JVM GC Young Collection Time 「young generation」に対するgarbage collection実行時間(ms)
JVM GC Old Collection Count 「old generation」に対するgarbage collection実行回数
JVM GC Old Collection Time 「old generation」に対するgarbage collection実行時間(ms)
  • OS Dashboard
グラフ名 説明
CPU Usage CPUの使用量
Load Average サーバの負荷量
Memory Usage メモリの使用量
Swap Swapメモリ発生量
Disk Used ディスクの使用量
Disk I/O ディスクのInput/Output発生量
Network NICの1秒当たりの発生量
Free Memory メモリの余裕空間(Free + Buffer/Cache)
Free Storage Space ストレージの余裕空間

クラスタモニタリング

① 左側のMonitoringメニューを選択します。

② 現在作成されているクラスタリストの中からモニタリング情報を確認するクラスタを選択します。

③ グラフは複数選択できます。 デフォルトは全体選択です。

④ 指標を照会する期間を設定します。 デフォルトは直近1時間(直近1hour)です。

  • 期間直接入力を選択すると、期間の開始と終了を直接指定できます。

ノード別モニタリング

Elasticsearch情報

① ES Dashboard情報に対して確認するノードを選択します。

② ES Dashboardをクリックします。

③ グラフは複数選択できます。 デフォルトは全体選択です。

④ 指標を照会する期間を設定します。 デフォルトは直近1時間(直近1hour)です。

  • 期間直接入力を選択すると、期間の開始と終了を直接指定できます。

OS情報

① OS Dashboard情報に対して確認するノードを選択します。

② OS Dashboardをクリックします。

③ グラフは複数選択できます。 デフォルトは全体選択です。

④ 指標を照会する期間を設定します。 デフォルトは直近1時間(直近1hour)です。

  • 期間直接入力を選択すると、期間の開始と終了を直接指定できます。

に対する検索結果は~件です。 ""

    に対する検索結果がありません。 ""

    処理中...