AWS WAF, AWS Firewall Manager 및 AWS Shield Advanced
개발자 가이드 (API 버전 2015-08-24)

AWS WAF에서 Amazon CloudFront 기능을 사용하는 방법

웹 ACL을 생성할 때 에서 검사할 배포를 하나 이상 지정할 수 있습니다. AWS WAF는 웹 ACL에서 식별하는 조건을 기반으로 해당 배포에 대한 웹 요청을 허용, 차단 또는 계산하기 시작합니다. CloudFront는 AWS WAF 기능을 향상하는 몇 가지 기능을 제공합니다. 이 장에서는 와 가 함께 더 효과적으로 작동하도록 를 구성할 수 있는 몇 가지 방법을 설명합니다.

사용자 지정 오류 페이지가 있는 사용

AWS WAF에서 사용자가 지정한 조건을 기반으로 웹 요청을 차단하면 HTTP 상태 코드 403(사용할 수 없음)이 CloudFront에 반환됩니다. 다음에는 CloudFront가 상태 코드를 최종 사용자에게 반환합니다. 최종 사용자에게는 다음과 유사한 짧고 불완전한 형식의 기본 메시지가 표시됩니다.

Forbidden: You don't have permission to access /myfilename.html on this server.

나머지 웹 사이트에서와 같은 형식을 사용하여 사용자 지정 오류 메시지를 표시하려는 경우 최종 사용자에게 사용자 지정 오류 메시지가 포함된 HTML 파일 등의 객체를 반환하도록 CloudFront를 구성할 수 있습니다.

참고

요청이 차단된 경우 CloudFront는 오리진에서 반환되는 HTTP 상태 코드 403과 AWS WAF에서 반환되는 코드를 구별할 수 없습니다. 따라서 HTTP 상태 코드 403의 다른 원인을 기반으로 다른 사용자 지정 오류 페이지를 반환할 수 없습니다.

CloudFront 사용자 지정 오류 페이지에 대한 자세한 내용은 Amazon CloudFront 개발자 안내서오류 응답 사용자 지정 단원을 참조하십시오.

지리적 제한과 함께 사용

지리적 차단이라고도 하는 Amazon CloudFront 지리적 제한 기능을 사용하여 특정 지리적 위치에 있는 사용자가 CloudFront 웹 배포를 통해 배포하는 콘텐츠에 액세스하는 것을 차단할 수 있습니다. 특정 국가의 웹 요청을 차단하면서 동시에 다른 조건을 기반으로도 요청을 차단하려는 경우 CloudFront 지리적 제한을 AWS WAF와 함께 사용할 수 있습니다. 최종 사용자가 지리적 제한 블랙리스트에 있는 국가의 콘텐츠에 액세스하려고 하는지 또는 요청이 에서 차단되는지와 상관없이 는 최종 사용자에게 동일한 HTTP 상태 코드, 즉 HTTP 403(사용할 수 없음)을 반환합니다.

참고

웹 ACL에 대한 웹 요청 샘플에서 요청이 시작되는 국가의 2자 국가 코드를 볼 수 있습니다. 자세한 내용은 API 게이트웨이, CloudFront 또는 Application Load Balancer가 AWS WAF에 전달한 웹 요청의 샘플 보기 단원을 참조하십시오.

CloudFront 지리적 제한에 대한 자세한 내용은 Amazon CloudFront 개발자 안내서콘텐츠의 지리적 배포 제한 단원을 참조하십시오.

CloudFront가 응답하는 HTTP 메서드 선택

Amazon CloudFront 웹 배포를 생성할 때 CloudFront에서 처리하여 오리진으로 전달할 HTTP 메서드를 선택합니다. 다음 옵션 중에서 선택할 수 있습니다.

  • GET, HEAD – 오리진에서 객체를 가져오거나 객체 헤더를 가져오기 위해서만 CloudFront를 사용할 수 있습니다.

  • GET, HEAD, OPTIONS – 오리진에서 객체를 가져오거나 객체 헤더를 가져오기 위해, 또는 오리진 서버에서 지원되는 옵션 목록을 가져오기 위해서만 CloudFront를 사용할 수 있습니다.

  • GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE – CloudFront를 사용하여 객체를 추가, 업데이트, 삭제하고 가져올 수 있으며 객체 헤더를 가져올 수 있습니다. 또한 웹 양식에서 데이터를 제출하는 등의 기타 POST 작업을 수행할 수 있습니다.

또한 의 설명과 같이 문자열 일치 조건을 사용하여 HTTP 메서드를 기반으로 요청을 허용하거나 차단할 수 있습니다. 및 와 같이 에서 지원하는 메서드의 조합을 사용하려는 경우 다른 메서드를 사용하는 요청을 차단하도록 AWS WAF를 구성할 필요가 없습니다. , 및 와 같이 에서 지원하지 않는 메서드 조합을 허용하려는 경우 모든 메서드에 응답하도록 CloudFront를 구성한 다음 AWS WAF를 사용하여 다른 메서드가 사용하는 요청을 차단할 수 있습니다.

CloudFront에서 응답하는 메서드를 선택하는 방법에 대한 자세한 내용은 Amazon CloudFront 개발자 안내서웹 배포의 생성 또는 업데이트 시 지정하는 값 주제에 있는 허용되는 HTTP 메서드를 참조하십시오.