Azure SQL Database マネージド インスタンスのパブリック エンドポイントの構成Configure public endpoint in Azure SQL Database managed instance

マネージド インスタンスのパブリック エンドポイントを使用すると、仮想ネットワークの外部からマネージド インスタンスにデータ アクセスできます。Public endpoint for a managed instance enables data access to your managed instance from outside the virtual network. マネージド インスタンスには、マルチテナントの Azure サービス (Power BI、Azure App Service など) またはオンプレミス ネットワークからアクセスできます。You are able to access your managed instance from multi-tenant Azure services like Power BI, Azure App Service, or an on-premise network. マネージド インスタンスでパブリック エンドポイントを使用すると、VPN を使用する必要がなくなるため、VPN のスループットの問題を回避できます。By using the public endpoint on a managed instance, you do not need to use a VPN, which can help avoid VPN throughput issues.

この記事では、以下の方法について説明します。In this article, you'll learn how to:

  • Azure portal でマネージド インスタンスのパブリック エンドポイントを有効にするEnable public endpoint for your managed instance in the Azure portal
  • PowerShell を使用してマネージド インスタンスのパブリック エンドポイントを有効にするEnable public endpoint for your managed instance using PowerShell
  • マネージド インスタンスのパブリック エンドポイントへのトラフィックを許可するようマネージド インスタンスのネットワーク セキュリティ グループを構成するConfigure your managed instance network security group to allow traffic to the managed instance public endpoint
  • マネージド インスタンスのパブリック エンドポイントの接続文字列を取得するObtain the managed instance public endpoint connection string

アクセス許可Permissions

マネージド インスタンス内にあるデータの機密性のため、マネージド インスタンスのパブリック エンドポイントを有効にするための構成では 2 段階のプロセスが必要になります。Due to the sensitivity of data that is in a managed instance, the configuration to enable managed instance public endpoint requires a two-step process. このセキュリティ対策は、職務の分離 (SoD) に準拠します。This security measure adheres to separation of duties (SoD):

  • マネージド インスタンスのパブリック エンドポイントの有効化は、マネージド インスタンスの管理者が行う必要があります。マネージド インスタンスの管理者は、SQL マネージド インスタンス リソースの [概要] ページで確認できます。Enabling public endpoint on a managed instance needs to be done by the managed instance admin. The managed instance admin can be found on Overview page of your SQL managed instance resource.
  • ネットワーク セキュリティ グループを使用したトラフィックの許可は、ネットワークの管理者が行う必要があります。詳細については、ネットワーク セキュリティ グループのアクセス許可に関するページを参照してください。Allowing traffic using a network security group that needs to be done by a network admin. For more information, see network security group permissions.

