Databases for Elasticsearch の概要
このチュートリアルでは、IBM Cloud® Databases for Elasticsearchデプロイメントを素早く使い始めるために、インスタンスのプロビジョニング、管理者パスワードの設定、接続の手順を説明します。
チュートリアルを完了するには、以下の手順に従ってください:
チュートリアルを完了するには、以下の手順に従ってください:
チュートリアルを完了するには、以下の手順に従ってください:
チュートリアルを完了するには、以下の手順に従ってください:
開始前に
- IBM Cloudアカウントが必要です。
ステップ1:プランの選択
Databases for Elasticsearchは2つの異なるプランを提供しています:
-
Databases for Elasticsearch Enterprise はベーシック版のElasticsearch を導入します。
-
Databases for Elasticsearch Platinum はElasticsearch の Platinum バージョンをデプロイします。
どちらのプランも、フルマネージドでスケーラブルなElasticsearchサービスを提供するため、お客様は基盤となるインフラではなく、アプリケーションとデータに集中することができます。
APIの使用
Cloud DatabasesAPI「Databases for MongoDBインスタンスを操作する。 インスタンスのプロビジョニング にはリソースコントローラーAPIを使用する。
API経由でアクションを実行するには、APIキーが必要です。 以下の手順に従って、API を使用してアカウントにインフラストラクチャーをプロビジョニングできるようにするIBM CloudAPI キーを作成します。 最大 20 個の API キーを作成できます。
安全上の理由により、API キーをコピーまたはダウンロードできるのは作成時のみになります。 API キーを紛失した場合は、新しい API キーを作成する必要があります。
ステップ2:コンソールからのプロビジョニング
-
IBM Cloud コンソールにログインします。
-
カタログの Databases for Elasticsearchサービスをクリックします。
-
以下 の手順に従って、Databases for Elasticsearchインスタンスをプロビジョニングしてください。
-
インスタンスのプロビジョニングが完了したら、インスタンス名をクリックして詳細情報を表示します。
ステップ2:CLIによるプロビジョニング
CLIを使用することで、Databases for Elasticsearchインスタンスをプロビジョニングすることができます。 まだ持っていない場合は、'IBM CloudCLI をインストールする必要がある。
以下 の手順に従って、Databases for Elasticsearchインスタンスをプロビジョニングすることができます。
ステップ2: リソースコントローラーAPIによるプロビジョニング
以下 の手順に従って、Resource Controller API を使用してDatabases for Elasticsearchインスタンスをプロビジョニングしてください。
ステップ2:Terraformによるプロビジョニング
Terraformでアクションを実行するにはAPIキーが必要です。 以下の手順に従って、Terraform があなたのアカウントにインフラストラクチャをプロビジョニングできるようにするIBM CloudAPI キーを作成します。 最大 20 個の API キーを作成できます。
安全上の理由により、API キーをコピーまたはダウンロードできるのは作成時のみになります。 API キーを紛失した場合は、新しい API キーを作成する必要があります。
API Keyを取得したら、以下の手順 でTerraformを使ってDatabases for Elasticsearchインスタンスをプロビジョニングします。
ステップ3:管理者パスワードの設定
管理者ユーザー
Databases for Elasticsearchデプロイメントをプロビジョニングすると、'admin
ユーザが自動的に作成されます。
接続に使用する前に、管理者パスワードを設定してください。
UIから管理者パスワードを設定する
UIから管理者パスワードを設定するには、'IBM Cloudリソースリスト からインスタンスを選択します。 次に、「設定」 を選択します。 次に、Change Database Admin passwordを選択します。
CLIで管理者パスワードを設定する
管理者パスワードを設定するには、「IBM CloudCLI「Cloud Databasesプラグインの「cdb user-password
コマンドを使用する。
たとえば、配置の管理者パスワードを設定するには、次のコマンドを使用します:
ibmcloud cdb user-password <INSTANCE_NAME_OR_CRN> admin <NEWPASSWORD>
APIを通じて管理者パスワードを設定する
上記のステップ2のレスポンスで得られた「id
パラメータを、Set specified user's passwordエンドポイントで使用して、管理者パスワードを設定することができます。
curl -X PATCH -H "Authorization: Bearer <TOKEN>" \
-H 'Content-Type: application/json' \
-d '{"password":"newrootpasswordsupersecure21"}' \
"https://api.<REGION>.databases.cloud.ibm.com/v5/ibm/deployments/<DEPLOYMENT_ID>/users/database/admin"
上記のAPIコールを動作させるには、 id
パラメータを URLする必要がある。
Terraformで管理者パスワードを設定する
管理者パスワードは、Terraformスクリプトのデータベースリソースパラメータの1つとして渡される。 これ以上のアクションは必要ない。
ステップ 4:Databases for Elasticsearchインスタンスに接続します
Kibanaは、Elasticsearchデータベースに可視化機能を追加するオープンソースツールです。 このチュートリアルでは、 Docker イメージ・リポジトリのKibanaイメージを使用して、 Docker コンテナ内でKibanaを実行します。
開始前に
- Kibanaコンテナイメージを Databases for Elasticsearchに接続できるように Docker をインストールする。
- Kibana をローカルで実行せずに、 Dockerをインストールする場合は、 IBM Cloud® Code Engineを使用して Kibana をデプロイすることもできます。 詳しくは、 Code Engine を使用して Kibana をデプロイし、 Databases for Elasticsearch インスタンスに接続するを参照してください。
Kibana に接続するには、 Elasticsearch デプロイのユーザー名、パスワード、 URL、ポートが必要です。 また、データベースにアクセスするためには Elasticsearchの TLS証明書が必要です。 これを取得するには、作成した Elasticsearch インスタンスの Overview ページの Endpoints セクションから証明書情報をコピーします。 次に、証明書をローカル・フォルダーにダウンロードします。 ダウンロードで提供されるファイル名、または独自のファイル名を使用することができます。
証明書をファイル・システム上のどこに保存するかを覚えていてください。 DockerローカルでKibanaを実行している場合、証明書は $KIBANA_HOME/config/<filename>
。
Kibana のセットアップ
Kibana を含む Docker コンテナーを実行する前に、ステップ 1 でダウンロードした Elasticsearch 証明書と同じフォルダーに構成ファイルを作成します。 構成ファイルには、以下のようないくつかの基本的な Kibana 設定が含まれます。
kibana.yml
という名前の YAML ファイルを作成します。 ファイル内には、Kibana の以下の構成設定を含める必要があります。
elasticsearch.ssl.certificateAuthorities: "/usr/share/kibana/config/cacert"
elasticsearch.username: "admin"
elasticsearch.password: "<password>"
elasticsearch.hosts: ["https://<hostname:port>"]
server.name: "kibana"
server.host: "0.0.0.0"
最初の設定 elasticsearch.ssl.certificateAuthorities
は、 Docker が Elasticsearch 証明書を保管する場所です。 Docker を初めて実行するときに、デプロイメントの証明書はこの場所に保管されます。 好きな場所に変更できるが、パスの例はKibanaの設定ディレクトリである。 kibana.yml
内の証明書名 (この例では「cert」) と、ステップ 1 で保管した証明書名ファイルが同じ名前であることを確認します。
次は、 elasticsearch.username
と elasticsearch.password
です。 デプロイメントの管理者ユーザー名とパスワードを使用します。 接続の試行前に、必ず管理者パスワードを設定してください。 elasticsearch.hosts
には、デプロイのホスト名とポートを :
で区切って入力します。
最後に、 server.name
は Kibana インスタンスの機械読み取り可能な名前で、 server.hosts
はウェブブラウザで Kibana に接続できるバックエンドサーバのホストです。
これらの設定は、始めるための簡単な例です。 詳しくは、「 Kibana の構成」を参照してください。
DockerローカルでKibanaを実行している場合、YAMLファイルは $KIBANA_HOME/config/kibana.yml
、Kibanaが設定を読み込む場所に置かれる。
Kibana コンテナーの実行
kibana.yml
ファイルがセットアップされたので、 Dockerて YAML ファイルと証明書ファイルを Docker コンテナにアタッチし、 Docker イメージリポジトリから <kibana_version>
イメージを取り出します。
デプロイメントで実行している Elasticsearch のバージョンと互換性のある Kibana のバージョンのイメージを使用してください。 任意の http クライアントを使用して、 https_endpoint
API エンドポイントから Elasticsearch バージョンを取得します。 詳しくは、 Elasticsearch 互換性マトリックスを参照してください。
以下に curl の例を示します。 証明書がインストールされていない場合は、 --insecure
フラグを使用してピアの検証を無効にします。 <http_endpoint>
は、インスタンスの エンドポイント UI で見つけることができます。
curl --cacert <path-to-cert> <https_endpoint>
次に、ターミナルで Docker コマンドを実行してKibanaコンテナを起動する。
docker container run -it --name kibana \
-v <path_to_config_folder_created_in_step_1>:/usr/share/kibana/config \
-p 5601:5601 docker.elastic.co/kibana/kibana:<kibana_version>
Docker コマンドには、 -v
フラグが付加されたボリュームが 1 つあります。 これらは Kibana コンテナに /usr/share/kibana/config/
というパスでマウントされる。 は Kibana が設定ファイルを探す設定ディレクトリである。
-p
は、コンテナから公開されるポートと、Kibana へのアクセスに使用するポートを指定する。- Kibana バージョンは、使用している Elasticsearch のバージョンに対応している必要があります。
このコマンドを端末から実行すると、Kibana Docker イメージがダウンロードされ、Kibana が実行されます。 Kibana が Databases for Elasticsearch デプロイメントに接続されて実行に成功すると、端末に出力が表示されます。
log [01:19:31.839] [info][status][plugin:<kibana_version>] Status changed from uninitialized to green - Ready
log [01:19:31.925] [info][status][plugin:elasticsearch@<kibana_version>] Status changed from uninitialized to yellow - Waiting for Elasticsearch
log [01:19:32.120] [info][status][plugin:timelion@<kibana_version>] Status changed from uninitialized to green - Ready
log [01:19:32.134] [info][status][plugin:console@<kibana_version>] Status changed from uninitialized to green - Ready
log [01:19:32.147] [info][status][plugin:metrics@<kibana_version>] Status changed from uninitialized to green - Ready
log [01:19:33.132] [info][status][plugin:elasticsearch@<kibana_version>] Status changed from yellow to green - Ready
log [01:19:33.378] [info][listening] Server running at http://0.0.0.0:5601
端末に Kibana の出力を表示したくないしたくない場合は、 -d
フラグを使用してコンテナーを切り離します。
ブラウザーで http://0.0.0.0:5601
にアクセスして Kibana を表示します。 0.0.0.0
は kibana.yml
内の server.host
であり、 5601
はコンテナーから公開されるポートです。 URL に移動すると、ユーザー名とパスワードの入力を求めるポップアップ・ウィンドウが表示されます。 管理者資格情報、または作成したその他の資格情報を使用して、デプロイメントにアクセスします。
認証情報は、 kibana.yml
ファイルで提供したユーザー名とパスワードと同じである必要はありません。
次のステップ
詳しくは Elasticsearchのドキュメントを参照してください。
データベースやデータを管理する他のツールをお探しですか? IBM Cloud CLI、 Cloud Databases CLI プラグイン、または Cloud Databases API を使用して、デプロイメントに接続できます。
アプリケーションに Databases for Elasticsearch を使用する予定の場合は、 外部アプリケーションの接続 と IBM Cloud アプリケーションの接続 を確認してください。