Amazon OpenSearch Service での OpenSearch Dashboards の使用 - Amazon OpenSearch サービス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon OpenSearch Service での OpenSearch Dashboards の使用

OpenSearch Dashboards は、 で動作するように設計されたオープンソースの視覚化ツールです OpenSearch。Amazon OpenSearch Service は、すべての OpenSearch サービスドメインで OpenSearch Dashboards をインストールします。 OpenSearch ダッシュボードは、ドメイン内のホットデータノードで実行されます。

ダッシュボードへのリンクは、 OpenSearch サービスコンソール OpenSearch のドメインダッシュボードにあります。を実行しているドメインの場合 OpenSearch、URL は ですdomain-endpoint/_dashboards/。レガシー Elasticsearch を実行しているドメインの場合、URL は ですdomain-endpoint/_plugin/kibana

このデフォルトの OpenSearch Dashboards インストールを使用するクエリのタイムアウトは 300 秒です。

注記

このドキュメントでは、Amazon OpenSearch Service のコンテキストにおける OpenSearch Dashboards について説明します。これには、ダッシュボードに接続するさまざまな方法が含まれます。入門ガイド、ダッシュボードの作成手順、ダッシュボード管理、DQL (Dashboards Query Language) などの包括的なドキュメントについては、オープンソース OpenSearch ドキュメントの「OpenSearch Dashboards」を参照してください。

以下のセクションでは、 OpenSearch Dashboards の一般的なユースケースについて説明します。

OpenSearch Dashboards へのアクセスの制御

Dashboards は IAM ユーザーとロールをネイティブにサポートしていませんが、 OpenSearch サービスには Dashboards へのアクセスを制御するためのソリューションがいくつか用意されています。

プロキシを使用して OpenSearch Dashboards から OpenSearch サービスにアクセスする

注記

このプロセスは、ドメインでパブリックアクセスが使用されており、Cognito 認証を使用しない場合にのみ適用できます。 OpenSearch Dashboards へのアクセスの制御 を参照してください。

Dashboards は JavaScript アプリケーションであるため、リクエストはユーザーの IP アドレスから送信されます。IP ベースのアクセスコントロールは、膨大な数の IP アドレスをホワイトリストに登録する必要があるため、各ユーザーに Dashboards へのアクセスを許可する方法として実用的とは言えません。回避策の 1 つは、Dashboards OpenSearch と OpenSearch Service の間にプロキシサーバーを配置することです。これにより、IP ベースのアクセスポリシーを追加し、唯一の IP アドレス (プロキシの IP アドレス) からのリクエストを許可できます。この設定は以下の図のようになります。

  1. これは OpenSearch サービスドメインです。IAM は、このドメインへの承認済みアクセスを提供します。追加の IP ベースのアクセスポリシーは、プロキシサーバーへのアクセスを提供します。

  2. これは、Amazon EC2 インスタンスで実行されているプロキシサーバーです。

  3. 他のアプリケーションは、署名バージョン 4 の署名プロセスを使用して、認証されたリクエストを OpenSearch サービスに送信できます。

  4. OpenSearch Dashboards クライアントは、プロキシを介して OpenSearch サービスドメインに接続します。

この種の設定を有効にするには、ロールと IP アドレスを指定するリソースベースのポリシーが必要です。ポリシー例を次に示します。

{ "Version":"2012-10-17", "Statement":[ { "Resource":"arn:aws:es:us-west-2:111111111111:domain/my-domain/*", "Principal":{ "AWS":"arn:aws:iam::111111111111:role/allowedrole1" }, "Action":[ "es:ESHttpGet" ], "Effect":"Allow" }, { "Effect":"Allow", "Principal":{ "AWS":"*" }, "Action":"es:*", "Condition":{ "IpAddress":{ "aws:SourceIp":[ "203.0.113.0/24", "2001:DB8:1234:5678::/64" ] } }, "Resource":"arn:aws:es:us-west-2:111111111111:domain/my-domain/*" } ] }

プロキシサーバーを実行する EC2 インスタンスを Elastic IP アドレスを使用して設定することをお勧めします。これにより、必要に応じてインスタンスを置き換え、各インスタンスに同じパブリック IP アドレスをアタッチできます。詳細については、Amazon EC2 ユーザーガイド」の「Elastic IP アドレス」を参照してください。

プロキシサーバーおよび Cognito 認証を使用している場合、redirect_mismatch エラーを回避するため、Dashboards と Amazon Cognito に追加の設定が必要になる場合があります。次の nginx.conf の例を参照してください。

