「AWS Lambda」が拡張機能を介して各種運用ツールと統合可能に追加の設定作業が必要ない

サーバのプロビジョニングや管理をすることなくコードを実行できる「AWS Lambda」サービスが利用しやすくなった。AWS Lambda拡張機能を使うことでモニタリングや可観測性、セキュリティ、ガバナンスのための運用ツールをAWS Lambdaと統合して利用できる。

» 2020年11月02日 12時30分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 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で利用しやすい。

AWS Lambda実行環境とExtensions APIの関係(出典:AWS

 ほとんどのユーザーは拡張機能を実現する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.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。