Azure SQL Managed Instance の接続の種類
適用対象:Azure SQL Managed Instance
この記事では、接続の種類に応じて、クライアントがどのように Azure SQL Managed Instance に接続するかについて説明します。 接続の種類を変更するためのスクリプト サンプルと、既定の接続設定の変更に関連する考慮事項を以下に示します。
接続の種類
Azure SQL Managed Instance の VNet ローカル エンドポイントでは、次の 2 種類の接続がサポートされています。
- リダイレクト (推奨): クライアントは、データベースをホストしているノードへの直接接続を確立します。 リダイレクトを使用して接続を有効にするには、ファイアウォールとネットワーク セキュリティ グループ (NSG) を開き、ポート 1433 と 11000 から 11999 でのアクセスを許可する必要があります。 パケットはデータベースに直接送信されるため、プロキシ経由のリダイレクトを使用すると、待機時間とスループットのパフォーマンスが向上します。 ゲートウェイ コンポーネントの計画メンテナンス イベントの影響も、リダイレクト接続の種類によっては、プロキシと比べて最小限に抑えられます。これは、接続が確立されるとゲートウェイに依存しなくなるためです。
- プロキシ (既定値): このモードでは、すべての接続でプロキシ ゲートウェイ コンポーネントが使用されます。 接続を有効にするには、プライベート ネットワーク用のポート 1433、およびパブリック接続用のポート 3342 のみを開く必要があります。 このモードを選択すると、ワークロードの性質によっては待機時間が長くなり、スループットが低下する可能性があります。 また、ゲートウェイ コンポーネントの計画メンテナンス イベントは、プロキシ モードのすべてのライブ接続を中断させます。 最短の待機時間と最高のスループットを実現し、計画メンテナンスの影響を最小限に抑えるために、プロキシ接続ポリシーを使用したリダイレクト接続ポリシーを強くお勧めします。
Azure SQL Managed Instance へのパブリックとプライベートのどちらのエンドポイントも、設定された接続の種類に関係なく、常にプロキシ モードで動作します。
リダイレクトの接続の種類
リダイレクトの接続の種類では、TCP セッションが SQL エンジンに対して確立された後、クライアント セッションによってロード バランサーから仮想クラスター ノードの接続先の仮想 IP が取得されます。 後続のパケットは、ゲートウェイを使用せずに、仮想クラスター ノードに直接送信されます。 次の図にこのトラフィックの流れを示します。
重要
現在、リダイレクトの接続の種類は、VNet ローカル エンドポイントに対してのみ機能します。 接続の種類の設定に関係なく、パブリックまたはプライベート エンドポイント経由の接続は、プロキシ接続の種類を使って処理されます。
プロキシの接続の種類
プロキシの接続の種類では、TCP セッションがゲートウェイを使用して確立され、すべての後続パケットがゲートウェイ経由で送信されます。 次の図にこのトラフィックの流れを示します。
接続の種類を変更する
ポータルの使用: 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
次のステップ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示