5

ElasticSearchクラウドの外部から実行中の EC2 インスタンスにアクセスしようとしています。現在、インバウンド トラフィック用に SSH/HTTP/HTTPS を公開し、アウトバウンド トラフィック用にすべて公開しています。EC2 インスタンスにもパブリック IP を設定しました。

デフォルトでは、ElasticSearch は port にあります9200。ファイルを正しく構成したかどうかはわかりませelasticsearch.ymlんが、基本的にはデフォルト構成であり、別のcluster.nameものに変更しただけです。

ポート付きのパブリック IP を9200ローカル ブラウザーに入力するか、ローカルで を実行してもtelnet {public-ip} 9200、応答がありません。EC2 インスタンスに SSH 接続するとき。a を実行でき、curl localhost:9200elasticsearch から正しい応答が得られます

ElasticSearchクラウドの外部から EC2 インスタンスで実行中のインスタンスに接続するにはどうすればよいですか?

9200ポートを含み、開いているインバウンド トラフィック用のセキュリティ グループにカスタム ルールを追加しましたが、0.0.0.0/0まだこの EC2 インスタンスにアクセスできません

ここに画像の説明を入力

4

3 に答える 3

2

チェックする潜在的な問題は、間違ったバインドとインスタンス オペレーティング システムのファイアウォールです。

127.0.0.1 にバインドされているかのように、elasticsearch がバインドされている場所を確認します。外部からはアクセスできません。

Elasticsearch ec2 の 1 つのシェルで実行してバインディングを確認します。

sudo netstat -lptun | grep 9200

127.0.0.1:9200 と表示されている場合は、構成に誤りがあります。それ以外の場合は、*:9200 または :9200 と表示されていれば正しいです。

127.0.0.1 と表示されている場合は、 https ://www.elastic.co/guide/en/elasticsearch/reference/1.4/modules-network.html の説明に従って、elasticsearch パラメーター network.bind_host を変更する必要があります。

さらに、http/HTTPS と ssh は通常、既定のオペレーティング システムのファイアウォールで許可されていますが、elasticsearch 9200 は許可されていません。これは通常、rhel と centos の場合です。iptables を一時的に無効にして、機能するかどうかを確認できます。

iptables を無効にするには、次を実行します。

sudo iptables -F

iptables を無効にした後に接続が機能する場合は、9200 での接続を許可するように iptables を構成する必要があります。

これが役立つことを願っています。

G.

于 2016-09-25T16:22:19.187 に答える
-1

セキュリティグループがめちゃくちゃです

セキュリティ グループのルールを追加または削除できます (インバウンドまたはアウトバウンド アクセスの承認または取り消しとも呼ばれます)。

9200 に制限されたインスタンスを起動するときに SG を使用する必要があります。

于 2016-09-07T00:26:21.153 に答える