AWS ラムダ実装の概要

ラムダ関数を使用した AWS エージェントの実装ロジックを理解する。

サンプルの実装では、以下の AWS サービスを利用しています:

  • AWS CloudWatch - APIメトリクスを取得します。
  • AWS CloudTrail - APIアクティビティを取得する。
  • AWS EventBridge スケジューラ - スケジュールされたタスクを作成、実行、管理します。 EventBridge Schedulerを使用すると、基礎となるインフラストラクチャのプロビジョニングや管理を行うことなく、1回限りまたは定期的に何千万ものタスクをスケジューリングすることができます。

AWS ラムダ関数とその機能を設定するためのアーティファクト

エージェントのユースケースごとに設定しなければならない機能を理解しましょう。 AWS エージェントの使用例とそのコア実装ロジックの詳細については、 コア実装ロジックを参照。

  • Amazon API Gateway のヘルスステータス (ハートビート) を取得し、 フェデレーテッド API 管理に送信します。

    この機能を実行するには、 send-heartbeat.jar を使用してラムダ関数を作成します。

  • Amazon API Gateway とフェデレーテッド API 管理の間でアセットを同期します。

    この機能を実行するには、 send-asset.jar を使用してラムダ関数を作成します。

    このLambda関数は、 連携API管理によるアセットの公開と同期を処理する。

    1. Lambda関数は、APICP_PUBLISH_ASSETS環境変数がtrueに設定されている場合、最初の呼び出しの間に、すべてのAmazon API Gateway 'のアセット(API)を連携API 管理に公開する。
    2. それ以降の呼び出しでは、このLambda関数の作成時に設定された同期値に従って、アセットが定期的に同期される。 各同期間隔では、新規作成、更新、または削除されたアセットのみが連携API 管理と同期されます。
  • Amazon API Gateway からメトリクスを取得し、 連携API 管理に送信する。

    この機能を実行するには、 send-metrics.jar を使用してラムダ関数を作成します。

注: 対応する3つのLambda関数はすべて、 連携API管理における Amazon API Gateway の登録を処理する。

登録機能は、ランタイム(Amazon API Gateway )が連携APIマネジメントに接続された最初の時に、一度だけ発生する。 Lambda 関数は、ランタイムがフェデレーテッド API 管理に存在しない場合にのみ、ランタイムをフェデレーテッド API 管理に登録します。 それ以降の登録では、 API連携管理はエージェント(Lambda関数)に対して、ランタイムが API連携管理に既に存在することを示し、既存のランタイムが使用される。 たとえば、3つのラムダ関数(heartbeat、assets、metrics)のすべてが、それぞれの最初の呼び出し時に同じランタイムIDとランタイム名を使用する場合、最初に実行されたラムダ関数だけが連携API管理内にランタイムを作成します。 残りの2つのラムダ関数は、最初のラムダ関数が作成したものと同じランタイムを使用する。