Amazon OpenSearch Service での OpenSearch Dashboards の使用 - Amazon OpenSearch Service (Amazon Elasticsearch Service の後継サービス)

Amazon OpenSearch Service での OpenSearch Dashboards の使用

Kibana の後継である OpenSearch Dashboards は、OpenSearch で機能するように設計されたオープンソースの可視化ツールです。Amazon OpenSearch Service は、すべての OpenSearch Service ドメインとともに OpenSearch Dashboards のインストールを提供します。Dashboards へのリンクは、OpenSearch Service コンソールのドメインダッシュボードにあります。URL は、domain-endpoint/_dashboards/ です。このデフォルトの OpenSearch Dashboards インストールを使用したクエリは、300 秒でタイムアウトになります。

以下のセクションでは、いくつかの一般的な Dashboards ユースケースを取り上げます。

OpenSearch Dashboards へのアクセス権のコントロール

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

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

注記

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

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

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

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

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

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

この種の設定を有効にするには、ロールと 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": [ "123.456.789.123" ] } }, "Resource": "arn:aws:es:us-west-2:111111111111:domain/my-domain/*" } ] }

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

プロキシサーバーおよび OpenSearch Dashboards の Amazon 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 Service での OpenSearch 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 に接続する

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

ローカルの OpenSearch 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'] opensearch_dashboards.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: ['kibana_read_only'] opensearch_security.auth.unauthenticated_routes: [] opensearch_security.basicauth.login.title: 'Please log in using your user name and password' opensearch.username: 'username' opensearch.password: 'password' opensearch.requestHeadersWhitelist: [ authorization, securitytenant, security_tenant, ]

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

GET _cat/indices

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

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

その他の機能

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

  • さまざまな OpenSearch プラグインのユーザーインターフェイス

  • テナント

  • レポート

    レポート作成メニューを使用して、Discover ページおよびダッシュボードまたは可視化の PDF レポートまたは PNG レポートからオンデマンド CSV レポートを生成します。CSV レポートには 10,000 行の制限があり、OpenSearch Service ではスケジュールされたレポートはサポートされません。

  • ガントチャート

  • ノートブック