다음을 통해 공유


Azure SQL Database 및 Azure Synapse Analytics에 대한 아웃바운드 방화벽 규칙

적용 대상:Azure SQL DatabaseAzure Synapse Analytics(전용 SQL 풀만 해당)

아웃바운드 방화벽 규칙은 Azure SQL Database 논리 서버 의 네트워크 트래픽을 Azure Storage 계정 및 Azure SQL Database 논리 서버의 고객 정의 목록으로 제한합니다. 이 목록에 없는 스토리지 계정 또는 데이터베이스에 액세스하려는 시도는 거부됩니다. 트래픽은 다음 Azure SQL Database 기능에 대해서만 제한됩니다.

이 목록에 없는 기능의 아웃바운드 트래픽은 영향을 받지 않습니다.

중요합니다

  • 이 문서는 Azure SQL Database와 Azure Synapse Analytics의 전용 SQL 풀(이전의 SQL DW) 모두에 적용됩니다. 이 설정은 서버와 연결된 모든 SQL Database 및 전용 SQL 풀(이전의 SQL DW) 데이터베이스에 적용됩니다. 편의상 '데이터베이스'라는 용어는 Azure SQL Database 및 Azure Synapse Analytics의 데이터베이스를 모두 나타냅니다. 마찬가지로 ‘서버’에 대한 모든 참조는 Azure SQL Database 및 Azure Synapse Analytics의 전용 SQL 풀(이전의 SQL DW)을 호스트하는 논리 SQL Server를 나타냅니다. 이 문서는 Azure SQL Managed Instance 또는 Azure Synapse Analytics 작업 영역의 전용 SQL 풀에는 적용되지 않습니다.
  • 아웃바운드 방화벽 규칙은 논리적 Server에서 정의됩니다. 지역 복제 및 장애 조치(failover) 그룹은 기본 및 모든 보조에서 동일한 규칙 집합을 정의해야 합니다.

Azure Portal에서 아웃바운드 방화벽 규칙 설정

  1. 보안에서 네트워킹을 선택합니다.

  2. 연결 탭 선택합니다. 아웃바운드 네트워킹에서 아웃바운드 네트워킹 제한 구성 링크를 선택합니다.

    아웃바운드 네트워킹 섹션 및 아웃바운드 네트워킹 제한 구성 링크의 스크린샷

    그러면 다음 창이 열립니다.

    아무것도 선택하지 않은 아웃바운드 네트워킹 창의 스크린샷.

  3. 아웃바운드 네트워킹 제한 확인란을 선택합니다.

  4. 도메인 추가 단추를 선택하고 Storage 계정(또는 Azure SQL Database의 데이터베이스)에 대한 정규화된 도메인 이름을 제공합니다.

  5. 작업을 마치면 아래와 유사한 화면이 표시됩니다. 확인을 선택하여 이러한 설정을 적용합니다.

    정규화된 도메인 이름이 추가된 후의 아웃바운드 네트워킹 창 스크린샷

PowerShell을 사용하여 아웃바운드 방화벽 규칙 설정

중요합니다

PowerShell Azure Resource Manager(AzureRM) 모듈은 2024년 2월 29일에 사용되지 않습니다. 향후 모든 개발에서는 Az.Sql 모듈을 사용해야 합니다. 사용자는 지속적인 지원 및 업데이트를 보장하기 위해 AzureRM에서 Az PowerShell 모듈로 마이그레이션하는 것이 좋습니다. AzureRM 모듈은 더 이상 유지 관리되거나 지원되지 않습니다. Az PowerShell 모듈 및 AzureRM 모듈의 명령에 대한 인수는 상당히 동일합니다. 호환성에 대한 자세한 내용은 새 Az PowerShell 모듈소개를 참조하세요.

다음 스크립트에는 Azure PowerShell 모듈이 필요합니다.

다음 PowerShell 스크립트는 RestrictOutboundNetworkAccess 속성을 사용하여 아웃바운드 네트워킹 설정을 변경하는 방법을 보여줍니다.

# Get current settings for Outbound Networking
(Get-AzSqlServer -ServerName <SqlServerName> -ResourceGroupName <ResourceGroupName>).RestrictOutboundNetworkAccess

# Update setting for Outbound Networking
$SecureString = ConvertTo-SecureString "<ServerAdminPassword>" -AsPlainText -Force

Set-AzSqlServer -ServerName <SqlServerName> -ResourceGroupName <ResourceGroupName> -SqlAdministratorPassword $SecureString  -RestrictOutboundNetworkAccess "Enabled"

다음 PowerShell cmdlet을 사용하여 아웃바운드 방화벽 규칙을 구성합니다.

# List all Outbound Firewall Rules
Get-AzSqlServerOutboundFirewallRule -ServerName <SqlServerName> -ResourceGroupName <ResourceGroupName>

# Add an Outbound Firewall Rule
New-AzSqlServerOutboundFirewallRule -ServerName <SqlServerName> -ResourceGroupName <ResourceGroupName> -AllowedFQDN testOBFR1

# List a specific Outbound Firewall Rule
Get-AzSqlServerOutboundFirewallRule -ServerName <SqlServerName> -ResourceGroupName <ResourceGroupName> -AllowedFQDN <StorageAccountFQDN>

#Delete an Outbound Firewall Rule
Remove-AzSqlServerOutboundFirewallRule -ServerName <SqlServerName> -ResourceGroupName <ResourceGroupName> -AllowedFQDN <StorageAccountFQDN>

Azure CLI를 사용하여 아웃바운드 방화벽 규칙 설정

중요합니다

이 섹션의 모든 스크립트에는 Azure CLI가 필요합니다.

Bash 셸의 Azure CLI

다음 CLI 스크립트는 Bash 셸에서 아웃바운드 네트워킹 설정을 변경하는 방법(restrictOutboundNetworkAccess 속성 사용)을 보여 줍니다.

# Get current setting for Outbound Networking 
az sql server show -n sql-server-name -g sql-server-group --query "restrictOutboundNetworkAccess"

# Update setting for Outbound Networking
az sql server update -n sql-server-name -g sql-server-group --set restrictOutboundNetworkAccess="Enabled"

다음 CLI 명령을 사용하여 아웃바운드 방화벽 규칙을 구성합니다.

# List a server's outbound firewall rules.
az sql server outbound-firewall-rule list -g sql-server-group -s sql-server-name

# Create a new outbound firewall rule
az sql server outbound-firewall-rule create -g sql-server-group -s sql-server-name --outbound-rule-fqdn allowedFQDN

# Show the details for an outbound firewall rule.
az sql server outbound-firewall-rule show -g sql-server-group -s sql-server-name --outbound-rule-fqdn allowedFQDN

# Delete the outbound firewall rule.
az sql server outbound-firewall-rule delete -g sql-server-group -s sql-server-name --outbound-rule-fqdn allowedFQDN