【小ネタ】 CloudWatch で DynamoDB/API Gateway メトリクスを確認

2021.12.17

CloudWatch で DynamoDB と API Gateway のメトリクスを確認してみます。
ミニマムで環境を構築し、動作の確認/理解することが目的です。

HTTP/REST APIチュートリアルを利用して環境を構築

こちらのチュートリアル を参考に環境を構築します。

※道なりに進めばすんなり行くと思いますが、構築後に上手く疎通が出来ない場合は、以下を確認してみてください(個人的に上手くいかなかった点)。

  • Lambda 関数のファイル名(及び exports.handler )と関数名
  • Lambda 関数にDynamoDBと対話するためのアクセスを許可(ロールとポリシーを作成)

リクエスト

// 項目の作成/更新
curl -v -X "PUT" -H "Content-Type: application/json" -d "{\"id\": \"abcdef234\", \"price\": 12345, \"name\": \"myitem\"}" https://abcdef123.execute-api.us-west-2.amazonaws.com/items

// すべての項目を取得
curl -v https://abcdef123.execute-api.us-west-2.amazonaws.com/items

// 1つの項目を取得
curl -v https://abcdef123.execute-api.us-west-2.amazonaws.com/items/abcdef234

CloudWatch でグラフ化したメトリクスの表示

  • 「すべてのメトリクス」より、「DynamoDB」->「テーブルメトリクス」を選択し、任意のメトリクス名をチェック
  • 「すべてのメトリクス」より、「API Gateway」->「ApiId,Stage」を選択し、任意のメトリクス名をチェック

DynamoDB WCU(WriteCapacityUnits)/RCU(ReadCapacityUnits)

  • ConsumedReadCapacityUnits: テーブルとそのすべてのグローバルセカンダリインデックス、または特定のグローバルセカンダリインデックスの 消費された 読み込み容量の合計を取得できます。
  • ConsumedWriteCapacityUnits: テーブルとそのすべてのグローバルセカンダリインデックス、または特定のグローバルセカンダリインデックスの 消費された 書き込み容量の合計を取得できます。

API Gateway (HTTP APIメトリクスの使用)

  • カウント: 指定期間内の API リクエストの合計数。
  • DataProcessed: 処理されたデータの量 (バイト単位)。

合わせて読みたい

DynamoDBの料金を最適化しよう【初級編】

参考