2017-05-12 9 views
0

AWSのElastic検索クラスタにログを送信するラムダ関数があり、うまくいきます。 ラムダ関数以下の役割を持っている:AWSのelasticsearchの役割を引き受ける

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Action": [ 
     "logs:CreateLogGroup", 
     "logs:CreateLogStream", 
     "logs:PutLogEvents" 
     ], 
     "Resource": [ 
     "arn:aws:logs:*:*:*" 
     ] 
    }, 
    { 
     "Effect": "Allow", 
     "Action": "es:ESHttpPost", 
     "Resource": "arn:aws:es:*:<ACCOUNT_ID>:*" 
    } 
    ] 
} 

しかし、今、私はセットアップにEC2インスタンス上で実行している私自身の弾性検索をしたいので、私はKibanaと一緒にX-パックをインストールすることができます。

私のラムダ機能が自分のカスタムエラスティックサーチにログを書き込ませるにはどうすればいいですか?

おかげで、事前

+0

私はなぜそれをしたいと思いますか? AWSが管理しているelasticsearchは頭痛の種をたくさん節約します。 – johni

+0

@johni質問:キバナと一緒にX-Packをインストールしてください。 –

答えて

3

で多くのあなたはEC2のマシン上で独自のelasticsearchインスタンスを実行されますので、あなたは、ラムダからのアクセスを可能にしたい、あなたは文句を言わない任意のIAMアクセスポリシーを必要とします。

ラムダ機能がデフォルト設定(VPCなし)で実行されている場合、ラムダ機能はインターネットにアクセスできます。したがって、アクセスする必要のあるURLはすべて公開する必要があります。パブリックIPをEC2インスタンスに割り当て、ポート9200またはセキュリティグループのいずれかを公開する必要があります。

私はあなたのelasticsearchを世界に公開しているので、このアプローチはお勧めしません。

ラムダ機能をVPCから実行し、ラムダが実行されるサブネットのCIDR範囲に対してelasticsearchクラスタへのアクセスを有効にする必要があります。

キバナを動作させるには、セキュリティグループに別のルールを追加して、たとえば、選択したIPアドレスからポート9200にアクセスできるようにする必要があります。あなたの職場。

+0

唯一の方法はセキュリティグループ経由ですか?基本的にVPC内でラムダ関数を実行し、弾性IPを持つNATゲートウェイ経由で終了します。このように、私の弾力的なIPを知っているので、私はelastic_ip:9200に私のec2インスタンスをフィルタリングできます。あなたのアイデアをありがとう、ありがとう:)私はあまりにもこの方法でそれをやって幸せではないが、私はそれを試してみましょう。 – jthemovie

+0

"基本的にはVPC内でラムダ関数を実行し、エラスティックIPでナットゲートウェイ経由で終了します。この方法で、私のエラスティックIPを知っているので、ec2インスタンスをelastic_ip:9200にフィルタリングできます。彼がラムダ機能を実行できるサブネットを提供する必要があります。サブネットがプライベートでec2インスタンスが同じサブネットの一部である場合は、サブネットのセキュリティグループからλ9200にアクセスできるようにするだけです。 ElasticIPは必要ありません。私はこれが多くの仕事であることを知っていますが、あなたはカスタマイズの代償を払っています。 –

+0

残念ながら、私は4つの異なるアカウントで4つのラムダ機能を持っており、弾力的な検索はログ集計のための特別なアカウントの中にありますので、あまり喜んではいません。/ – jthemovie

関連する問題