2017-12-11 2 views
0

EC2サーバーを使用してAWSに2つのElasticsearchクラスタを設定し、ロードバランサの背後に配置しました。ロードバランサで特定のしきい値に達すると、新しいインスタンスを起動するようにAWSを設定します。現在、私はconfig/elasticsearch.ymlで、次の設定でお互いに話すElasticsearchインスタンスを持っている:新しいインスタンスはサブネット内の不確定プライベートIP上で起動しますので、それが可能だった場合Elasticsearch 1.xはIP範囲でクラスタを検出できますか?

discover.zen.ping.unicast.hosts: ["172.x.x.x","172.x.x.x"]

は、私が思っていました新しいクラスタが起動するときに新しいクラスタを検出できるように、IP範囲でconfigをポイントします。これにセキュリティの影響がありますか?

そうでない場合は、同じ結果を達成する別の方法がありますか? Elasticsearchはロードバランシングとスケーリングを単独で処理することを意図していますが、これはより大きなソリューションの一部であり、プロジェクトのパートナーのセキュリティ仕様に明記されています。

質問

AWS EC2上Elasticsearchをホスティング:

  1. は、あなたがIP範囲を使用するElasticsearch発見を設定することはできますか?
  2. AWSを使用しているときにこれを行うことにセキュリティの影響がありますか?
  3. このシナリオを処理する適切な方法は何ですか?

答えて

0

私はこれを自分で見つけました。これに起こる他の人にとっては、私がしたことがここにあります。

私はElasticsearch、Apache、Javaをインストールして基本インスタンスをセットアップし、システム起動時に起動するように簡単なElasticsearch起動スクリプトを作成しました。

ESインスタンスのノード名をnode.name: ${HOSTNAME}に設定して、クラスタ内で各ノードを識別できるようにし、手動でサーバにログインして何かをチェックする必要がある場合に備えて固有の名前を付けます。

大きな問題は、使用しているElasticsearchの関連するバージョンのElasticsearchのcloud-awsプラグインを使用する必要があることです。 here

elasticsearch.ymlを使用すると、cloud-aws固有の設定を使用してインストールを設定できます。ただし、ESがクラスタに参加するIPアドレスに依存しないようにすることはできますが、代わりにクラスタベースインスタンスタグ、サブネット、またはAWS内の新しいインスタンスについて一意であるが決定可能なその他のものについては、

私はthisの記事が非常に役に立ちました。記事の主なポイントは以下のとおりです。

AWS IAMの役割 IAM役割を設定し、それらがAWSと通信し、特定の値のための新しいインスタンスをチェックできるようにするために、あなたの新しいインスタンスに割り当てる必要があります。役割にはこれらの権限が必要です。

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "VisualEditor0", 
      "Effect": "Allow", 
      "Action": [ 
       "ec2:DescribeInstances", 
       "ec2:DescribeAvailabilityZones", 
       "ec2:DescribeTags", 
       "ec2:DescribeRegions", 
       "ec2:DescribeSecurityGroups" 
      ], 
      "Resource": "*" 
     } 
    ] 

Elasticsearchコンフィグ クラウドAWSをインストールした後、あなたはあなたのelasticsearch.ymlファイルに新しい設定を使用できるようになります。まず、これが不要になったのでdiscover.zen.ping.unicast.hosts:を削除します。

cloud: 
    aws: 
     access_key: <YOUR AWS KEY> 
     secret_key: <YOUR AWS SECRET> 
discovery: 
    type: ec2 

しかし、より調整された構成は以下のとおりです。

cloud: 
    aws: 
     ec2: 
      endpoint: ec2.eu-west-2.amazonaws.com 
:あなたがEU西を使用している場合

、その後、あなたは、次の設定で領域を置換する必要があります。それはesdiscovery:enabledのタグでインスタンスを検索します

関連する問題