Lambdaのhandler外に、ライブラリの初期化コードなどを書く場合があります。 普段、何気なく書いていますが、Lambdaの仕組み的にhandler外(メソッド以外)のコードはコールドスタート時の1回だけ実行されます。 そのため、「現在時刻を変数に初期設定したとき、意図的に更新しない限り、Lambdaが複数回実行されても同じ時刻を指す」という状態になったりします。 注意:同じLambda環境の場合です。新しいLambda環境で実行される場合(スケールアウト、コード変更、時間経過など)は、それぞれのLambda環境で1回目と2回目以降で同様です。 実際に試してみました。 最初に結論 弊社岩田の資料より 下記の発表資料が超わかりやすいです!(他の内容もタメになるのでおすすめです!) Serverless Meetup Osaka #5 で「VPC Lambda×RDSのデメリットについて
![Lambdaのhandler外(メソッド以外)のコードは「コールドスタート時の1回だけ実行される」という話 | DevelopersIO](https://cdn-ak-scissors.b.st-hatena.com/image/square/25fe5c76b0259f67cfbb0286bc1fd48c715f810f/height=288;version=1;width=512/https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2F2019%2F05%2Faws-lambda.png)