LoginSignup
2
0

【AWS】Lambda Layersで共通関数活用

Last updated at Posted at 2023-03-30

Lambda Layerということは、複数のLambda関数でライブラリを共有できる仕組みです。
複数のLambda関数は処理を行う前に、Lambda Layerのライブラリを呼び出してから、処理を実行することはできます。
現在、サーバーレス開発が進んでおり、CloudWatch Logsへログを出力していますが、出力する際の規定は無い為、既存の監視システムで処理するのは大変で、既存監視システムの仕様を踏まえてCloudWatch Logsへ出力する共通モジュールを作成し、各業務Lambda処理結果を出力してもらう形で対応することを想定しています。

■構成図
kannsiイル.png

■設計
① 業務バッチLambda毎に、CloudWatch Logs書込み共通処理をレイヤーを参照し、レイヤー関数経由にてCloudWatch Logsへ業務バッチ処理結果を出力する
② 出力先のCloudWatch Logsロググループは構成毎に出力する
③ 開始終了監視業務Lambdaにて、定時に該当条件の結果を取得して判断し、結果をメールにて通知する
④ エラー監視は、サブスクリプションフィルターを使用し、指定文字を検知した際に監視業務Lambdaを起動、リアルタイムにメール通知を行う

■処理後のログ(綺麗に出力されている)
キャプチャ.PNG

■まとめ
設計の通り実装して実現できましたが、以下の懸念事項があり、継続で改善方法を探しています。
・CloudWatch Logsへのログ出力の際、出力タイミングについては、AWS側で保証していない為、書込みまでにラグが発生する可能性がある
・監視側で取得する際に、取得できない可能性もある為、監視時間はある程度開ける必要がある

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0