Skip to content

マイクロサービスの動作確認で一部だけ手元に向けたい

Mackerelの開発をしていると、特定の機能を実装して動作確認したい場合に、それを実行するために複数のマイクロサービスを起動しなければならない場合が多々ある。例えばラベル付きメトリックのアラート発報を確認したい場合、

  • mackerel3
  • michizane-reader
  • michizane-writer
  • diamond-writer
  • diamond-reader
  • rokuhara-worker
  • (他にもいくつかある)

これだけ手元で動かす必要がある。同様に、トレースの取り込みを確認したい場合も、

  • mackerel3
  • kamatari/web
  • kamatari/otel-trace
  • kamatari/trace-worker

などが必要になる。正確にはこれらのマイクロサービスが依存するミドルウェアも必要になるので、気軽に確認できる状態ではない。

Kubernetes環境であれば、Telepresenceというプロキシ?で一部の通信だけ向き先を変えることができるらしいが、少なくとも2025年時点のMackerelはECS前提なので利用できない。

Google CloudにはGoogle CloudのCloud Service Meshというサービスがあり、近しいことができるようだった。

AWSではECS Service Connectがそれっぽいサービスだけど、ECS間しか適用しないらしいので用途が若干違う気もする。