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の使用
Databases for Elasticsearch インスタンスを操作するには、 Cloud Databases API を使用します。 インスタンスのプロビジョニング にはリソースコントローラー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-encoded である必要がある。
Terraformで管理者パスワードを設定する
管理者パスワードは、Terraformスクリプトのデータベースリソースパラメータの1つとして渡される。 これ以上のアクションは必要ない。
ステップ 4:Databases for Elasticsearchインスタンスに接続します
Kibanaは、Elasticsearchデータベースに可視化機能を追加するオープンソースツールです。 このチュートリアルでは、 Docker のイメージリポジトリにあるKibanaイメージを使用して、 Docker コンテナ内でKibanaを実行します。
開始前に
- インストール DockerDatabases for Elasticsearch に接続するために、Kibana コンテナイメージを取得できるようにインストールしてください。
- 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 は、Web ブラウザから 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 つあります。 これらは、 /usr/share/kibana/config/ というパスで Kibana コンテナにマウントされています。これは、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 アプリケーションの接続 を確認してください。