Azure SQL Managed Instance のパブリック エンドポイントを構成する

適用対象:Azure SQL Managed Instance

Azure SQL Managed Instance のパブリック エンドポイントにより、仮想ネットワークの外部から Managed Instance にデータ アクセスできます。 マネージド インスタンスには、Power BI や Azure App Service などのマルチテナント Azure サービスまたはオンプレミス ネットワークからアクセスできます。 マネージド インスタンスでパブリック エンドポイントを使用すると、VPN を使用する必要がなくなるため、VPN のスループットの問題を回避できます。

この記事では、次のことについて説明します。

  • Managed Instance のパブリック エンドポイントを有効、または無効にします。
  • Managed Instance のパブリック エンドポイントへのトラフィックを許可するよう Managed Instance のネットワーク セキュリティ グループ (NSG) を構成する
  • マネージド インスタンスのパブリック エンドポイントの接続文字列を取得する

アクセス許可

Managed Instance 内にあるデータの機密性のため、Managed Instance のパブリック エンドポイントを有効にするための構成では 2 段階のプロセスが必要になります。 このセキュリティ対策は、職務の分離 (SoD) に準拠します。

  • Managed Instance 管理者は、Managed Instance でパブリック エンドポイントを有効にする必要があります。 Managed Instance の管理者は、Managed Instance リソース用の [概要] ページで確認できます。
  • ネットワーク管理者は、ネットワーク セキュリティ グループ (NSG) を使用して Managed Instance へのトラフィックを許可する必要があります。 その他の情報については、「ネットワーク セキュリティ グループのアクセス許可」に関するページをレビューしてください。

パブリック エンドポイントの有効化

SQL Managed Instance のパブリック エンドポイントは、Azure portal、Azure PowerShell、または Azure CLI を使用して有効にすることができます。

Azure portal で SQL Managed Instance のパブリック エンドポイントを有効にするには、次の手順を実行します。

  1. Azure portal にアクセスします。
  2. マネージド インスタンスのあるリソース グループを開き、パブリック エンドポイントを構成する SQL Managed Instance を選択します。
  3. [セキュリティ] の設定で、 [ネットワーク] タブを選択します。
  4. 仮想ネットワークの構成ページで [有効] を選択し、 [保存] アイコンを選択して構成を更新します。

Screenshot shows the Virtual network page of SQL Managed Instance with the Public endpoint enabled.

パブリック エンドポイントの無効化

Azure portal、Azure PowerShell、および Azure CLI を使用して、SQL Managed Instance のパブリック エンドポイントを無効にすることができます。

Azure portal を使用してパブリック エンドポイントを無効にするには、次の手順に従います。

  1. Azure portal にアクセスします。
  2. マネージド インスタンスのあるリソース グループを開き、パブリック エンドポイントを構成する SQL Managed Instance を選択します。
  3. [セキュリティ] の設定で、 [ネットワーク] タブを選択します。
  4. 仮想ネットワーク構成ページで [無効] を選択し、 [保存] アイコンを選択して構成を更新します。

ネットワーク セキュリティ グループ内でパブリック エンドポイント トラフィックを許可する

Azure portal を使用して、ネットワーク セキュリティ グループ内のパブリック トラフィックを許可します。 次の手順に従います。

  1. [Azure portal] で対象となる SQL Managed Instance の [概要] ページに移動します。

  2. [仮想ネットワーク/サブネット] リンクを選択します。そうすると、[仮想ネットワーク構成] ページが表示されます。

    Screenshot shows the Virtual network configuration page where you can find your Virtual network/subnet value.

  3. 仮想ネットワークの構成ウィンドウで [サブネット] Tab を選択し、Managed Instance の [セキュリティ グループ] の名前を書き留めます。

    Screenshot shows the Subnet tab, where you can get the SECURITY GROUP for your managed instance.

  4. Managed Instance が含まれているリソース グループに戻ります。 以前に書き留めておいたネットワーク セキュリティ グループの名前が表示されるはずです。 [ネットワーク セキュリティ グループ名] を選択して、[ネットワーク セキュリティ グループの構成] ページを開きます。

  5. [受信セキュリティ規則] タブを選択し、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 規則よりも優先度が高いことを確認してください

    Screenshot shows the Inbound security rules with your new public_endpoint_inbound rule above the deny_all_inbound rule.

    注意

    Managed Instance へのパブリック エンドポイント接続にはポート 3342 が使用され、現在変更できません。

ルーティングが正しく構成されていることを確認する

アドレス プレフィックスが 0.0.0.0/0 のルートは、サブネットのルート テーブルのその他のルートのアドレス プレフィックスに含まれていない IP アドレス宛てのトラフィックをルーティングする方法を Azure に指示します。 サブネットが作成されると、アドレス プレフィックスが 0.0.0.0/0 で、ネクストホップの種類が インターネット の既定 のルートが作成されます。

パブリック エンドポイント トラフィックがインターネットに直接ルーティングされるようにするために必要なルートを追加せずにこの既定のルートをオーバーライドすると、受信トラフィックが仮想アプライアンス/仮想ネットワーク ゲートウェイ経由で流れないため、非対称ルーティングの問題が発生する可能性があります。 パブリック インターネット経由で Managed Instance に到達するすべてのトラフィックがパブリック インターネット経由で戻るようにします。そのためには、ソースごとに特定のルートを追加するか、既定のルートを 0.0.0.0/0 アドレス プレフィックスに次ホップの種類としてインターネットに戻します。

アドレス プレフィックス 0.0.0.0/0 のこの既定のルートに対する変更の影響に関する詳細を参照してください。

パブリック エンドポイントの接続文字列を取得する

  1. パブリック エンドポイントに対して有効になっている マネージド インスタンスの構成ページに移動します。 [設定] 構成の下にある [接続文字列] タブを選択します。

  2. パブリック エンドポイントのホスト名は <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

    Screenshot shows the connection strings for your public and VNet-local endpoints.

次のステップ

パブリック エンドポイントで安全に Azure SQL Managed Instance を使用する方法を学習する。