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

Amazon OpenSearch Service での OpenSearch Dashboards の使用

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 にアクセスする

注記

このプロセスは、ドメインでパブリックアクセスが使用されており、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 アドレスを参照してください。

プロキシサーバーおよび 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. [Save changes] (変更の保存) をクリックします。

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

注記

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

ローカルの Dashboards サーバーを OpenSearch Service に接続する

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

ローカルの 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: [opensearch_dashboards_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 つの階層間の移行をモニタリングします。

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

その他の機能

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