Lambda関数の設定を構成する
Lambda関数のAmplify CLIデフォルト設定をオーバーライドするか、amplify add functionワークフロー内で利用できない変更を構成することができます。
例: Node.js関数を作成すると、CLIは自動的にランタイムバージョン、デフォルトのメモリサイズなどを構成します。オーバーライドまたは構成したい項目がいくつかあります:
- ランタイム
- メモリサイズ
- 環境変数
これらのすべてを更新する方法を見てみましょう。
ランタイムの更新
ランタイムバージョンをAmplifyが生成したデフォルトより新しいバージョンまたは古いバージョンに調整したいことがあります。
Node.jsランタイムを使用してLambda関数をデプロイしており、ランタイムのバージョンを14.xに変更したいとしましょう。
そのためには、__amplify/backend/function/function-name/function-name-cloudformation-template.json__を開き、LambdaFunctionリソースのRuntimeプロパティを以下に設定します:
"Resources": { "LambdaFunction": { ... "Properties": { "Runtime": "nodejs14.x", // ランタイムが14.xに設定されました "Layers": [], } ... } },}次に、Amplify CLIを使用して更新をデプロイします:
amplify pushデフォルトメモリサイズの更新
Amplifyで関数をデプロイするとき、デフォルトメモリサイズは低い設定(128MB)に設定されます。多くの場合、パフォーマンスを向上させるためにデフォルトメモリサイズを増やしたいことがあります。Lambdaの一般的なメモリ設定は1024MBです。これにより関数が顕著に高速化され、通常はコストが同じか近い値に保たれます。
メモリサイズを更新するには、__amplify/backend/function/function-name/function-name-cloudformation-template.json__を開き、LambdaFunctionリソースのMemorySizeプロパティを設定します:
"Resources": { "LambdaFunction": { ... "Properties": { "Runtime": "nodejs14.x", "MemorySize": 1024, // メモリサイズが1024MBに設定されました "Layers": [], } ... } },}次に、Amplify CLIを使用して更新をデプロイします:
amplify pushLambda関数のリソース割り当て最適化の詳細については、こちらのブログ記事をご覧ください。
環境変数の設定
Lambda関数で環境変数を設定および使用する必要があることは非常に一般的なシナリオです。
一般的に、環境変数には2つのタイプがあります: