View a markdown version of this page

Amazon OpenSearch Service での OpenSearch Dashboards の使用 - Amazon OpenSearch Service

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

Amazon OpenSearch Service での OpenSearch Dashboards の使用

OpenSearch Dashboards は OpenSearch で稼働するように設計された、オープンソースの可視化ツールです。Amazon OpenSearch Service は、すべての OpenSearch Service ドメインとともに Dashboards のインストールを提供します。Dashboards は、ドメイン内のホットデータノードで実行されます。

OpenSearch Dashboards は、単一の OpenSearch ドメイン内のデータを探索および分析するための視覚化ツールです。対照的に、一元化された OpenSearch ユーザーインターフェイス (OpenSearch アプリケーションとも呼ばれます) は、複数の OpenSearch ドメイン、OpenSearch Serverless コレクション、 AWS データソースに接続するクラウドベースの UI です。これには、オブザーバビリティやセキュリティ分析などの特定のユースケース用のワークスペースが含まれており、データセット間で統一されたエクスペリエンスを提供します。ダッシュボードは個々のドメインに関連付けられていますが、一元化された UI により、ドメイン間のデータ統合と分析が可能になります。詳細については、「Amazon OpenSearch Service での OpenSearch UI の使用」を参照してください。

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

このデフォルトの Dashboards インストールを使用したクエリは、300 秒でタイムアウトになります。

注記

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

Dashboards へのアクセスの制御

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

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

注記

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

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

OpenSearch Service 安全なアクセスのための VPC、プロキシ、クライアントコンポーネントを備えた アーキテクチャ。
  1. これは OpenSearch Service ドメインです。IAM は、このドメインへの承認済みアクセスを提供します。追加の IP ベースのアクセスポリシーは、プロキシサーバーへのアクセスを提供します。

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

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

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

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

JSON
{ "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 アドレスをアタッチできます。詳細については、「Elastic IP Addresses」の「Amazon EC2 User Guide」を参照してください。

プロキシサーバーおよび 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; } }
注記

(オプション) 専用コーディネーターノードのプロビジョニングを選択すると、OpenSearch Dashboards のホスティングが自動的に開始されます。その結果、CPU やメモリなどのデータノードリソースの可用性が向上します。データノードリソースの可用性が向上することで、ドメインの全体的な耐障害性を向上させることができます。

WMS マップサーバーを使用するための Dashboards の設定

OpenSearch Service の Dashboards のデフォルトインストールにはマップサービスが含まれますが、インドおよび中国リージョンのドメインは除きます。マップサービスは、最大 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 Service に接続する

独自の Dashboards インスタンスを設定するためにすでに時間をかけた場合は、OpenSearch Service から提供されるデフォルトの Dashboards インスタンスの代わりに (または追加で) 独自のインスタンスを使用することもできます。以下の手順は、オープンアクセスポリシーできめ細かなアクセス制御を使用するドメイン用です。

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

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

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

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

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

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

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

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

    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 Service のインデックスを表示するには、ローカルの Dashboards サーバーを起動し、[Dev Tools] に進み、以下のコマンドを実行します。

GET _cat/indices

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

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

コールドインデックスとウォームストレージに移動するオプションを示すインデックス管理インターフェイス。

UltraWarm またはコールドストレージが有効になっている場合を除き、ホット、ウォーム、コールドインデックスオプションは表示されません。

その他の機能

各 OpenSearch Service ドメインにおける Dashboards のデフォルトインストールには、いくつかの追加機能が含まれています: