Azureのtcpでのcustom load balancer probe

ぐぐってもhttpでの実装しか書いてないのでtcpの方試してみました。
ざっくりいうと対象ポートをTcpListnerでStart,Stopで開けたり閉めたりしてれば大丈夫そう。

  <LoadBalancerProbes>
    <LoadBalancerProbe name="MyProbe" protocol="tcp" port="1234" intervalInSeconds="5" timeoutInSeconds="11" />
  </LoadBalancerProbes>

  <Endpoints>
    <InputEndpoint name="Endpoint1" protocol="http" port="80" loadBalancerProbe="MyProbe" />
  </Endpoints>

とServiceDefinition.csdefに書いて
対象のポートで

_listener = new TcpListener(IPAddress.Any, port);

としてload balanceさせたいタイミング・止めたいタイミングで

//させたい
_listener.Start();
//とめたい
_listener.Stop();

すればオケ。
Stopした後Startすればintervalなどのタイミングに応じてまたload balanceされるようになります。