次の方法で共有


SQL FQDN を使用して Azure Firewall アプリケーション規則を構成する

SQL FQDN を使用して Azure Firewall アプリケーション規則を構成できます。 この構成では、仮想ネットワークからのアクセスを、指定された SQL サーバー インスタンスのみに制限します。

SQL FQDN を使用すると、トラフィックをフィルター処理できます。

  • 仮想ネットワークから Azure SQL Database または Azure Synapse Analytics へ。 たとえば、 sql-server1.database.windows.NET へのアクセスのみを許可します。
  • オンプレミスから、仮想ネットワークで実行されている Azure SQL Managed Instances または SQL IaaS まで。
  • スポーク間から仮想ネットワークで実行されている Azure SQL Managed Instance または SQL IaaS へ

SQL の FQDN のフィルター処理は、プロキシ モードのみでサポートされます (ポート 1433)。 既定のリダイレクト モードで SQL を使用する場合は、 ネットワーク ルールの一部として SQL サービス タグを使用してアクセスをフィルター処理できます。 SQL IaaS のトラフィックに既定以外のポートを使用する場合は、ファイアウォール アプリケーション規則でこれらのポートを構成できます。

Azure CLI を使用して構成する

  1. Azure CLI を使用して Azure Firewall をデプロイします。

  2. Azure SQL Database、Azure Synapse Analytics、または SQL Managed Instance へのトラフィックをフィルター処理する場合は、SQL 接続モードを プロキシに設定します。 SQL 接続モードを切り替える方法については、「Azure SQL の接続の設定」を参照してください。

    注意

    SQL プロキシ モードを使用すると、リダイレクトと比較して待機時間が増加する可能性があります。 Azure 内で接続するクライアントの既定値であるリダイレクト モードを引き続き使用する場合は、ファイアウォール ネットワーク規則の SQL サービス タグを使用してアクセスをフィルター処理できます。

  3. SQL FQDN を使用して SQL サーバーへのアクセスを許可するアプリケーション規則を使用して、新しい規則コレクションを作成します。

     az extension add -n azure-firewall
    
     az network firewall application-rule create \
         --resource-group Test-FW-RG \
         --firewall-name Test-FW01 \
         --collection-name sqlRuleCollection \
         --priority 1000 \
         --action Allow \
         --name sqlRule \
         --protocols mssql=1433 \
         --source-addresses 10.0.0.0/24 \
         --target-fqdns sql-serv1.database.windows.net
    

Azure PowerShell を使用して構成する

  1. Azure PowerShell を使用して Azure Firewall をデプロイします。

  2. Azure SQL Database、Azure Synapse Analytics、または SQL Managed Instance へのトラフィックをフィルター処理する場合は、SQL 接続モードを プロキシに設定します。 SQL 接続モードを切り替える方法については、「Azure SQL の接続の設定」を参照してください。

    注意

    SQL プロキシ モードを使用すると、リダイレクトと比較して待機時間が増加する可能性があります。 Azure 内で接続するクライアントの既定値であるリダイレクト モードを引き続き使用する場合は、ファイアウォール ネットワーク規則の SQL サービス タグを使用してアクセスをフィルター処理できます。

  3. SQL FQDN を使用して SQL サーバーへのアクセスを許可するアプリケーション規則を使用して、新しい規則コレクションを作成します。

    $AzFw = Get-AzFirewall -Name "Test-FW01" -ResourceGroupName "Test-FW-RG"
    
    $sqlRule = @{
       Name          = "sqlRule"
       Protocol      = "mssql:1433"
       TargetFqdn    = "sql-serv1.database.windows.net"
       SourceAddress = "10.0.0.0/24"
    }
    
    $rule = New-AzFirewallApplicationRule @sqlRule
    
    $sqlRuleCollection = @{
       Name       = "sqlRuleCollection"
       Priority   = 1000
       Rule       = $rule
       ActionType = "Allow"
    }
    
    $ruleCollection = New-AzFirewallApplicationRuleCollection @sqlRuleCollection
    
    $Azfw.ApplicationRuleCollections.Add($ruleCollection)
    Set-AzFirewall -AzureFirewall $AzFw
    

Azure portal を使用して構成する

  1. Azure portal を使用して Azure Firewall をデプロイします

  2. Azure SQL Database、Azure Synapse Analytics、または SQL Managed Instance へのトラフィックをフィルター処理する場合は、SQL 接続モードを プロキシに設定します。 SQL 接続モードを切り替える方法については、「Azure SQL の接続の設定」を参照してください。

    注意

    SQL プロキシ モードを使用すると、リダイレクトと比較して待機時間が増加する可能性があります。 Azure 内で接続するクライアントの既定値であるリダイレクト モードを引き続き使用する場合は、ファイアウォール ネットワーク規則の SQL サービス タグを使用してアクセスをフィルター処理できます。

  3. 適切なプロトコル、ポート、および SQL FQDN を使用してアプリケーション規則を追加し、[ 保存] を選択します。

  4. ファイアウォールを通過するトラフィックをフィルター処理する仮想ネットワーク内の仮想マシンから SQL にアクセスします。

  5. Azure Firewall ログを検証し、トラフィックが許可されていることを確認します。

次のステップ

SQL のプロキシ モードとリダイレクト モードの詳細については、「Azure SQL Database 接続アーキテクチャ」を参照してください。