- 新しい順
- 投票が多い順
- コメントが多い順
料金はかかりますがプロビジョニング済み同時実行を設定しておくことでInactiveに推移するのを回避できます。
https://dev.classmethod.jp/articles/tsnote-aws-lambda-how-can-i-avoid-the-inactive-state-of-the-lambda-function/
Inactive状態のLambda関数をAPIを使用してInvokeせずにActive状態にする直接的な方法はありません。Lambda関数がInactive状態になるのは、長期間アイドル状態が続いた結果、Lambdaサービスが関数に関連付けられた外部リソース(VPCリソースなど)を回収したためです。
しかし、関数を再度Active状態にするためには、何らかの形で関数を「触る」必要があります。以下のような方法が考えられます:
-
関数の設定を更新する:UpdateFunctionConfiguration APIを使用して、関数の設定を更新します。これにより、Lambdaサービスは関数のリソースを再構成しようとします。
-
新しいバージョンをパブリッシュする:PublishVersion APIを使用して、関数の新しいバージョンを作成します。
-
タグを追加または更新する:TagResource APIを使用して、関数にタグを追加または更新します。
これらの操作を行うと、関数は一時的にPending状態になり、その後Active状態に移行する可能性があります。ただし、これらの方法は関数の直接的な実行(Invoke)を避けるための代替手段であり、確実にActive状態になることを保証するものではありません。
最も確実な方法は、やはり関数をInvokeすることです。Invokeに失敗した場合、LambdaサービスはPending状態に移行し、必要なリソースの再作成を試みます。その後、成功すればActive状態になります。
Sources
Lambda function states - AWS Lambda
関数の呼び出しが必要なはずなのでre:Post Agentの回答にあるタグの設定などでは解決できないと思います。 https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/images-create.html#images-lifecycle