server { listen 443; server_name $host; rewrite ^/$ https://$host/_plugin/_dashboards redirect; ssl_certificate /etc/nginx/cert.crt; ssl_certificate_key /etc/nginx/cert.key; ssl on; ssl_session_cache builtin:1000 shared:SSL:10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; ssl_prefer_server_ciphers on; location /_plugin/_dashboards { # Forward requests to Dashboards proxy_pass https://$dashboards_host/_plugin/_dashboards; # Handle redirects to Cognito proxy_redirect https://$cognito_host https://$host; # Update cookie domain and path proxy_cookie_domain $dashboards_host $host; proxy_cookie_path / /_plugin/_dashboards/; # Response buffer settings proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k; } location ~ \/(log|sign|fav|forgot|change|saml|oauth2) { # Forward requests to Cognito proxy_pass https://$cognito_host; # Handle redirects to Dashboards proxy_redirect https://$dashboards_host https://$host; # Update cookie domain proxy_cookie_domain $cognito_host $host; } }

WMS マップサーバーを使用するように OpenSearch Dashboards を設定する

OpenSearch Dashboards for OpenSearch Service のデフォルトインストールには、インドおよび中国リージョンのドメインを除くマップサービスが含まれています。マップサービスは、最大 10 のズームレベルをサポートします。

リージョンに関係なく、座標マップの可視化に別の Web Map Service (WMS) サーバーが使用されるように Dashboards を設定できます。リージョンマップの可視化では、デフォルトのマップサービスのみがサポートされます。

WMS マップサーバーを使用できるように Dashboards を設定するには:
  1. Dashboards を開きます。

  2. [スタックの管理] を選択します。

  3. [詳細設定] を選択します。

  4. visualization:tileMap:WMSdefaults を見つけます。

  5. enabledtrue に変更し、url を有効な WMS マップサーバーの URL に変更します。

    { "enabled": true, "url": "wms-server-url", "options": { "format": "image/png", "transparent": true } }
  6. [変更を保存] を選択します。

新しいデフォルト値を可視化に適用するには、Dashboards の再ロードが必要になることがあります。可視化結果を保存した場合は、可視化結果を開いた後に [オプション] を選択します。[WMS マップサーバー] が有効で、[WMS URL)] に優先マップサーバーが指定されていることを確認し、[変更の適用] を選択します。

注記

マップサービスは多くの場合、ライセンス料や制限事項を伴います。マップサーバーを指定する際には、このような点を考慮する必要があります。テストを行うには、アメリカ地質調査所のマップサービスが便利です。

ローカル Dashboards サーバーを OpenSearch サービスに接続する

既に独自の OpenSearch Dashboards インスタンスの設定に多大な時間を費やしている場合は、 OpenSearch サービスが提供するデフォルトの Dashboards インスタンスの代わりに (または追加で) 使用できます。以下の手順は、オープンアクセスポリシーできめ細かなアクセス制御を使用するドメイン用です。

ローカル OpenSearch Dashboards サーバーを OpenSearch サービスに接続するには
  1. OpenSearch サービスドメインで、適切なアクセス許可を持つユーザーを作成します。

    1. Dashboards で、[セキュリティ]、[内部ユーザー] に進み、[内部ユーザーの作成] を選択します。

    2. ユーザーネームとパスワードを入力し、[作成] を選択します。

    3. [ロール] に進み、ロールを選択します。

    4. [マッピングされたユーザー] を選択し、[マッピングの管理] を選択します。

    5. [ユーザー] で、ユーザーネームを追加し、[マップ] を選択します。

  2. セルフマネージド Dashboards OSS インストールに適切なバージョンの OpenSearch セキュリティプラグインをダウンロードしてインストールします。

  3. ローカル Dashboards サーバーで config/opensearch_dashboards.yml ファイルを開き、前に作成したユーザー名とパスワードを使用して OpenSearch サービスエンドポイントを追加します。

    opensearch.hosts: ['https://domain-endpoint'] opensearch.username: 'username' opensearch.password: 'password'

    以下のサンプル opensearch_dashboards.yml ファイルを使用できます。

    server.host: '0.0.0.0' opensearch.hosts: ['https://domain-endpoint'] opensearchDashboards.index: ".username" opensearch.ssl.verificationMode: none # if not using HTTPS opensearch_security.auth.type: basicauth opensearch_security.auth.anonymous_auth_enabled: false opensearch_security.cookie.secure: false # set to true when using HTTPS opensearch_security.cookie.ttl: 3600000 opensearch_security.session.ttl: 3600000 opensearch_security.session.keepalive: false opensearch_security.multitenancy.enabled: false opensearch_security.readonly_mode.roles: ['opensearch_dashboards_read_only'] opensearch_security.auth.unauthenticated_routes: [] opensearch_security.basicauth.login.title: 'Please log in using your username and password' opensearch.username: 'username' opensearch.password: 'password' opensearch.requestHeadersWhitelist: [authorization, securitytenant, security_tenant]

OpenSearch サービスインデックスを表示するには、ローカル Dashboards サーバーを起動し、開発ツールに移動して次のコマンドを実行します。

GET _cat/indices

OpenSearch Dashboards でのインデックスの管理

OpenSearch サービスドメインに OpenSearch Dashboards をインストールすると、ドメインの異なるストレージ階層でインデックスを管理するための便利な UI が提供されます。Dashboards のメインメニューからインデックス管理を選択すると、ホットストレージ、、UltraWarmコールドストレージのすべてのインデックスと、インデックスステート管理 (ISM) ポリシーによって管理されるインデックスが表示されます。インデックス管理を使用して、ウォームストレージとコールドストレージ間でインデックスを移動し、3 つの階層間の移行をモニタリングします。

UltraWarm および/またはコールドストレージが有効になっていない限り、ホットインデックス、ウォームインデックス、コールドインデックスのオプションは表示されないことに注意してください。

その他の機能

各 OpenSearch サービスドメインへのデフォルトの OpenSearch Dashboards インストールには、いくつかの追加機能があります。