다음을 통해 공유


SQL FQDN을 사용하여 Azure Firewall 애플리케이션 규칙 구성

이제 SQL FQDN을 사용하여 Azure Firewall 애플리케이션 규칙을 구성할 수 있습니다. 이렇게 하면 가상 네트워크에서 지정된 SQL 서버 인스턴스로만 액세스를 제한할 수 있습니다.

SQL FQDN을 사용하여 트래픽을

  • VNet에서 Azure SQL Database 또는 Azure Synapse Analytics로 예를 들어 sql-server1.database.windows.net에 대한 액세스만 허용합니다.
  • 온-프레미스에서 Azure SQL Managed Instances 또는 VNet에서 실행되는 SQL IaaS로
  • 스포크-스포크에서 Azure SQL Managed Instances 또는 Vnet에서 실행되는 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 Server에 대한 액세스를 허용하는 애플리케이션 규칙을 통해 새 규칙 컬렉션을 만듭니다.

     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 Server에 대한 액세스를 허용하는 애플리케이션 규칙을 통해 새 규칙 컬렉션을 만듭니다.

    $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 CLI를 사용하여 Azure Firewall을 배포합니다.

  2. 트래픽을 Azure SQL Database, Azure Synapse Analytics 또는 SQL Managed Instance로 필터링하는 경우 SQL 연결 모드가 프록시로 설정되어 있는지 확인합니다. SQL 연결 모드를 전환하는 방법에 대해 알아보려면 Azure SQL 연결 설정을 참조하세요.

    참고 항목

    SQL 프록시 모드는 리디렉션에 비해 더 많은 대기 시간이 발생할 수 있습니다. Azure 내에서 연결하는 클라이언트의 기본값인 리디렉션 모드를 계속 사용하려면 방화벽 네트워크 규칙SQL 서비스 태그를 사용하여 액세스를 필터링하면 됩니다.

  3. 적절한 프로토콜, 포트 및 SQL FQDN을 사용하여 애플리케이션 규칙을 추가한 다음, 저장을 선택합니다. application rule with SQL FQDN

  4. 방화벽을 통해 트래픽을 필터링하는 VNet의 가상 머신에서 SQL에 액세스합니다.

  5. Azure Firewall 로그에서 트래픽이 허용되는지 확인합니다.

다음 단계

SQL 프록시 및 리디렉션 모드에 대해 알아보려면 Azure SQL 데이터베이스 연결 아키텍처를 참조하세요.