Windows Azure ConnectからオンプレミスへのSQL Serverへの接続トラブルシューティング

Windows Azure Connectを使用して、Web RoleやWorker RoleからオンプレミスのSQL serverへ到達するのに苦労したと聞いた。いくつかのTipsを紹介しよう。

  1. Remote Desktop経由でロールにアクセスできるように設定し、ロールにリモート接続する。
  2. Web ロールからSQL ServerにPingが飛ばせるか、その逆も可能か確認する。
    →もしダメならFireWallの設定を確認する
  3. ポート1433でSQL Serverに接続できるか確認する
    Webロールから telnet <SQL-SERVER-NAME> 1433
    もしダメなら、SQL ServerのFireWallのルールでTCP1433の受信が許可されているか確認し、SQL Serverの設定でリモート接続が有効になっているかを確認する。
    SQL ServerのIP接続が有効になっているかなど。
    この辺りは、オンプレミスのWebサーバからSQL Serverへ接続するときにしなければならない作業と同じ話なので、検索すれば詳細に説明してくれるページが多いので確認するといい。
  4. SQL接続文字列のタイムアウトの時間を長くする。
    connectionString = "Data Source=(local);Database=AdventureWorks; Integrated Security=SSPI;Connection Timeout=60”

オンプレミスのSQL ServerからAzureのデータセンターまでは長い距離を通信することになるので、単純に物理的なネットワーク遅延がパフォーマンスにインパクトを与えることを理解しておく必要がある。

ネタ元

Troubleshooting Windows Azure Connect to On-Premises SQL Serverをざっくりと意訳した投稿です。