LoginSignup
1
1

More than 5 years have passed since last update.

Lambdaを暖気するやつを作るやつを作った

Posted at

何をするものか

5分おきに任意のLambdaFunctionを起動するCloudWatch Events RuleとLambdaFunction、及びそれを作成するためのCloudFormationのTemplateです。

既にあるLambdaFunctionに対して、prewarmというTagを値trueとともに設定すると、この仕掛けから呼び出されます。

Untitled.png

起動するLambdaFunctionの範囲は、同じアカウントの同じRegion内です。

作り方

こちら からlambda-prewarm-executor.yamlを入手し、CloudFormationでStackを作成してください。

Parameterはデフォルトの設定のままで構いません。
以下の2点はStackのParameterになっているので、一部の振る舞いを変えられます。

  • ExecutionSchedule:実行間隔。CloudWatchEvents Ruleのrate式を使えます。
  • TargetLambdaTagName:ここで指定したTagの値がtrueであるLambdaを暖気します。

Stackを作成すると、以下のリソースが作成されます。

  • 対象を起動するためのLambdaFunction
  • 上記LambdaFunctionを定期的に起動するためのCloudWatch Events
  • 必要なIAM Role、Permissionなど

使い方

暖気したいLambdaFunctionにTag prewarmを値 trueで設定してください。

起動するときに、以下の値を引数で渡します。

{ "isPrewarm": true }

呼ばれたLambdaFunction側で、通常の呼び出しか、暖気による呼び出しかの判定に使用してください。

暖気するLambdaFunctionは非同期で起動し、エラーの判定を行いません(投げっぱなしです)。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1