2016-09-22 6 views
1

私はいくつかのチュートリアルに続き、IAMの設定とセキュリティグループを追加して、ここにデバッグログと、以下に貼り付けられたメインエラーがあります。これを明確にするために追加する必要がある他のデータがある場合はお知らせください。 AWS LambdaがKinesis Firehoseに接続できません "最大再試行回数がURLを超過しました"

[DEBUG] 2016-09-22T13:57:40.965Z 5b770867-80cc-11e6-b5b8-018d2de39616 ConnectionError received when sending HTTP request. 
Traceback (most recent call last): 
File "/var/runtime/botocore/endpoint.py", line 174, in _get_response 
proxies=self.proxies, timeout=self.timeout) 
File "/var/runtime/botocore/vendored/requests/sessions.py", line 573, in send 
r = adapter.send(request, **kwargs) 
File "/var/runtime/botocore/vendored/requests/adapters.py", line 419, in send 
raise ConnectTimeout(e, request=request) 
ConnectTimeout: HTTPSConnectionPool(host='firehose.us-east-1.amazonaws.com', port=443): Max retries exceeded with url:/(Caused by ConnectTimeoutError(<botocore.awsrequest.AWSHTTPSConnection object at 0x7fbbc4c92c10>, 'Connection to firehose.us-east-1.amazonaws.com timed out. (connect timeout=60)')) 

Debug Output from lambda log in Cloudwatch

+0

ラムダ機能はVPC内で実行されていますか?もしそうなら、あなたのVPCにNATゲートウェイがありますか? –

+0

これはVPCにありますが、私たちはNATを持っていません。キネシスに到着するには、VPCの外でこれを送信しなければなりませんか?私はちょうどそれが同じVPCのRDSのインスタンスに終わるようにしたい...私は私のラムダ関数を変更するだけでキネシスを悩ますのではなく、レコードをRDSに挿入するのを見ている...それは私をあまりにも長く取った – Caullyn

+0

KinesisサービスはVPC内で実行されていないため、VPC外でリクエストを送信する必要があります。それにはNATゲートウェイが必要です。 –

答えて

1

このthreadで私の答えに従ってください。 これは、ラムダがインターネット上の任意のサービス(S3、キネシスなど)に連絡する方法を説明します。

+0

ありがとう、ジョーイ。これはちょうどキネシスを追加するために完全に過剰ですが、私はラムダとs3を使用して私のソリューションを書くことができました。私がそれを組み込む必要があるなら、これは実行可能で安全な方法のようです。 – Caullyn

+0

"シンプルなソリューション"はあなたのニーズに合っていませんか? VPCはまったく必要ないかもしれません。さらに、S3 APIを使用する必要があると言えます。そのためのソリューションが組み込まれています。これについては、他のAWS後のサポートで説明したようにVPCを設定する必要はありません。 Kinesisなどでも同じことをしてくれることを願っています(まだ更新されていない場合は更新されません)。 – johni

+0

既にvpcにあります – Caullyn

0

現在、あなただけのKinesesストリームに、キネシス消火ホースに直接ラムダタスクを接続することはできません。 これを回避する方法の1つは、FirehoseがS3にファイルを書き込んだり、S3 event notificationsでLambdaタスクを起動させることです。

関連する問題