🐥
internal Traffic Manager みたいなのが欲しい
internal Traffic Manager みたいな
just an idea で細かいところこれから考える。
- リージョンをまたいで、VNet 内部のリソースを振り分けるみたいなものが今のところ Azure にない
- Traffic Manager だと Internet-facing じゃないと使えない
- VNet の中にアクセスしようと思うと (Azure Front Door みたいに) Traffic Manager Premium みたいなのが必要
- とりあえず ACI (Azure Container Instances) とか Container Apps とかの Container 環境でしゅっと組みたい
- コンポーネントとしては
- ACI or Container Apps
- なんか監視する対象のなんらかのシステムがあって、それが生きてる or 死んでるによって Private DNS Zone で書き換える
- VNet (region pair)
- Private DNS Zone
- これを 2 つの VNet に関連付ける
- どう Private DNS Zone を参照させるかは別途検討
- Azure DNS Private Resolver とか
- 何でもいいけどとりあえず 168.63.129.16 に向ければいい
- ACI or Container Apps
- Azure の中で Kuernetes の ConfigMap みたいなのが欲しい
- 設定を変えるたびに Container を build しなおして docker push するのはだるい
- なにか外に設定を出しておいて、reconciliation loop みたいな形で定期的にその設定を見に行って、それを変更すれば動作が変わるようなのを実現したい
- Azure App Configuration がそれとして使えそう
- もしくは tag とか
- なんか tag に書くのはちょっと緩すぎる気もする
- tag に JSON 書きたくないしねぇ。。。文字数の制限とかありそうだし
- tag で Azure App Configuration の ResourceId 指定して、それを Managed ID で RBAC 使って許可して、、とかがいい落としどころにならないか
- Container 環境なのでプログラミング言語は Golang がいいかと
- single binary になるのがよさそう
- CoreDNS がいい感じだったのでそれを参考に
- たぶんここら辺を組み合わせればいい感じになるんじゃないか
- Azure App Configuration client library for Go
- Azure SDK for Go
- single binary になるのがよさそう
Discussion