マイクロサービスの動作確認で一部だけ手元に向けたい
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間しか適用しないらしいので用途が若干違う気もする。