Azure portal でマネージド インスタンスのパブリック エンドポイントを有効にするEnabling public endpoint for a managed instance in the Azure portal

  1. Azure portal (https://portal.azure.com/.) を起動します。Launch the Azure portal at https://portal.azure.com/.
  2. マネージド インスタンスのあるリソース グループを開き、パブリック エンドポイントを構成する SQL マネージド インスタンスを選択します。Open the resource group with the managed instance, and select the SQL managed instance that you want to configure public endpoint on.
  3. [セキュリティ] の設定で、 [仮想ネットワーク] タブを選択します。On the Security settings, select the Virtual network tab.
  4. 仮想ネットワークの構成ページで [有効] を選択し、 [保存] アイコンを選択して構成を更新します。In the Virtual network configuration page, select Enable and then the Save icon to update the configuration.

mi-vnet-config.png

PowerShell を使用してマネージド インスタンスのパブリック エンドポイントを有効にするEnabling public endpoint for a managed instance using PowerShell

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

次の PowerShell コマンドを実行します。Run the following PowerShell commands. subscription-id を実際のサブスクリプション ID に置き換えます。Replace subscription-id with your subscription ID. また、rg-name を実際のマネージド インスタンスのリソース グループに置き換え、mi-name を実際のマネージド インスタンスの名前に置き換えます。Also replace rg-name with the resource group for your managed instance, and replace mi-name with the name of your managed instance.

Install-Module -Name Az

Import-Module Az.Accounts
Import-Module Az.Sql

Connect-AzAccount

# Use your subscription ID 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 -PublicDataEndpointEnabled $true -force

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

PowerShell を使用してパブリック エンドポイントを無効にするには、次のコマンドを実行します (また、受信ポート 3342 を構成済みの場合はそれに対する NSG を忘れずに閉じてください)。To disable the public endpoint using PowerShell, you would execute the following command (and also do not forget to close the NSG for the inbound port 3342 if you have it configured):

Set-AzSqlInstance -PublicDataEndpointEnabled $false -force

ネットワーク セキュリティ グループでパブリック エンドポイント トラフィックを許可するAllow public endpoint traffic on the network security group

  1. マネージド インスタンスの構成ページをまだ開いている場合は、 [概要] タブに移動します。そうでない場合は、SQL マネージド インスタンス リソースに戻ります。If you have the configuration page of the managed instance still open, navigate to the Overview tab. Otherwise, go back to your SQL managed instance resource. [仮想ネットワーク/サブネット] リンクを選択します。そうすると、仮想ネットワーク構成ページが表示されます。Select the Virtual network/subnet link, which will take you to the Virtual network configuration page.

    mi-overview.png

  2. 仮想ネットワークの左側の構成ウィンドウで [サブネット] タブを選択し、マネージド インスタンスの [セキュリティ グループ] を書き留めます。Select the Subnets tab on the left configuration pane of your Virtual network, and make note of the SECURITY GROUP for your managed instance.

    mi-vnet-subnet.png

  3. そのマネージド インスタンスが含まれているリソース グループに戻ります。Go back to your resource group that contains your managed instance. 前に書き留めておいたネットワーク セキュリティ グループの名前が表示されるはずです。You should see the Network security group name noted above. 名前を選択して、ネットワーク セキュリティ グループの構成ページに移動します。Select the name to go into the network security group configuration page.

  4. [受信セキュリティ規則] タブを選択し、deny_all_inbound 規則よりも優先度の高い規則を以下の設定で追加します。Select the Inbound security rules tab, and Add a rule that has higher priority than the deny_all_inbound rule with the following settings:

    SettingSetting 推奨値Suggested value 説明Description
    ソースSource 任意の IP アドレスまたはサービス タグAny IP address or Service tag
    • Power BI などの Azure サービスの場合は、Azure クラウド サービス タグを選択しますFor Azure services like Power BI, select the Azure Cloud Service Tag
    • コンピューターまたは Azure VM の場合は、NAT IP アドレスを使用しますFor your computer or Azure VM, use NAT IP address
    ソース ポート範囲Source port ranges * ソース ポートは、通常、動的に割り当てられ、予測できないため、* (任意) のままにしておきますLeave this to * (any) as source ports are usually dynamically allocated and as such, unpredictable
    宛先Destination AnyAny マネージド インスタンスのサブネットへのトラフィックを許可するには、宛先は [任意] のままにしておきますLeaving destination as Any to allow traffic into the managed instance subnet
    宛先ポート範囲Destination port ranges 33423342 宛先ポート野範囲を 3342 に設定します。これが、マネージド インスタンスのパブリック TDS エンドポイントですScope destination port to 3342, which is the managed instance public TDS endpoint
    プロトコルProtocol TCPTCP マネージド インスタンスは、TDS に TCP プロトコルを使用しますManaged instance uses TCP protocol for TDS
    アクションAction AllowAllow パブリック エンドポイントを介したマネージド インスタンスへの受信トラフィックを許可しますAllow inbound traffic to managed instance through the public endpoint
    優先順位Priority 13001300 この規則が deny_all_inbound 規則よりも優先度が高いことを確認してくださいMake sure this rule is higher priority than the deny_all_inbound rule

    mi-nsg-rules.png

    注意

    マネージド インスタンスへのパブリック エンドポイント接続にはポート 3342 が使用され、現時点では変更できません。Port 3342 is used for public endpoint connections to managed instance, and cannot be changed at this point.

マネージド インスタンスのパブリック エンドポイントの接続文字列を取得するObtaining the managed instance public endpoint connection string

  1. パブリック エンドポイントに対して有効になっている SQL マネージド インスタンスの構成ページに移動します。Navigate to the SQL managed instance configuration page that has been enabled for public endpoint. [設定] 構成の下にある [接続文字列] タブを選択します。Select the Connection strings tab under the Settings configuration.

  2. パブリック エンドポイントのホスト名が <mi_name>.public.<dns_zone>.database.windows.net 形式になっていることと、接続に使用されるポートが 3342 であることに注意してください。Note that the public endpoint host name comes in the format <mi_name>.public.<dns_zone>.database.windows.net and that the port used for the connection is 3342.

    mi-public-endpoint-conn-string.png

次の手順Next steps