“Stream to Amazon Elasticsearch Service” does not work


 


 

なんということもない、CloudWatch LogsデータのElasticsearch Serviceへのストリーミングが動かない(というか設定できない)。

マネジメントコンソールの設定に沿って手順を進めると、

最後の”Start Streaming”のところでエラーが発生して

ストリーミングが開始できない。


There was a problem
There was an error creating your Lambda Function. Please try again.

 

CloudTrailを確認すると、

どうやら「CreateFunction20150331」なるファンクションが実行され、

それが「InvalidParameterValueException」で落ちている模様。


 

実際のログを確認すると、


"errorMessage":"The runtime parameter of nodejs4.3 is no longer supported for creating or updating AWS Lambda functions. We recommend you use the new runtime (nodejs8.10) while creating or updating functions."

とエラーが吐かれている。

どうやら、マネジメントコンソールからElasticesearch Serviceのストリーミングを開始した際、

裏で実行されるLambdaがNode.js4.3で書かれていることが原因のように見える。

 
確かに、Node.js v4.3で書かれたLambdaファンクションは今年EOLになった。

AWS Developer Forums: Node.js v4.x is now EOL, please migrate your functions to a newer runtime version
https://forums.aws.amazon.com/ann.jspa?annID=5694
 
ググると、同じバグを踏んだ人がいた模様。

Had a strange case with Cloudwatch Logs Stream to ElasticSearch today… AWS says it’s a bug on their end? : aws https://www.reddit.com/r/aws/comments/a7eup5/had_a_strange_case_with_cloudwatch_logs_stream_to/

 
いや、まあLambda書きゃいいんですけど、面倒だ。とゆうか初学者はエラーの原因も探れず困ると思う。
 

AWSによるサーバーレスアーキテクチャ
Peter Sbarski
翔泳社
売り上げランキング: 107,099

関連記事