私の理解しているとおり、AWS LambdaはアップロードされたコードをユーザーがアクセスできないEC2インスタンスで実行します。アップロードされたコードを実行するために必要なランタイム環境を作成し、権限を管理し、負荷を分散します。これはAWS Lambdaが背後にあると私が考えるものです。 Wikipediaを引用AWSラムダは、ラムダコードを実行するために必要なメモリとCPU要件をどのように知っていますか?
:
まれに使用されるサーバレスコードを連続専用サーバー上で実行されるコードは、仮想マシン、または容器を超える応答待ち時間に苦しむことができます。これは、オートスケーリングとは異なり、クラウドプロバイダは通常、使用していないときにサーバーレスコードを完全に「スピンダウン」するためです。
これは理にかなっていますが、AWSラムダは、自動スケーリングを使用するようclaimを行います。
AWSラムダは、自動的に各トリガに応じてコードを実行することで、アプリケーションをスケーリングします。コードは並列で実行され、個々のトリガーを個別に処理し、ワークロードのサイズを正確にスケーリングします。
私の質問がある -
- AWSラムダは、私のコードを実行するためのメモリとCPUを割り当てない方法は?
- 私のラムダリクエストはすべて、1つのEC2インスタンスによってサービスされるのですか?
- はいの場合、リクエスト数が増えるとどのように拡大縮小されますか?
- いいえラムダ要求を受け取るたびにコードを実行するためのランタイム環境を作成する必要がある場合、レイテンシをどのように減らすか?
ラムダアプリケーションはコンテナにデプロイされます。コンテナRAMサイズを選択し、コンテナが実行されている時間に請求されます。自動スケーリングはコンテナレベルで行われます。コンテナインスタンスが増加した負荷を処理するために開始されるか、構成可能なスパン以上にアイドル状態の場合に終了されます。 –