次の方法で共有


Azure SQL Managed Instance の接続の種類

適用対象: Azure SQL Managed Instance

この記事では、接続の種類に応じて、クライアントがどのように Azure SQL Managed Instance に接続するかについて説明します。 接続の種類を変更するためのスクリプト サンプルと、既定の接続設定の変更に関連する考慮事項を以下に示します。

接続の種類

Azure SQL Managed Instance の VNet ローカル エンドポイントでは、次の 2 種類の接続がサポートされています。

  • リダイレクト (推奨): これは、SQL クライアントが Managed Instance に接続するための推奨される方法です。 リダイレクトを使用すると、クライアントはデータベースをホストしているノードへの接続を直接確立します。 リダイレクトを有効にするには、ポート 1433 およびポート範囲 11000 から 11999 での受信アクセスを許可するようにファイアウォールとネットワーク セキュリティ グループ (NSG) ルールを構成する必要があります。 リダイレクトでは、プロキシと比較して待機時間とスループットのパフォーマンスが優れています。 また、リダイレクト接続は一度確立されるとゲートウェイに依存しないため、ゲートウェイ コンポーネントの計画メンテナンス イベントの影響も最小限に抑えられます。 リダイレクト機能は、TDS (表形式データ ストリーム) 7.4 以降を理解するために SQL ドライバーに依存します。 TDS 7.4 は Microsoft SQL Server 2012 で最初に公開されたため、それより新しいクライアントは機能します。
  • プロキシ (デフォルト): これは、7.4 より前のバージョンの TDS を実装する SQL ドライバーをサポートするためのレガシ接続メカニズムです。 このモードでは、すべての接続は内部ゲートウェイを介してプロキシされ、ポート 1433 のみを開く必要があります。 プロキシ メソッドで、ゲートウェイは、接続を転送するプライマリ SQL レプリカ ノードを見つける命令を処理します。 ゲートウェイは、このワークロードの性質に応じて、接続のボトルネックになる可能性があります。 プロキシ モードでは、ゲートウェイ コンポーネントの計画メンテナンス イベントによるライブ接続の損失の影響を受けやすいため、リダイレクトと比較して待機時間が大幅に長くなり、スループットが低下する可能性があります。 このため、SQL クライアントが TDS リダイレクトをサポートしていない場合を除き、リダイレクト接続ポリシーを使用するようにすべてのマネージド インスタンスを構成することを強くお勧めします

リダイレクト オプションは、VNet ローカル エンドポイントにのみ有効であることに注意してください。 Azure SQL Managed Instance へのパブリック エンドポイントとプライベート エンドポイントは、常にプロキシ モードで動作します。

重要

SQL クライアントが TDS リダイレクトをサポートしない場合を除き、リダイレクト接続ポリシーを使用するようにすべてのマネージド インスタンスを構成することを強くお勧めします

リダイレクトの接続の種類

リダイレクトの接続の種類では、TCP セッションが SQL エンジンに対して確立された後、クライアント セッションによってロード バランサーから仮想クラスター ノードの接続先の仮想 IP が取得されます。 後続のパケットは、ゲートウェイを使用せずに、仮想クラスター ノードに直接送信されます。 次の図にこのトラフィックの流れを示します。

redirect-find-db が Azure 仮想ネットワーク内のゲートウェイに接続され、redirect-query が仮想ネットワーク内のデータベース プライマリ ノードに接続されているオンプレミス ネットワークを示す図。

重要

リダイレクト接続の種類は、VNet ローカル エンドポイントにのみ影響します。 パブリックおよびプライベート エンドポイント経由の接続は、接続の種類の設定に関係なく、常にプロキシ接続の種類を使用して処理されます。

プロキシの接続の種類

警告

プロキシ接続の種類は、表形式データ ストリーム (TDS) 標準 7.4 以降 (SQL Server 2012 以降で利用可能) をサポートしていない古いクライアントおよびアプリケーションにのみ推奨されます。 Managed Instance は、可能な限りリダイレクト接続の種類を使用するように構成する必要があります。

プロキシの接続の種類では、TCP セッションがゲートウェイを使用して確立され、すべての後続パケットがゲートウェイ経由で送信されます。 次の図にこのトラフィックの流れを示します。

プロキシが Azure 仮想ネットワーク内のゲートウェイに接続されているオンプレミス ネットワークを示す図。その後、ゲートウェイから仮想ネットワーク内のデータベース プライマリ ノードに接続されています。

接続の種類を変更する

  • ポータルの使用: Azure portal を使って接続の種類を変更するには、Virtual Network のページを開き、[接続の種類] の設定を使って接続の種類を変更して、変更を保存します。

  • PowerShell を使用して接続の種類の設定を変更するスクリプト:

Note

この記事では、Azure と対話するために推奨される PowerShell モジュールである Azure Az PowerShell モジュールを使用します。 Az PowerShell モジュールの使用を開始するには、「Azure PowerShell をインストールする」を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。

次の PowerShell スクリプトでは、マネージド インスタンスの接続の種類を Redirect に変更する方法を示しています。

Install-Module -Name Az
Import-Module Az.Accounts
Import-Module Az.Sql

Connect-AzAccount
# Get your SubscriptionId from the Get-AzSubscription command
Get-AzSubscription
# Use your SubscriptionId in place of {subscription-id} below
Select-AzSubscription -SubscriptionId {subscription-id}
# Replace {rg-name} with the resource group for your managed instance, and replace {mi-name} with the name of your managed instance
$mi = Get-AzSqlInstance -ResourceGroupName {rg-name} -Name {mi-name}
$mi = $mi | Set-AzSqlInstance -ProxyOverride "Redirect" -force

次のステップ