検索
ニュース

AWS Lambda関数の起動時間を約10分の1に短縮、全リージョンに展開Lambda関数がVPCに接続する方法を改善

Amazon Web Services(AWS)は、「AWS Lambda」関数が「Amazon VPC」に接続する方法を大幅に改善する新機能を提供開始した。これにより、ユーザーはAWS Lambda関数の起動時間が短縮するというメリットを享受できる。

Share
Tweet
LINE
Hatena

 Amazon Web Services(AWS)は2019年9月3日(米国時間)、AWS Lambda(Lambda)関数の起動パフォーマンスが大幅に向上したと発表した。「Elastic Network Interface」(ENI)をより効率的に利用したためだ。

 「Amazon Virtual Private Cloud」(VPC)に接続する全ての既存の関数と新規の関数で効果がある。9月3日から徐々に新機能を展開し、今後数カ月で全リージョンに広げる。ユーザーが追加コストを投じる必要はなく、新機能を手動で有効にする必要もない。

 Lambdaは、サーバのプロビジョニングや管理をすることなく、コードを実行できるサービス。VPCは、AWSクラウドの論理的に分離されたセクションをプロビジョニングし、ユーザー定義による仮想ネットワーク内でAWSリソースを起動できるサービス。ENIは、仮想ネットワークカードを表すVPC内の論理ネットワーキングコンポーネントだ。

AWS Hyperplaneを利用

 今回提供を開始した新機能は、「AWS Hyperplane」(Hyperplane)を使用して、Lambda VPCから顧客のVPCにNAT(Network Address Translation)機能を提供するというもの。AWS Hyperplaneは、ネットワークロードバランサーとNATゲートウェイに使用されるネットワーク機能仮想化(NFV:Network Function Virtualization)プラットフォームであり、「AWS PrivateLink」などの製品でVPC間接続をサポートしている。

 Hyperplane ENIは、Lambdaサービスが制御するマネージドネットワークリソース。複数の実行環境が顧客アカウントのVPC内にあるリソースへ安全にアクセスできるようにする。

 従来のソリューションでは、顧客VPCのネットワークインタフェースをLambda実行環境に直接マッピングしていたが、新機能により、顧客VPCのネットワークインタフェースがHyperplane ENIにマッピングされるようになった。関数はHyperplane ENIを使用して接続する。


AWS LambdaとVPC、Elastic Network Interfaceの関係(出典:AWS

改善後の関数の呼び出し時間は約10分の1以下に短縮

 今回の改善により、既存のVPCで構成されたLambdaワークロードでは、アプリケーションがすぐにスケールし、新しい呼び出しに素早く応答するようになった。

 分散アプリケーションの分析とデバッグに使う「AWS X-Ray」や、AWSパートナーネットワーク(APN)製品のようなLambda向けのモニタリング/プロファイリングツールを使用すれば、ユーザーは今回の変更内容を確認できる。

 AWS X-Rayの分析によれば、改善の効果は少なくない。

 まず、改善前のVPC設定で起動された関数の例を示す。呼び出し時にネットワークインタフェースを作成するため、完全なコールドスタートを実行していることが確認できる。関数の起動時間は14.8秒と長い。


改善前の関数の起動時間(出典:AWS

 改善後に同じ関数を実行すると、VPCネットワーク性能が改善されたことを確認できた。関数の起動時間が14.8秒から933ミリ秒へと大幅に減少している。


改善後の関数の起動時間(出典:AWS

Copyright © ITmedia, Inc. All Rights Reserved.