Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Amazon Managed Grafana で Amazon DynamoDB のデータ...

Amazon Managed Grafana で Amazon DynamoDB のデータを可視化する Infinity Plugin + プライベート API 構成

Avatar for Satoshi Kaneyasu

Satoshi Kaneyasu

September 05, 2026

More Decks by Satoshi Kaneyasu

Other Decks in Programming

Transcript

  1. なんでそんなことしたんですか? • 元々はAmazon Managed Grafana+Amazon Timestreamの構成を組んでました Amazon Managed Grafana •

    Amazon Timestream for LiveAnalytics AWS Lambda Amazon Timestream for LiveAnalyticsのEOLに伴い、 for InfluxDBへの移行を試みたのですが、 考えることが多すぎて断念したので泣く泣く仕組みを考え直した次第です
  2. 構成のポイント • API Gatewayでプライベート APIを作成 これを用いて、VPC Endpoint経由でのみアクセス可能な REST API とする

    • Managed GrafanaからPrivate API GatewayへアクセスするためにInterface VPC Endpointを設置 • VPC 内に配置した Lambda から DynamoDB へアクセス。このためにGateway VPC Endpointを設置 • 詳細はブログを書いています
  3. Infinity PluginによるAPI連携 • • • • GrafanaからDynamoDBへの参照は、 Grafana LabsのInfinity Pluginを使用したAPI経由

    本当は同じくGrafana LabsのDynamoDBプラグインを使用すれば、 APIは不要なのだが、 Grafana Enterpriseライセンスが必要 Grafana Enterpriseはライセンスは別途Grafana Labsとの契約が必要 有料だから避けるとかはしたくないのだが、 都合によりInfinity Pluginを採用した次第
  4. for InfluxDBへの移行を断念した理由 • • 以下のようなfor LiveAnalyticsの制限を回避するために、 工夫したテーブル設計にしていたので、 これをそのままInfluxDBに持っていくとかなり変 ◦ シングルメジャーレコード/

    マルチメジャーレコード ◦ 1レコードあたりのディメンションが最大128 ◦ マルチメジャーレコードの場合の1レコードあたりのメジャー数が最大256 (前頁の構成図にはないが) すでにSDKでデータ投入・集計を作り込んでいたため、 InfluxDBのクエリ機能にあまり魅力を感じない むしろSDKを叩くためのロジックが活かせるDynamoDBへの移行の方が楽
  5. まとめ • • Amazon Managed GrafanaにInfinity Pluginを入れることで、 API経由でDynamoDBのデータを参照し可視化することができます Amazon Timestream

    for LiveAnalyticsからfor InfluxDBへの移行はかなり ハードルが高いです for LiveAnalyticsで作り込んでいる場合は、アーキテクチャ見直しも必要です 本発表の構成がヒントになれば幸いです