Microsoft/Azure

Azure Firewall - 소개, 배포, 제약

megapain 2020. 11. 28. 18:20

참고 자료

 

소개

Azure Firewall은 Azure에서 제공하는 유료 방화벽 리소스입니다. (무료 방화벽은 NSG-Network Security Group가 있습니다.)

고 가용성이 기본 제공되므로 추가 Load Balancer가 필요하지 않습니다. 또한 처리량에 따라 자동으로 확장(Auto-scale)되기 때문에 처리량때문에 방화벽이 죽는 것을 걱정하지 않아도 됩니다.

아웃바운드 HTTP/S 트래픽에 대한 Application FQDN 필터링 규칙을 제공합니다. 
Network traffic 필터링 규칙으로 인바운드/아웃바운드에 대한 트래픽을 허용/거부하도록 설정할 수 있습니다.

Outbound SNAT, Inbound DNAT 기능을 제공하는데, Outbound SNAT의 경우 여러 공인 IP 주소를 할당할 수 있습니다. SNAT에 여러 공인 IP 주소를 사용하는 경우, Public IP 주소는 랜덤하게 선택됩니다. 특정 Source가 특정 Public IP 주소를 사용하도록 지정할 수 없습니다.

가격은 Azure Firewall 인스턴스에 대한 가격과 데이터(트래픽) 처리에 대한 가격으로 나뉩니다.

한국 중부 지역의 경우, Azure Firewlal 인스턴스 가격은 1시간에 약 1,406원으로, 한 달(730시간)을 사용할 경우 약 1,026.243원의 비용이 발생합니다.

데이터(트래픽) 처리 비용은 1GB 당 약 18원입니다.

 

배포

Azure Firewall은 전용 서브넷(dedicated subent)에만 배포 할 수 있습니다.

서브넷 이름은 반드시 AzureFirewallSubnet으로 만들어야 하고, 사이즈는 /26이상으로 만들어야 합니다. /26보다 클 필요는 없지만, /26보다 작아서는 안됩니다. (예. /27, /28 등)

아래는 Azure Firewall을 배포하는 화면입니다. 가상 네트워크에는 AzureFirewallSubnet 이라는 서브넷이 이미 만들어져 있습니다. Public IP 주소는 Standard sku가 필요합니다. 즉, Public IP 주소는 바뀌지 않습니다. (Standard Public IP 주소는 IP 주소가 static으로 생성됩니다.)

Azure Firewall 배포

 

Azure Firewall은 끄고 켜는 것이 가능합니다. 따라서 테스트 할 때는 필요할 때만 켜서 비용을 줄일 수 있습니다.

현재는 PowerShell로만 끄고 켤 수 있습니다.

# Stop an existing firewall
$azfw = Get-AzFirewall -Name "FW Name" -ResourceGroupName "RG Name"
$azfw.Deallocate()
Set-AzFirewall -AzureFirewall $azfw


# Start a firewall
$azfw = Get-AzFirewall -Name "FW Name" -ResourceGroupName "RG Name"
$vnet = Get-AzVirtualNetwork -ResourceGroupName "RG Name" -Name "VNet Name"
$publicip1 = Get-AzPublicIpAddress -Name "Public IP1 Name" -ResourceGroupName "RG Name"
$publicip2 = Get-AzPublicIpAddress -Name "Public IP2 Name" -ResourceGroupName "RG Name"
$azfw.Allocate($vnet,@($publicip1,$publicip2))
Set-AzFirewall -AzureFirewall $azfw

 

제약

Azure Firewall의 제약(Limit)은 아래와 같습니다.

Azure Firewall Limit