まめログ

Javaプログラマの歩み

Amazon EC2にElasticsearch & Kibana 7.2をインストールし実行する

f:id:mamepika:20190729211607p:plain

授業の一環で、ElasticsearchとKibanaを使う機会が有ったので備忘録として書いておきます。
前職ではV6.2を使っており、その後1年以上アップデートせず使っていたので、V7.2のUIに少し戸惑いました。
本当はDockerコンテナ使ってECSでやってみたかったのだけど妥協してしまいました。

Amazon EC2インスタンスを起動する。

OSはAmazon Linuxを採用。
f:id:mamepika:20190729211849p:plain

メモリ調整をすれば、最小インスタンスでも動くようですが、面倒なのでここは
2コア、4GBメモリのt2.mediumインスタンスを使います。*1
f:id:mamepika:20190729212006p:plain

ストレージやセキュリティグループは適当に済ませ起動させましょう。

Javaのインストール

ElasticsearchにはJavaが必要なのでインストールします。
teratermなどでSSHログインして以下のコマンドを実行します。
Java11を使いたい方は適宜変更してください。*2

$ sudo yum update
$ sudo yum install java-1.8.0-openjdk.x86_64 

Elaticsearchのインストール

次にElasticsearch 7.2.0のインストールを行います。
インストールはrpmファイルを取得し行うことにしますので、以下のコマンドを実行しファイルを取得します。*3

$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.2.0-x86_64.rpm

ダウンロードが終わったら以下のコマンドでインストールを行います。
少し待てばインストールが完了します。

$ sudo rpm --install elasticsearch-7.2.0-x86_64.rpm

Kibanaのインストール

Elasticsearchと同様の手順でインストールが出来ます。
今回はKibana 7.2.0をインストールします。

$ wget https://artifacts.elastic.co/downloads/kibana/kibana-7.2.0-x86_64.rpm

ダウンロードが終わったら以下のコマンドでインストールを行います。
少し待てばインストールが完了します。

$ sudo rpm --install kibana-7.2.0-x86_64.rpm

Kibanaへの外部からのアクセスの許可設定

Kibanaはデフォルトの設定ではlocalhostからのアクセスしか出来ないので、設定を変更し、外部からも閲覧可能な状態にします。
/etc/kibana/kibaya.ymlを編集し、以下の設定を入れます

$ vi /etc/kibana/kibaya.yml

以下の設定を入れます。

server.host: "0.0.0.0"

サービスの起動

インストールと初期設定が終わったら、サービスを起動します。

Elasticsearchのサービスの起動

Elasticsearchはserviceコマンドから実行可能です。

$ sudo service elasticsearch start

1分程で立ち上がるので、以下のコマンドを実行してみます。

curl localhost:9200/

以下のように結果が返ってくれば成功です。
f:id:mamepika:20190729213708p:plain

Kibanaのサービス起動

KibanaもElasticsearchと同様、serviceコマンドで実行可能です。

$ sudo service kibana start

こちらはElasticsearchほど時間がかからないので、30秒ほどで起動すると思います。
Webブラウザ
http://< EC2の外部IPアドレス>:5600にアクセスすれば以下のような画面が表示されると思います。
f:id:mamepika:20190729213936p:plain
f:id:mamepika:20190729214053p:plain

*1:Elastic IPも取得しておくと便利です

*2:Java11の指定方法が分かりませんでした。

*3:新しいバージョンが出ている場合は"7.2.0"の部分を変更してください