Azure SQL Managed Instance のパブリック エンドポイントを構成する
適用対象: Azure SQL Managed Instance
Azure SQL Managed Instance のパブリック エンドポイントを使うと、仮想ネットワークの外部からマネージド インスタンスにデータ アクセスできます。 マネージド インスタンスには、Power BI や Azure App Service などのマルチテナント Azure サービスまたはオンプレミス ネットワークからアクセスできます。 マネージド インスタンスでパブリック エンドポイントを使用すると、VPN を使用する必要がなくなるため、VPN のスループットの問題を回避できます。
この記事では、次のことについて説明します。
- マネージド インスタンスのパブリック エンドポイントを有効または無効にする
- マネージド インスタンスのパブリック エンドポイントへのトラフィックを許可するようマネージド インスタンスのネットワーク セキュリティ グループ (NSG) を構成する
- マネージド インスタンスのパブリック エンドポイントの接続文字列を取得する
アクセス許可
マネージド インスタンス内にあるデータの機密性のため、マネージド インスタンスのパブリック エンドポイントを有効にするための構成では、2 段階のプロセスが必要です。 このセキュリティ対策は、職務の分離 (SoD) に準拠します。
- マネージド インスタンスの管理者は、マネージド インスタンスでパブリック エンドポイントを有効にする必要があります。 マネージド インスタンスの管理者は、マネージド インスタンス リソースの [概要] ページで確認できます。
- ネットワーク管理者は、ネットワーク セキュリティ グループ (NSG) を使ってマネージド インスタンスへのトラフィックを許可する必要があります。 詳しくは、ネットワーク セキュリティ グループのアクセス許可に関するページを参照してください。
パブリック エンドポイントの有効化
Azure portal、Azure PowerShell、または Azure CLI を使って、SQL マネージド インスタンスのパブリック エンドポイントを有効にできます。
Azure portal で SQL マネージド インスタンスのパブリック エンドポイントを有効にするには、次の手順のようにします。
- Azure ポータルにアクセスします。
- マネージド インスタンスのあるリソース グループを開き、パブリック エンドポイントを構成する SQL Managed Instance を選択します。
- [セキュリティ] 設定で [ネットワーク] タブを選択します。
- 仮想ネットワークの構成ページで [有効] を選択し、 [保存] アイコンを選択して構成を更新します。
パブリック エンドポイントの無効化
Azure portal、Azure PowerShell、Azure CLI を使って、SQL マネージド インスタンスのパブリック エンドポイントを無効にできます。
Azure portal を使ってパブリック エンドポイントを無効にするには、次の手順のようにします。
- Azure ポータルにアクセスします。
- マネージド インスタンスのあるリソース グループを開き、パブリック エンドポイントを構成する SQL Managed Instance を選択します。
- [セキュリティ] 設定で [ネットワーク] タブを選択します。
- 仮想ネットワークの構成ページで [無効] を選んでから、[保存] アイコンを選んで構成を更新します。
ネットワーク セキュリティ グループでパブリック エンドポイントのトラフィックを許可する
Azure portal を使って、ネットワーク セキュリティ グループ内のパブリック トラフィックを許可します。 次の手順に従います。
Azure portal で SQL マネージド インスタンスの [概要] ページに移動します。
[仮想ネットワークまたはサブネット] リンクを選ぶと、[仮想ネットワークの構成] ページに移動します。
仮想ネットワークの構成ペインで [サブネット] タブを選び、マネージド インスタンスの [セキュリティ グループ] の名前を記録しておきます。
マネージド インスタンスが含まれているリソース グループに戻ります。 前に記録したネットワーク セキュリティ グループの名前が表示されるはずです。 ネットワーク セキュリティ グループの名前を選んで、ネットワーク セキュリティ グループの構成ページを開きます。
[受信セキュリティ規則] タブを選択し、deny_all_inbound 規則よりも優先度の高い規則を以下の設定で追加します:
設定 提案された値 説明 ソース 任意の IP アドレスまたはサービス タグ - Power BI などの Azure サービスの場合は、Azure クラウド サービス タグを選択します
- 自分のコンピューターまたは Azure 仮想マシンの場合は、NAT IP アドレスを使用します
ソース ポート範囲 * ソース ポートは、通常、動的に割り当てられ、予測できないため、* (任意) のままにしておきます 宛先 Any マネージド インスタンスのサブネットへのトラフィックを許可するには、宛先は [任意] のままにしておきます 宛先ポート範囲 3342 宛先ポート野範囲を 3342 に設定します。これが、マネージド インスタンスのパブリック TDS エンドポイントです プロトコル TCP SQL Managed Instance では、TDS に TCP プロトコルを使用します 操作 Allow パブリック エンドポイントを介したマネージド インスタンスへの受信トラフィックを許可します 優先順位 1300 この規則が deny_all_inbound 規則よりも優先度が高いことを確認してください 注意
マネージド インスタンスへのパブリック エンドポイント接続にはポート 3342 が使用され、現在は変更できません。
ルーティングが適切に構成されていることを確認する
アドレス プレフィックスが 0.0.0.0/0 のルートは、サブネットのルート テーブルのその他のルートのアドレス プレフィックスに含まれていない IP アドレス宛てのトラフィックをルーティングする方法を Azure に指示します。 サブネットが作成されると、アドレス プレフィックスが 0.0.0.0/0 で、ネクストホップの種類が インターネット の既定 のルートが作成されます。
パブリック エンドポイント トラフィックをインターネットに直接ルーティングするために、必要なルートを追加せずにこのデフォルト ルートをオーバーライドすると、受信トラフィックが仮想アプライアンス/仮想ネットワーク ゲートウェイを経由しなくなるため、非対称ルーティングの問題が発生する可能性があります。 パブリック インターネット経由でマネージド インスタンスに到達するすべてのトラフィックは、パブリック インターネット経由で戻されるようになります。これには、ソースごとに特定のルートが追加されるか、デフォルト ルートが 0.0.0.0/0 アドレス プレフィックスにより設定されることで、次ホップの種類として インターネット に戻されます。
デフォルト ルートに対する変更の影響に関する詳細は、「0.0.0.0/0 アドレス プレフィックス」を参照してください。
パブリック エンドポイントの接続文字列を取得する
パブリック エンドポイントに対して有効になっている マネージド インスタンスの構成ページに移動します。 [設定] 構成の下にある [接続文字列] タブを選択します。
パブリック エンドポイントのホスト名は <mi_name>.public.<dns_zone>.database.windows.net という形式になっており、接続に使われるポートは 3342 です。 SQL Server Management Studio または Azure Data Studio 接続で使用できるパブリック エンドポイント ポートを示す接続文字列のサーバー値の例を次に示します:
<mi_name>.public.<dns_zone>.database.windows.net,3342