Azure SQL Managed Instanceの自動内部接続テスト

適用対象:Azure SQL Managed Instance

この記事では、サービスの信頼性を監視し、問題の検出を高速化するために、Azure SQL Managed Instanceで実行される自動内部接続テストについて説明します。

これらのテストは完全に自動化されており、ユーザーの操作は必要ありません。 内部ネットワーク接続を事前に監視することで、Microsoftは潜在的な問題をすばやく特定し、安定したエンドツーエンド接続を維持できます。

接続テストは、SQL マネージド インスタンスをホストするサブネット範囲の内部 IP アドレスのペアから実行されます。 テストでは、外部の受信接続または送信接続は必要ありません。 追加の IP アドレスは接続テスト用に予約されており、トレースが監視ログに表示される場合があります。

2026 年 5 月以降、接続テストはすべての SQL マネージド インスタンスで一定の間隔で実行されます。

Benefits

自動内部接続テストには、次の利点があります。

  • 内部サービスとネットワークの可用性に関する問題を診断します。
  • 問題の検出を高速化し、軽減時間を短縮します。
  • SQL Managed Instanceの内部ネットワーク状態の可視性を向上させます。

テスト結果は内部的に使用され、Service Health または Resource Healthには反映されません。

運用上の影響

内部接続テストには、次の運用上の影響があります。

  • VM グループごとに 2 つの追加 IP アドレスがプロビジョニングされ、IP アドレスの要件が 6 から 8 に増えます。 詳細については、「 サブネットのサイズと範囲を決定する」を参照してください。
  • テストは 10 秒ごとに実行され、ネットワークのスループットとサービスのパフォーマンスに与えるパフォーマンスへの影響はごくわずかです。
  • SQL マネージド インスタンス用に作成された新しいサブネットは、接続テストに必要な追加の IP アドレスを自動的に予約します。
  • SQL マネージド インスタンスを使用する既存のサブネットでは、テストで必要な追加の IP アドレスをサポートするのに十分な空き IP アドレスがサブネットにある場合にのみ、テストによって追加の IP アドレスが予約されます。 既存のサブネットに十分な空き IP アドレスがない場合、テストは実行されません。

セキュリティに関する考慮事項

次のセキュリティ原則は、内部接続テストの設計をガイドします。

  • テストのスコープは 1 つの SQL マネージド インスタンスであり、委任された仮想ネットワークとサブネット内で実行されます。
  • 接続テストは、どのデータベースの内容にもアクセスできません。
  • テスト結果には、インスタンス名以外の顧客データは含まれていません。
  • 結果にアクセスできるのはMicrosoftエンジニアだけです。
  • 監査システムでは、テストによって生成された失敗したログイン試行が記録される場合があります。 これらのエントリを識別する方法の詳細については、 エンド ツー エンド テストによる失敗したログインの監視に関するページを参照してください。

実行されたテスト

次の接続テストは自動的に実行されます。

テスト Description
ロード バランサーの接続 内部ロード バランサーへの接続を検証します。
内部 DNS の名前解決 内部 DNS 名が正しく解決されることを確認します。
Azure インフラストラクチャの依存関係の可用性 Azureインフラストラクチャの依存関係の可用性を確認します。
インスタンスへのエンド ツー エンドのサブネット内接続 既知の失敗した資格情報 (AzureSQLConnectivityChecker) を使用してログインを試行して、Azure SQL Managed Instanceへの完全な接続経路を検証します。

エンド ツー エンド テストによって失敗したログインを観察する

エンド ツー エンド接続テストでは、失敗したログインを意図的に実行して、完全な接続経路を検証します。 このテストでは、存在しないAzureSQLConnectivityChecker ログインが使用され、エラー 18456 を返すAzure SQL Managed Instanceが想定されています。 このエラーは、SQL Managed Instanceへのネットワーク パス全体が機能していることを検証します。

SQL 監視ツールは、これらの失敗したログインを検出できます。 接続テスト エントリを識別し、本物の失敗したログイン試行と区別するには、次の署名を使用します。

次の監視ツールは、失敗したサインインを検出します。

監査ログ

FAILED_LOGIN_GROUPを有効にすると、監査イベントはAzureDiagnosticsで約 10 秒ごとに表示されます。

Column Value
Category SQLSecurityAuditEvents
ResourceType MANAGEDINSTANCES
action_id_s LGIF
server_principal_name_s AzureSQLConnectivityChecker
client_ip_s サブネット範囲内の IP アドレス

拡張イベント

sqlserver.error_reported を取得する拡張イベント セッションで、error_number = 18456 と severity = 14 が以下の属性を示すもの:

Attribute Value
category LOGON
error_number 18456
severity 14
state 変数 (認証構成によって異なります)
message 変数 (認証構成によって異なります)
sqlazure.is_azure_connection True

たとえば、SQL マネージド インスタンスで SQL 認証が無効になっている場合、状態は170され、Microsoft Entraのみの認証が有効になっていることを示すメッセージが表示されます。

SQL エラー ログ

sp_readerrorlogでは、接続テストからの失敗したログインは、行のペアとして表示されます。

Column Value
ProcessInfo Logon
Text Error: 18456, Severity: 14, State: (変数) .

and

Column Value
ProcessInfo Logon
Text メッセージは認証構成によって異なります

たとえば、SQL 認証が無効になっている場合、メッセージには、Microsoft Entra専用認証が有効になっており、サブネット IP アドレスが含まれていることが示されます。