
Elastic Cloud Enterprise で独自ドメインを利用する
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
おはようございます、藤本です。
Elastic Cloud Enterprise 機能を一つ一つ試しています。Elastic Cloud Enterprise の概要について知りたい方は以下の記事をご参照ください。
- 【速報】Elastic Cloud Enterprise の Alpha版がリリースされました
- Elastic Cloud Enterprise を AWS 環境にデプロイしてみた
- Elastic Cloud Enterprise を本番環境を想定して構築する
今回は Elastic Cloud Enterprise からデプロイした Elasticsearch クラスタ、Kibanaに独自ドメインを利用してみました。
現在、アルファ版のため、GAリリースまでに実装が変わる可能性があることはご了承ください。
Elastic Cloud Enterprise と DNS
Enterprise Cloud Enterprise を利用する上で登場する DNS 名は WebUI へのアクセス、Elasticsearch(Kibana)へのアクセスの 2つです。

- WebUI へのアクセス
- Elastic Cloud Enterprise インストール時に設定した
Public Hostnameが利用される - インストール時に表示される URL に
Public Hostnameが表示されますが、ホスト名の利用が必須ではない
- Elastic Cloud Enterprise インストール時に設定した
- Elasticsearch クラスタへのアクセス
- Elasticsearch クラスタ時に Elastic Cloud Enterprise が払い出される
- 払い出された DNS 名が Proxy に登録され、Proxy が Allocator で動作する Elasticsearch コンテナへのアクセスをコントロールする
- デフォルトでは、前回のエントリに記載しているような DNS 名(下記キャプチャ参照)

b3382af99309425bbfbbd2f71ee9e651.172.31.44.80.xip.io
b3382af99309425bbfbbd2f71ee9e651: Elasticsearch クラスタ固有のホスト名172.31.44.80: Elastic Cloud Enterprise インストール時に設定したHost IPxip.io: 固定値
172.31.44.80.xip.ioが Elasticsearch クラスタ共通のドメインとなり、Elastic Cloud Enterprise の設定で変更することができます。自身の環境で利用する場合、名前解決できるようにまず間違いなく、自身の環境が持つドメインに変更することでしょう。
個人的にはサブドメイン(例:ece.example.com)を Elastic Cloud Enterprise のドメインに設定し、(AWS 環境であれば)ワイルドカードのレコード(例:*.ece.exaple.com)を Proxy の ELB の DNS 名(ALIASのAレコード)を登録するのがいいのかなと思っています。

変更してみる
それでは WebUI から Elasticsearch Cloud Enterprise のドメイン設定を変更してみます。
環境
- EC2 x 3台(3AZ)
- インスタンスタイプ : r4.large
- OS : Ubuntu 14.04
- ELB
- Elasticsearch、Kibana クラスタ用インターナル ELB
- Route 53
- プライベートホステッドゾーン example.com
- レコードセット *.ece.example.com → ELB
独自ドメインを設定する
Webブラウザを立ち上げて、Elastic Cloud Enterprise の WebUI へアクセスします。左メニューの Platform からリージョンを選択します。

Settings を選択します。Cluster endpoints が利用するドメインの設定となります。前述した通り、IPaddress.xip.ioで設定されています。

ここを今回利用する独自ドメインece.exapmle.comに設定します。ece.exapmle.comを入力したら、Update Cluster endpoints をクリックします。

Confirm save をクリックします。

設定はこれだけです。
動作確認
Elasticsearch
Elasticsearch クラスタの設定を見てみましょう。左メニューの Clusters から Elasticsearch クラスタを選択します。

Endpoints から Elasticsearch から確認すると、クラスタ固有のランダム文字列、プラス設定したece.example.comになっていますね。

ちなみに変更前は以下の URL でした。変わるのは、設定したドメインの部分だけで、クラスタ固有のランダム文字列は変わりません。

それではアクセスしてみます。
$ curl -u elastic:MhJxf0cUhPcBaRlFFLocUw== c15b10071b614956979558254aaa71d7.ece.example.com:9200/
{
"name" : "instance-0000000001",
"cluster_name" : "c15b10071b614956979558254aaa71d7",
"cluster_uuid" : "GtP-Vwn8TkGE06QuTPRh6w",
"version" : {
"number" : "5.0.2",
"build_hash" : "f6b4951",
"build_date" : "2016-11-24T10:07:18.101Z",
"build_snapshot" : false,
"lucene_version" : "6.2.1"
},
"tagline" : "You Know, for Search"
}
ちなみに古いドメインでも接続できました。仕様なのかな?
$ curl -u elastic:MhJxf0cUhPcBaRlFFLocUw== c15b10071b614956979558254aaa71d7.172.31.62.168.xip.io:9200/
{
"name" : "instance-0000000002",
"cluster_name" : "c15b10071b614956979558254aaa71d7",
"cluster_uuid" : "GtP-Vwn8TkGE06QuTPRh6w",
"version" : {
"number" : "5.0.2",
"build_hash" : "f6b4951",
"build_date" : "2016-11-24T10:07:18.101Z",
"build_snapshot" : false,
"lucene_version" : "6.2.1"
},
"tagline" : "You Know, for Search"
}
Kibana
続いて、Kibana にアクセスしてみましょう。
Endpoints の Kibana から確認すると、こちらも設定したece.example.comドメインになっています。

アクセスしてみます。Kibana(X−Pack)のログイン画面が表示されました。

証明書を登録していないので証明書エラーが出ますが今回はそのまま突破しています。
まとめ
いかがでしたでしょうか?
Elastic Cloud Enterprise はほぼ例外なく独自ドメインで利用することになると思うので、この設定は必須の設定となることでしょう。









