「AWS Lambda」が拡張機能を介して各種運用ツールと統合可能に:追加の設定作業が必要ない
サーバのプロビジョニングや管理をすることなくコードを実行できる「AWS Lambda」サービスが利用しやすくなった。AWS Lambda拡張機能を使うことでモニタリングや可観測性、セキュリティ、ガバナンスのための運用ツールをAWS Lambdaと統合して利用できる。
Amazon Web Services(AWS)は2020年10月8日(米国時間)、「AWS Lambda」(Lambda)サービスが、Lambda拡張機能のプレビュー版を介して、モニタリングや可観測性、セキュリティ、ガバナンスのための運用ツールとともに利用しやすくなったと発表した。
Lambdaは、サーバのプロビジョニングや管理をすることなく、コードを実行できるサービス。開発者や運用担当者はLambdaを使うことで、運用上のオーバーヘッドを削減できるため、ビジネスニーズに集中しやすくなる。
Lambda拡張機能を利用すると、既存のツールとLambdaを容易に統合できる。これまでLambdaと既存のツールを統合するには、追加の運用や設定作業が必要だった。ログエージェントのような長時間稼働するプロセスを、Lambdaで簡単に動作させることもできなかった。
Lambda拡張機能を利用する次のようなユースケースがあるという。
- 関数の呼び出し前、呼び出し中、呼び出し後に診断情報を取得する
- コードを変更せず、自動的にコードをインストルメント化する
- 関数呼び出しの前に構成を設定したり、秘密情報を取得したりする
- 動作させたい機能とは別のプロセスとして実行可能な強化されたセキュリティエージェントを介して、機能の活動を検出し、警告する
現在、Lambda拡張機能を利用できるツールは次の通り。
- AppDynamics、Check Point、Datadog、Dynatrace、Epsagon、HashiCorp、Lumigo、New Relic、Thundra、Splunk、AWS AppConfig、Amazon CloudWatch Lambda Insights
2つのコンポーネントで実現
AWSマネジメントコンソールやAWS CLI(AWSコマンドラインインタフェース)を使うと、Lambda拡張機能をLambdaレイヤーとしてデプロイできる。
「AWS CloudFormation」「AWS Serverless Application Model」(AWS SAM)、「Serverless Framework」「Terraform」などのコードツールとしてインフラストラクチャを利用することもできる。「Stackery」を使うとEpsagonやNew Relic、Lumigo、Thundraの拡張機能の統合を自動化することもできる。
Lambda拡張機能にはLambda Extensions API(Extensions API)と拡張機能自体という2つのコンポーネントがある。拡張機能の構築ではExtensions APIを使う。関数の初期化や呼び出し、シャットダウン中にツールが強力な制御を実現する手段もExtensions APIが提供する。Extensions APIは既存のLambda Runtime APIをベースに構築されており、カスタムランタイムをLambdaで利用しやすい。
ほとんどのユーザーは拡張機能を実現するExtensions APIの機能を知ることなく、拡張機能を使用できる。Lambda関数でオプションを設定することにより、拡張機能の機能を利用できるからだ。拡張機能の開発者はExtensions APIを使って、関数と実行環境のライフサイクルイベントを登録する。
内部モードと外部モードがある
拡張機能はAWSとAWS Lambda Readyパートナー、オープンソースプロジェクトが提供する。独自に開発することも可能だ。拡張機能は内部モードまたは外部モードで動作する。
- 内部拡張機能
ランタイムプロセスの一部として、コードとともにインプロセスで動作する。言語固有の環境変数やラッパースクリプトを使用して、ランタイムプロセスの起動を変更できる。コードを自動的に計測、監視するといったユースケースに向く。 - 外部拡張機能
ランタイムとは別のプロセスをLambda関数と同じ実行環境で実行できる。ランタイムプロセスより前に動作を開始でき、ランタイムのシャットダウン後も動作を継続できる。呼び出し前にシークレットをフェッチしたり、関数呼び出しの外部のカスタム送信先にテレメトリーを送信したりといったユースケースに向く。外部拡張機能ではLambda関数のコンパニオンプロセスとして動作する。
料金と対応リージョンは?
拡張機能は、Lambda関数と同じ料金モデルを採用した。Lambda関数を拡張機能とともに使用する場合、処理されたリクエスト件数に加え、コードと全ての拡張機能の実行に使用された合計コンピューティング時間(100ミリ秒単位)に対して課金される。
拡張機能は次の各リージョンでプレビュー版として利用できる。
- us-east-1(バージニア北部)、us-east-2(オハイオ)、us-west-1(北カリフォルニア)、us-west-2(オレゴン)、ca-central-1(カナダ中部)、eu-west-1(アイルランド)、eu-west-2(ロンドン)、eu-west-3(パリ)、eu-central-1(フランクルフト)、eu-north-1(ストックホルム)、eu-south-1(ミラノ)、sa-east-1(サンパウロ)、me-south-1(バーレーン)、ap-northeast-1(東京)、ap-northeast-2(ソウル) 、ap-northeast-3(大阪)、ap-southeast-1(シンガポール)、ap-southeast-2(シドニー)、ap-south-1(ムンバイ)、ap-east-1(香港)
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- AWS Lambda関数の起動時間を約10分の1に短縮、全リージョンに展開
Amazon Web Services(AWS)は、「AWS Lambda」関数が「Amazon VPC」に接続する方法を大幅に改善する新機能を提供開始した。これにより、ユーザーはAWS Lambda関数の起動時間が短縮するというメリットを享受できる。 - アプリ開発者もインフラ管理者も知っておきたいサーバレスとAWS Lambdaの基礎知識
システム開発の常識を覆す「サーバレスアーキテクチャ」について「AWS Lambda」を使って構築方法を学ぶ連載。初回は、サーバレスアーキテクチャの仕組み、メリット、Lambdaの特徴と留意点について。 - AWS、サーバレスの「AWS Lambda」でGo言語と.NET Core 2.0をサポート
AWSは2018年1月15日、サーバレスコンピューティングサービス「AWS Lambda」で、プログラミング言語のGoと.NET Core 2.0をサポートしたと発表した。