다음을 통해 공유


자습서: Azure Front Door 및 WAF(Azure Web Application Firewall)를 사용하여 웹 애플리케이션의 신속한 크기 조정 및 보호

Important

Azure Front Door(클래식)는 2027년 3월 31일에 사용이 중지됩니다. 서비스가 중단되지 않도록 하려면 2027년 3월까지 Azure Front Door(클래식) 프로필을 Azure Front Door 표준 또는 프리미엄 계층으로 마이그레이션하는 것이 중요합니다. 자세한 내용은 Azure Front Door(클래식) 사용 중지를 참조하세요.

웹 애플리케이션은 종종 트래픽 급증 및 악의적인 공격(예: 서비스 거부 공격)을 경험합니다. Azure WAF를 사용한 Azure Front Door는 애플리케이션의 크기를 조정하고 이러한 위협으로부터 보호할 수 있습니다. 이 자습서에서는 Azure 내부 또는 외부에서 실행되는지 여부에 관계없이 모든 웹앱에 대해 Azure WAF를 사용하여 Azure Front Door를 구성하는 방법을 안내합니다.

이 자습서에서는 Azure CLI를 사용합니다. Azure Portal, Azure PowerShell, Azure Resource Manager 또는 Azure REST API를 사용할 수도 있습니다.

이 자습서에서는 다음을 알아봅니다.

  • Front Door를 만듭니다.
  • Azure WAF 정책을 만듭니다.
  • WAF 정책에 대한 규칙 집합을 구성합니다.
  • WAF 정책을 Front Door와 연결합니다.
  • 사용자 지정 도메인을 구성합니다.

Azure를 구독하고 있지 않다면 시작하기 전에 Azure 체험 계정을 만듭니다.

필수 조건

  • 이 자습서에서는 Azure CLI를 사용합니다. Azure CLI를 시작합니다.

    Azure CLI를 시작하는 쉬운 방법은 Azure Cloud Shell에서 Bash를 사용하는 것입니다.

  • 확장이 front-door Azure CLI에 추가되었는지 확인합니다.

    az extension add --name front-door
    

참고 항목

이 자습서에서 사용되는 명령에 대한 자세한 내용은 Front Door에 대한 Azure CLI 참조를 참조하세요.

Azure Front Door 리소스 만들기

az network front-door create --backend-address <backend-address> --accepted-protocols <protocols> --name <name> --resource-group <resource-group>
  • --backend-address: 보호하려는 애플리케이션의 FQDN(정규화된 도메인 이름)입니다. 예를 들면 다음과 같습니다 myapplication.contoso.com.
  • --accepted-protocols: Azure Front Door에서 지원하는 프로토콜(예: .) --accepted-protocols Http Https
  • --name: Azure Front Door 리소스의 이름입니다.
  • --resource-group: 이 Azure Front Door 리소스에 대한 리소스 그룹입니다. 리소스 그룹 관리에 대해 자세히 알아봅니다.

hostName 나중에 필요하므로 응답의 값을 확인합니다. hostName Azure Front Door 리소스의 DNS 이름입니다.

Azure Front Door에 대한 Azure WAF 프로필 만들기

az network front-door waf-policy create --name <name> --resource-group <resource-group> --disabled false --mode Prevention
  • --name: 새 Azure WAF 정책의 이름입니다.
  • --resource-group: 이 WAF 리소스에 대한 리소스 그룹입니다.

이전 명령은 방지 모드에서 WAF 정책을 만듭니다.

참고 항목

예방 모드로 전환하기 전에 차단하지 않고 악의적인 요청을 관찰하고 기록하려면 먼저 검색 모드에서 WAF 정책을 만드는 것이 좋습니다.

ID 나중에 필요하므로 응답의 값을 확인합니다. 형식 ID 은 다음과 같습니다.

/subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/<WAF-policy-name>

관리형 규칙 집합을 WAF 정책에 추가

기본 규칙 집합 추가:

az network front-door waf-policy managed-rules add --policy-name <policy-name> --resource-group <resource-group> --type DefaultRuleSet --version 1.0

봇 보호 규칙 집합 추가:

az network front-door waf-policy managed-rules add --policy-name <policy-name> --resource-group <resource-group> --type Microsoft_BotManagerRuleSet --version 1.0
  • --policy-name: Azure WAF 리소스의 이름입니다.
  • --resource-group: WAF 리소스에 대한 리소스 그룹입니다.

WAF 정책을 Azure Front Door 리소스와 연결

az network front-door update --name <name> --resource-group <resource-group> --set frontendEndpoints[0].webApplicationFirewallPolicyLink='{"id":"<ID>"}'
  • --name: Azure Front Door 리소스의 이름입니다.
  • --resource-group: Azure Front Door 리소스에 대한 리소스 그룹입니다.
  • --set: 새 WAF 정책 ID로 frontendEndpoint 특성을 업데이트 WebApplicationFirewallPolicyLink 합니다.

참고 항목

사용자 지정 도메인을 사용하지 않는 경우 다음 섹션을 건너뛸 수 있습니다. Azure Front Door 리소스를 hostName 만들 때 얻은 정보를 고객에게 제공합니다.

웹 애플리케이션에 대한 사용자 지정 도메인 구성

사용자 지정 도메인을 Azure Front Door hostName로 가리키도록 DNS 레코드를 업데이트합니다. 특정 단계는 DNS 서비스 공급자의 설명서를 참조하세요. Azure DNS를 사용하는 경우 DNS 레코드 업데이트를 참조하세요.

영역 루트 도메인(예: contoso.com)의 경우 Azure DNS 및 해당 별칭 레코드 형식을 사용합니다.

사용자 지정 도메인을 추가하도록 Azure Front Door 구성을 업데이트합니다.

사용자 지정 도메인 에 HTTPS를 사용하도록 설정하려면 Azure Front Door에서 인증서를 설정합니다.

웹 애플리케이션 잠금

Azure Front Door 에지만 웹 애플리케이션과 통신할 수 있는지 확인합니다. 내 백 엔드에 대한 액세스를 Azure Front Door에만 잠그는 방법을 참조 하세요.

리소스 정리

더 이상 필요하지 않은 경우 리소스 그룹, Front Door 및 WAF 정책을 삭제합니다.

az group delete --name <resource-group>
  • --name: 이 자습서에서 사용된 모든 리소스에 대한 리소스 그룹의 이름입니다.

다음 단계

Front Door 문제를 해결하려면 다음을 참조하세요.