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