LoginSignup
4
2

More than 1 year has passed since last update.

【re:Invent2022】Lambda SnapStartの有効化方法(コンソール)

Last updated at Posted at 2022-11-29

はじめに

こん〇〇は!
re:Invent2022で発表された「Lambda Snap Start」ですが、さっそくどのように有効化したらよいか確認してみたので、記事にしました!
もうすでに、AWSのサイトに今回の記事の内容は書いてありますので、それを試してみた。といったような内容です。

Lambda SnapStartとは

簡単に言うと、通常のcold startに比べ高速に起動できるサービスです。
Lambdaのライフサイクルは、init/Invoke/Shutdownの3ステップあります。
このうちinit部分を高速化するサービスです。
過去にLTをした時の資料があるので、こちらで説明します。
image.png
通常init部分は数ミリ秒しかかからないものの、ランタイムやフレームワークの組み合わせによって10秒程度かかってしまう場合があります。
このinit部分で行われる実行環境の作成などを事前にして、SnapShotを取得/キャッシュしておきます。
Lambda関数が呼び出された場合に、実行環境などをイチから作るのではなく、SnapShotを呼び出してリストアすることで、init部分を高速化します。
image.png

前提条件

使用できるランタイムは「Java 11」のみ(2022/11/29現在)

できないこと、できない環境/サービス

  • プロビジョニングされた同時実行
  • arm64 アーキテクチャ
  • Lambda 拡張機能 API
  • Amazon Elastic File System (Amazon EFS)
  • 512MBを超えるエフェメラル(一時)ストレージ

注意点

スナップショットは以下の場合削除されます。

  • 関数または関数バージョンを削除したとき。
  • 14日間の関数バージョンの呼び出しがないとき。(14日後に呼び出された場合再作成される。)

有効化方法

まず、Lambdaを作りましょう。
使用できるランタイムは「Java 11」のみなので、コンソール上からは「Java 11(Corretto)」を選択します。
また、アーキテクチャは「arm64」に対応していないため、「x86_64」を選択します。
あとはデフォルトでOKです。
image.png

作成出来たら、「設定」タブへ移動し、「一般設定」を見てみましょう。
画像の青線部分、現在はSnapStartが設定されていない状態(None)となっています。
有効化するために「編集」を押下します。
image.png

青線部分の「エフェメラルストレージ」の容量は「512MB」を超えるものは対応していないため、「512MB」以下で設定してください。
赤線部分「SnapStart」がページ移動時は「None」となっていますので「PublishedVersions」に変更して、保存してください。
image.png

一般設定画面に戻り、「SnapStart」の項目が「PublishedVersions」になっていれば設定終了です。
image.png

参考文献

4
2
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
4
2