メニュー
Amazon Elasticsearch Service
開発者ガイド (API バージョン 2015-01-01)

トラブルシューティング

以下のセクションでは、Amazon Elasticsearch Service (Amazon ES) と統合されるサービス (Amazon S3、Kinesis、IAM など) および製品 (Kibana など) の使用中に発生する可能性がある一般的な問題に対する解決策を示します。

サービス固有のエラーの詳細については、このガイドの「AWS サービスエラー処理」を参照してください。

Kibana: Kibana サービスエンドポイントへの AWS サービスリクエストにサインインできない

Kibana エンドポイントは、署名付き AWS サービスリクエストをサポートしていません。 次の表に示す設定オプションのいずれかで Kibana にアクセスすることをお勧めします。

Kibana 設定 説明
匿名の IP ベースのアクセス Kibana ホストがファイアウォールの内側にある場合、ファイアウォールの IP アドレスからの匿名リクエストを受け入れるように Kibana エンドポイントを設定します。 IP アドレスの範囲を指定する必要がある場合は、CIDR 表記を使用します。
Amazon VPC を使用する NAT ゲートウェイ Amazon VPC は NAT ゲートウェイをサポートしています。 NAT ゲートウェイの作成時に、NAT ゲートウェイに関連付ける Elastic IP アドレスを指定する必要があります。 NAT ゲートウェイは、Elastic IP アドレスをソース IP アドレスとして使用し、パブリックインターネットゲートウェイにトラフィックを送信します。 ゲートウェイからのすべてのリクエストを許可できるように、Kibana のアクセスポリシーでこの Elastic IP アドレスを指定します。 詳細については、Amazon Virtual Private Cloud ユーザーガイドの「NAT ゲートウェイの基本」および「NAT ゲートウェイの作成」を参照してください。

次の例は、IP アドレスの範囲および 18 ビット ルーティングプレフィックスを指定する、匿名の IP ベースのアクセスポリシーです。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "es:*", "Resource": "arn:aws:es:us-west-2:123456789012:domain/mydomain/_plugin/kibana", "Condition": { "IpAddress": { "aws:SourceIp": "192.240.192.0/18" } } } ] }

次の例で NAT ゲートウェイに関連付けられている Elastic IP アドレスからの匿名アクセスを指定します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "es:*", "Resource": "arn:aws:es:us-west-2:123456789012:domain/mydomain/_plugin/kibana", "Condition": { "IpAddress": { "aws:SourceIp": "198.51.100.4" } } } ] }

Kibana: Kibana 4 の Elasticsearch ドメインのインデックスが表示されません

ユーザーは Kibana 3 に慣れていても、Kibana 4 を初めて利用するため、インターフェイスでインデックスを見つけるのが困難な場合があります。 データを表示するデフォルトダッシュボードを提供する Kibana 3 とは異なり、Kibana 4 では最初にインデックス名または Amazon ES ドメインのインデックスの名前と一致するパターンを指定する必要があります。 たとえば、Amazon ES ドメインに movies-2013 という名前のインデックスが含まれる場合は、以下のいずれかのパターンがこのインデックスに一致します。

  • movies-2013

  • movies-*

  • mov*

インデックス名またはパターンを指定すると、Amazon ES ドメインインデックスのデータの可視化を設定できます。 ドメインインデックスの名前は、Amazon ES コンソールの [インデックス] タブにあります。 Kibana 4 の使用の詳細については、「Kibana ユーザーガイド」を参照してください。

注記

Amazon ES は Kibana 3 もサポートしていますので、これを使用するために、ツールのそのバージョンへのアクセスを設定することもできます。 /_plugin/kibana ではなく /_plugin/kibana3 をアクセスポリシーでリソースとして指定します。 サービスが設定変更の処理を終了すると、Amazon ES コンソールで提供される Kibana サービスエンドポイントを手動で編集して、Kibana 3 にアクセスできます。 たとえば、コンソールで Kibana エンドポイントが mydomain-6w5y8xjt5ydwsrubmdk4m5kcpa.us-west-2.es.amazonaws.com/_plugin/kibana/ であることが示された場合、代わりにブラウザを mydomain-6w5y8xjt5ydwsrubmdk4m5kcpa.us-west-2.es.amazonaws.com/_plugin/kibana3/ にポイントします。

Kibana: データの表示に Kibana を使用すると、ブラウザエラーが表示されます

Kibana を使用して、Amazon ES ドメインのデータを表示する場合、ブラウザは HTTP レスポンスオブジェクトのサービスエラーメッセージをラップします。原因となるサービスエラーを表示し、デバッグを支援するため、Chrome の開発者モードなどのウェブブラウザで一般的に利用されている開発ツールを使用できます。

