ごった煮

色々な事を書いてます

SQL Database に Service Endpoint で接続しようとしたらどハマりした話

Service Endpoint 便利ですよね

ところが、Azure の VM から Service Endpoint 経由で接続しようとしたところ、超どハマりしたので、備忘録に残します。

今回の構成

  • 仮想マシン : 東日本リージョンにデプロイ
  • SQL Database : 東日本リージョンにデプロイ

何が起きていたか

  • VM から Azure Data Studio を経由して SQL Database に繋ぎに行こうとしたところ接続が上手くいかなかった
  • NSG を確認しても、Service Tag で Sql.JapanEast からのアクセスをポート 1433 に対して許可していた

原因

  • そもそもポート 1433 で繋ぎに行っていなかった

理由

SQL Database の接続モードは、「リダイレクト」と「プロキシ」の二つが用意されていますが、既定で「リダイレクト」モードになっています。 このモード、使用するポートが 1433 では、無いんですね

このモードの場合、ポート 11000 ~ 11999 の範囲のポートを使用するので NSG のアウトバウンド設定でこのポート範囲を指定してあげないと、繋ぎに行けないんですね そのため、NSG でポート範囲などを絞る場合は、SQL Database のゲートウェイが使用するポートの 1433 と、11000 ~ 11999 の範囲でポートを開放しないといけません。

docs.microsoft.com

まとめ

しっかりドキュメントを読もう