DynamoDBStreamsの監視

DynamoDBStreamのLambda引数アイキャッチ

前回の記事で使用したDynamoDBStreamの監視についてです。

DynamoDBでレコードが追加更新されたことを契機にLambdaを起動することができる機能がDyanamoDBStreamです。
その際、Lambdaの起動に失敗したり起動が遅延したりする場合を検知するための監視を考えました。

目次

DynamoDBStreamとは

冒頭で書いた通りですが、DyanamoDBのレコードが更新されるとLambdaを起動します。その際、更新されたレコードをLambdaの引数にできます。(更新されたレコードのキーだけか、すべてのキーを渡すのかなどは選択できます。)

DynamoDBStreamのアーキテクチャ図
DynamoDBStreamでLambdaを起動

レコードからどの属性をLambdaの引数にするのかを選択

マネジメントコンソールでDynamoDBストリームの詳細を設定する
DynamoDBStream属性の選択

それぞれの属性ごとのLambdaへの引数の違いは以下の記事を参照してください。

パターン別監視

DynamoDBStreamの特性上、Lambdaの呼び出し遅延とLambdaの呼出し失敗について監視したいと思いました。

Lambdaからの呼び出しが遅延した場合

Lambda.IteratorAge で監視できることがわかりました。
Lambdaメトリクス

IteratorAge – ストリームから読み取るイベントソースマッピングの場合、イベントの最後のレコードの所要時間。所要時間は、ストリーミングがレコードを受信し、イベントソースマッピングがイベントを関数に送信するまでの時間です。

Lambda 関数のメトリクスの使用

Lambdaからの呼出しが失敗した場合

失敗時にSNSやSQSに通知することができます。マネジメントコンソールからの設定も可能です。失敗時の再試行回数も設定可能でです。

マネジメントコンソールでストリームからのLambda関数呼び出しの失敗検知設定方法
DynamoDBStream障害時の通知先・再試行の設定

まとめ

DynamoDBStreamの監視で思いつくものは呼び出し遅延と呼出し失敗の2点でした。筆者の経験上、Lambdaの呼出し遅延はコールドスタートなどが原因でそこそこ発生するので監視閾値については様子を見てチューニングするのが良いかと思います。

PR
当ブログはWordPressテーマSWELLを使用しています。非常に使いやすく、簡単にプロのようなデザインを使えるのでお勧めです!!

SWELL – シンプル美と機能性両立を両立させた、圧巻のWordPressテーマ

ランキング

ランキングに参加しています。クリックして応援いただけると嬉しいです。
にほんブログ村 IT技術ブログ クラウドコンピューティングへ
にほんブログ村
AWSランキング
AWSランキング

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次