この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
はじめに
Foundは、Elasticsearchクラスタを提供するサービスです。もともとはElasticとは別の会社であるfound.noがサービス提供していたのですが、2015年3月にFoundがElasticにJoinし、Elasticから提供されるサービスとなりました。
FoundはAWSにホストされており、EC2上でElasticsearchクラスタを作ってくれます。またAWSの各リージョンに分散した形でクラスタを作ることもできます。AWSはマルチキャストが使えないことから、AWS上でクラスタを作るには一工夫必要なのですが、GUI上でポチポチするだけで簡単にElasticsearchクラスタが作れる、というのはすごいですね!
このFound、2つのプランがあります。StanadrdプランでもElasticsearchクラスタ、Kibana 4、バックアップツールなどが使えますが、Premiumプランでは更にShield、Watcher、Marvelが使え、かつSLAベースのサポートが受けられます。
さて、Foundでは14日間のフリートライアルが用意されています。早速使ってみました!
やってみた
フリートライアルの申し込み
FoundのWebサイトから、[Free Trial]のリンクをクリックします。
フリートライアルは、クレジットカードの登録なしに、メールアドレスだけで始められます。超便利。メールアドレスを入力して[START FREE TRIAL]ボタンをクリックします。
すると、登録したメールアドレスに以下内容のメールが届きますので、[Start Trial]ボタンをクリックします。
以下、パスワード設定画面になります。パスワード文字列を入力し、[Set]ボタンをクリックします。
これでフリートライアルの申し込みは完了です![creating an Elasticsearch cluster]リンクをクリックして、早速Elasticsearchクラスタを作ってみましょう!
Elasticsearchクラスタの作成
Elasticsearchクラスタの作成画面では、いくつかのオプションを選択します。まずはCapacity。このキャパシティで料金が変わります。今回はメモリ1GB、ストレージ8GBの最小構成で作成します。
次にRegion。AWS上でホストされていますので、そのままAWSのリージョンとなります。ちゃんとTokyoリージョンが選択可能なところがナイスですね。
Fault toleranceとして、Elasticsearchクラスタのデータセンタ(リージョン)分散の設定が可能です。複数リージョンに分散させることで可用性の高いElasticsearchクラスタが構成できます!フリートライアルでも2データセンター分散が可能です。
VersionでElasticsearchのバージョンを指定します。現時点では1.7.1しか選べませんでした。
Dynamic scripts機能の有効化を選択します。クレジットカードを登録しないと使えません。
Shardingについて設定します。
Automatic index creationの設定をします。
Indexをワイルドカードで削除可能にするかの設定です。
Pluginの設定をします。kuromojiがちゃんと入っているのが嬉しいですね。
Elasticsearchクラスタの名前を指定します。ここまでで設定値は完了、[Create]ボタンをクリックします。
これで Elasticsearchクラスタが作成されます!EndpointはHTTPとHTTPSの2種類が用意されます。またDashboardから簡単に各種ダッシュボードを利用可能です。
使ってみる
まずは接続確認。問題ないですね。この状態だとEndpointが分かっていれば誰でも使えちゃいますが、FoundではShieldを使ったAccess Controlが用意されています。
$ curl -XGET http://xxxxxx.ap-northeast-1.aws.found.io:9200
{
"status" : 200,
"name" : "instance-0000000000",
"cluster_name" : "xxxxxx",
"version" : {
"number" : "1.7.1",
"build_hash" : "xxxxxx",
"build_timestamp" : "2015-07-29T09:54:16Z",
"build_snapshot" : false,
"lucene_version" : "4.10.4"
},
"tagline" : "You Know, for Search"
}
とりあえず、サンプルデータを投入してみましょう。10 Minute Walk Throughのサンプルデータ(shakespeare.json)を使いました。
$ curl -XPUT http://xxxxxx.ap-northeast-1.aws.found.io:9200/shakespeare -d '
{
"mappings" : {
"_default_" : {
"properties" : {
"speaker" : {"type": "string", "index" : "not_analyzed" },
"play_name" : {"type": "string", "index" : "not_analyzed" },
"line_id" : { "type" : "integer" },
"speech_number" : { "type" : "integer" }
}
}
}
}';
$ curl -XPUT http://xxxxxx.ap-northeast-1.aws.found.io:9200/_bulk --data-binary @shakespeare.json
さて、Dashboardsからheadをクリックします。
こんな感じで、普通にheadが使えます。
では次にKibanaをクリックします。
するとKibanaが表示され...あれ、これKibana 3ですね。
再度ElasticsearchクラスタのConfiguration画面を開くと、Kibana 4についてのオプションがありました。[Enable]ボタンをクリックします。
少し待つと、Kibana 4が Enabledになり、Kibana 4へアクセスするリンクが表示されます。
はい、ちゃんとKibana 4が使えますね!
さいごに
フルマネージドでかつサポートが受けられる形でElasticsearchが使える、しかも簡単に!これはすごいサービスですね。