Rust Lambda 関数のレイヤーを操作する - AWS Lambda

Rust Lambda 関数のレイヤーを操作する

Rust で書かれた Lambda 関数の依存関係をレイヤーで管理する方法はお勧めしません。Rust の Lambda 関数は単一の実行可能ファイルにコンパイルされ、関数をデプロイしたときにそのファイルが Lambda に渡されるためです。この実行可能ファイルには、コンパイルされた関数コードがそのすべての依存関係と共に含まれています。レイヤーを使用すると、このプロセスが複雑になります。そのうえ、他に必要なアセンブリがあれば、初期化フェーズ中にいちいちメモリにロードしなければならないため、コールドスタート時間が長くなります。

Rust ハンドラーで外部の依存関係を使用するには、その依存関係をデプロイパッケージに直接含めます。デプロイプロセスが簡素化されるうえ、ビルトインの Rust コンパイラの最適化機能を活用できます。AWS SDK for Rust のような依存関係を関数にインポートして使用する方法の例については、「Rust の Lambda 関数ハンドラーの定義」を参照してください。