コンテナイメージとして定義された関数の呼び出し - AWS Lambda

コンテナイメージとして定義された関数の呼び出し

コンテナイメージとして定義された Lambda 関数では、.zip ファイルアーカイブとして定義された関数と、呼び出し時の関数の動作が非常によく似ています。次のセクションでは、類似点と相違点に重点をおきます。

関数のライフサイクル

Lambda は、関数が呼び出しを受け取る準備として、新規作成、または更新されたコンテナイメージを最適化します。最適化プロセスには数秒かかる場合があります。この関数は、プロセスが完了するまで Pending 状態のままです。その後、関数は Active 状態に移行します。Pending 状態のときに関数を呼び出すことはできますが、関数に対する他のオペレーションは失敗します。イメージ更新の進行中に発生した呼び出しは、以前のイメージのコードを実行します。

数週間にわたって関数が呼び出されない場合、Lambda は最適化されたバージョンを再利用し、関数は Inactive 状態に移行します。関数を再びアクティブにするには、関数を呼び出す必要があります。Lambda は最初の呼び出しを拒否し、関数は Lambda がイメージを再度最適化するまで Pending 状態に入ります。その後、関数は Active 状態に戻ります。

Lambda は、Amazon Elastic Container Registry (Amazon ECR) リポジトリから関連するコンテナイメージを定期的に取得します。対応するコンテナイメージが Amazon ECR に存在しなくなった場合、関数は Failed 状態に入り、Lambda が関数呼び出しに対して失敗を返します。

Lambda API を使用して、関数の状態に関する情報を取得できます。詳細については、「Lambda API を使用した関数の状態のモニタリング」を参照してください。

関数の呼び出し

関数を呼び出すと、Lambda はコンテナイメージを実行環境にデプロイします。Lambda は、関数設定 (ENTRYPOINT および CMD コンテナイメージ設定) で指定されたコードエントリポイントを呼び出します。

イメージのセキュリティ

Lambda が元のソース (Amazon ECR) から最初にコンテナイメージをダウンロードするとき、コンテナイメージは、認証されたコンバージェント暗号化方式を使用して最適化、暗号化、および保存されます。顧客データの復号化に必要なすべてのキーは、カスタマー管理の AWS Key Management Service (AWS KMS) カスタマーマスターキー (CMK) を使用して保護されます。Lambda による CMK の使用状況を追跡および監査するために、AWS CloudTrail ログを表示できます。