AWS Lambda がコンテナイメージ関数の SnapStart をサポート
本日より、AWS Lambda はコンテナイメージとしてパッケージ化された関数の SnapStart をサポートします。これにより、起動時間が数秒から最短でミリ秒単位にまで短縮されます。Lambda SnapStart は、リソースをプロビジョニングしたり複雑なパフォーマンス最適化を実装したりすることなく、応答性が高くスケーラブルなアプリケーションを簡単に構築できるようにするオプトイン機能です。
お客様は、組織のコンテナベースのデプロイ標準に合わせるため、または最大 10 GB の依存関係をパッケージ化するために、Lambda 関数をコンテナイメージでデプロイしています。ただし、コンテナイメージが大きい場合、Lambda がイメージレイヤーをダウンロードしてランタイムとアプリケーションコードを初期化するため、起動に数秒かかることがあります。SnapStart はこの課題に対処します。関数のデプロイ時に初期化済みの実行環境のスナップショットを取得してキャッシュし、呼び出し時には一から初期化する代わりに、そのスナップショットから再開します。これまで SnapStart は、マネージドランタイム (Python、.NET、Java) でのみサポートされていました。本日より、お客様はコンテナイメージで SnapStart を使用して、機械学習推論やインタラクティブ API といったレイテンシーの影響を受けやすいワークロードの起動時間を改善できます。
コンテナイメージの Lambda SnapStart は、アジアパシフィック (ニュージーランド) とアジアパシフィック (台北) を除く、すべての商用 AWS リージョンで利用できます。
新規または既存のコンテナイメージ関数で SnapStart を有効にするために、AWS Lambda API、AWS コンソール、AWS コマンドラインインターフェイス (AWS CLI)、AWS CloudFormation、AWS サーバーレスアプリケーションモデル (AWS SAM)、AWS SDK、AWS Cloud Development Kit (AWS CDK) を使用できます。Java (バージョン 11 以降)、Python (バージョン 3.12 以降)、.NET (バージョン 8 以降) の Lambda 用 AWS ベースイメージを使用する場合は、.zip ファイルアーカイブとしてデプロイした関数と同じように利用できます。その他の Lambda 用 AWS ベースイメージ (Node.js や Ruby など) やカスタムベースイメージについては、デベロッパーガイドを参照してください。 SnapStart の詳細については、Lambda のドキュメントをご覧ください。 コンテナイメージ関数の SnapStart の料金については、AWS Lambda の料金をご覧ください。