Chrome でサービスエラーを表示する

  1. メニューから、[View]、[開発者]、[開発者用ツール] の順に選択します。

  2. [Network] タブを選択します。

  3. [Status] 列で、ステータスが 500 の任意の HTTP セッションを選択します。

    たとえば、次のサービスエラーメッセージは、検索リクエストが次の表に示す理由のいずれかにより失敗したことを示します。

    "Request to Elasticsearch failed: {"error":"SearchP…be larger than limit of [5143501209/4.7gb]]; }]"}"

    可能性のある原因 回避方法
    JVM リクエストメモリ サーキットブレーカーに達しました。 リクエストブレーカーは、サービスリクエストに応答するために使用される JVM メモリの割合を指定します。 この失敗を回避するために、JVM サーキットブレーカーを設定できます。 JVM サーキットブレーカーの設定の詳細については、このガイドの『AWS サービスエラー処理』の「JVM OutOfMemoryError」を参照してください。
    Kibana ダッシュボードで、logstash* などの汎用的な正規表現を指定します。 過去 7 日の期間にわたるインデックスのサブセットに結果を制限するなど、より制限的な正規表現を使用します。

Firefox でサービスエラーを表示する

  1. メニューで、[ツール]、[ウェブ開発者]、[ネットワーク] の順に選択します。

  2. ステータスが 500 の任意の HTTP セッションを選択します。

  3. [レスポンス] タブを選択して、サービス応答を表示します。

ドメインの作成 : VPC アクセスを選択するときに許可されていない操作

Amazon ES コンソールを使用して新しいドメインを作成する場合、パブリックアクセスまたは VPC アクセスを選択するオプションがあります。[VPC アクセス] を選択した場合、Amazon ES は VPC 情報をクエリし、ユーザー認証情報に正しいポリシーが関連付けられていないときには失敗となります。このエラーメッセージは次のとおりです。

You are not authorized to perform this operation. (Service: AmazonEC2; Status Code: 403; Error Code: UnauthorizedOperation

このクエリを有効にするには、ec2:DescribeVpcsec2:DescribeSubnets、および ec2:DescribeSecurityGroups オペレーションへのアクセス権を持っている必要があります。この要件は、コンソールのみを対象としています。AWS CLI を使用して VPC エンドポイントでドメインを作成して設定する場合、この操作へのアクセス権は必要ありません。

ドメインの作成 : VPC アクセスを選択後、読み込みでスタックする

VPC アクセスを使用した新規のドメインを作成後、ドメインの [設定の状態] が [読み込み中] から先に進行しない場合があります。この問題が発生する場合、お使いのリージョンに対して AWS Security Token Service (AWS STS) が無効になっている可能性があります。

VPC に VPC エンドポイントを追加するには、Amazon ES が AWSServiceRoleForAmazonElasticsearchService ロールを引き受ける必要があります。したがって、指定するリージョンに VPC アクセスを使用する新規のドメインを作成するために AWS STS が有効化されている必要があります。AWS STS の有効化と無効化の詳細については、「IAM ユーザーガイド」を参照してください。

SDK: SDK を使用しようとすると証明書エラーが発生します

AWS SDK ではご使用のコンピュータ上の CA 証明書が使用されるため、AWS サーバー上の証明書が変更されると、SDK を使用しようとした際に接続エラーが発生することがあります。エラーメッセージはさまざまですが、通常は次のテキストが含まれています。

Failed to query Elasticsearch ... SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

このようなエラーは、コンピュータ上の CA 証明書とオペレーティングシステムを最新の状態にしておくことで回避できます。ユーザーが自分のコンピュータを管理していない企業環境でこの問題が発生した場合は、必要に応じて管理者から支援を得て更新プロセスを行う必要があります。

以下のリストは、オペレーティングシステムと Java の最小バージョンを示しています。

  • 2005 年 1 月以降の更新プログラムがインストールされた Microsoft Windows バージョンでは、必要な CA が信頼リストに 1 つ以上含まれています。

  • Mac OS X 10.4 with Java for Mac OS X 10.4 Release 5 (2007 年 2 月)、Mac OS X 10.5 (2007 年 10 月)、および以降のバージョンでは、必要な CA が信頼リストに 1 つ以上含まれています。

  • Red Hat Enterprise Linux 5 (2007 年 3 月)、6、7、および CentOS 5、6、および 7 では、必要な CA がデフォルトの CA 信頼リストに 1 つ以上含まれています。

  • Java 1.4.2_12 (2006 年 5 月)、5 Update 2 (2005 年 3 月)、および以降のすべてのバージョン (Java 6 (2006 年 12 月)、7、8 を含む) では、必要な CA がデフォルトの CA 信頼リストに 1 つ以上含まれています。

以下に示す 3 つの証明機関があります。

  • Amazon Root CA 1

  • Starfield Services Root Certificate Authority - G2

  • Starfield Class 2 Certification Authority

最初の 2 つの機関からのルート証明書は Amazon Trust Services から入手できますが、もっと簡単なソリューションは、コンピュータを最新の状態にしておくことです。ACM から提供される証明書については、AWS Certificate Manager に関するよくある質問を参照してください。

注記

現時点では、us-east-1 リージョン内の Amazon ES ドメインには別の機関からの証明書が使用されます。近い将来、これらの新しい証明機関が使用されるように、リージョンを更新する予定です。