View a markdown version of this page

Amazon CloudFront AWS WAF 에서 사용 - AWS WAF, AWS Firewall Manager AWS Shield Advanced및 AWS Shield 네트워크 보안 디렉터

에 대한 새로운 콘솔 환경 소개 AWS WAF

이제 업데이트된 환경을 사용하여 콘솔의 모든 위치에서 AWS WAF 기능에 액세스할 수 있습니다. 자세한 내용은 콘솔 작업을 참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon CloudFront AWS WAF 에서 사용

Amazon CloudFront 기능과 AWS WAF 함께를 사용하는 방법을 알아봅니다.

보호 팩(웹 ACL)을 생성할 때 AWS WAF 에서 검사할 CloudFront 배포를 하나 이상 지정할 수 있습니다. CloudFront는 두 가지 유형의 배포, 즉 개별 테넌트를 보호하는 표준 배포와 단일 공유 구성 템플릿을 통해 여러 테넌트를 보호하는 다중 테넌트 배포를 지원합니다. AWS WAF 는 보호 팩(웹 ACL)에 정의한 규칙에 따라 두 배포 유형에 대한 웹 요청을 검사하며, 각 유형에 대해 구현 패턴이 다릅니다.

가 다양한 배포 유형에서 AWS WAF 작동하는 방식

배포 유형

AWS WAF 는 표준 및 다중 테넌트 배포 CloudFront 배포 모두에 웹 애플리케이션 방화벽 기능을 제공합니다.

표준 배포

표준 배포의 경우 각 배포에 대해 단일 보호 팩(웹 ACL)을 사용하여 보호를 AWS WAF 추가합니다. 기존 보호 팩(웹 ACL)을 CloudFront 배포와 연결하거나 CloudFront 콘솔에서 원클릭 보호를 사용하여 이 보호를 활성화할 수 있습니다. 이렇게 하면 보호 팩(웹 ACL)을 변경하면 연결된 배포에만 영향을 미치므로 각 배포에 대한 보안 제어를 독립적으로 관리할 수 있습니다.

CloudFront 배포를 보호하는 이 간단한 방법은 단일 보호 팩(웹 ACL)에서 특정 보호를 개별 도메인에 제공하는 데 최적입니다.

표준 배포 고려 사항
  • 보호 팩(웹 ACL)에 대한 변경 사항은 연결된 배포에만 영향을 미칩니다.

  • 각 배포에는 독립적인 보호 팩(웹 ACL) 구성이 필요합니다.

  • 규칙과 규칙 그룹은 각 배포에 대해 별도로 관리됩니다

다중 테넌트 배포

다중 테넌트 배포의 경우 단일 보호 팩(웹 ACL)을 사용하여 여러 도메인에서 보호를 AWS WAF 추가합니다. 다중 테넌트 배포로 관리되는 도메인을 배포 테넌트라고 합니다. 다중 테넌트 배포 생성 프로세스 도중 또는 이후에만 CloudFront 콘솔에서 다중 테넌트 배포에 대한 AWS WAF 보호를 활성화할 수 있습니다. 그러나 보호 팩(웹 ACL)에 대한 변경 사항은 AWS WAF 콘솔 또는 API를 통해 계속 관리됩니다.

다중 테넌트 배포는 두 가지 수준에서 AWS WAF 보호를 활성화할 수 있는 유연성을 제공합니다.

  • 다중 테넌트 배포 수준 - 연결된 보호 팩(웹 ACL)은 배포를 공유하는 모든 애플리케이션에 적용되는 기본 보안 제어를 제공합니다.

  • 배포 테넌트 수준 - 다중 테넌트 배포 내의 개별 테넌트에는 추가 보안 제어를 구현하거나 다중 테넌트 배포 설정을 재정의하기 위한 자체 보호 팩(웹 ACL)이 있을 수 있습니다.

이 두 계층은 개별 배포에 대한 보안을 사용자 지정하는 기능을 상실하지 않고 여러 도메인에서 AWS WAF 보호를 공유하는 데 다중 테넌트 배포를 최적으로 만듭니다.

다중 테넌트 배포 고려 사항

  • 개별 배포 테넌트는 관련 다중 테넌트 배포와 연결된 보호 팩(웹 ACL)에 대한 변경 사항을 상속합니다.

  • 특정 배포 테넌트와 연결된 보호 팩(웹 ACL)은 다중 테넌트 보호 팩(웹 ACL) 수준에서 구성된 설정을 재정의할 수 있습니다.

  • 배포 및 배포 테넌트 수준 모두에서 관리형 규칙 그룹을 구현할 수 있습니다.

  • 애플리케이션 식별자를 로그에 배치하여 배포별로 보안 이벤트를 추적할 수 있습니다.

AWS WAF 배포 유형별 기능

보호 팩(웹 ACL) 구현 비교
AWS WAF 기능 표준 배포 다중 테넌트 배포
보호 팩(웹 ACL) 연결 배포당 하나의 보호 팩(웹 ACL) 선택적 테넌트별 보호 팩(웹 ACL)을 사용하여 테넌트 간에 보호 팩(웹 ACL)을 공유할 수 있습니다.
규칙 관리 규칙은 단일 배포에 영향을 미칩니다. 다중 테넌트 배포 규칙은 연결된 모든 테넌트에 영향을 미치며, 배포 테넌트별 규칙은 해당 테넌트에만 영향을 미칩니다.
관리형 규칙 그룹 개별 배포에 적용됨 모든 테넌트의 다중 테넌트 배포 수준 또는 특정 애플리케이션의 테넌트 수준에서 적용할 수 있습니다.
로깅 표준 AWS WAF 로그 로그에는 보안 이벤트 어트리뷰션을 위한 테넌트 식별자가 포함됩니다.

CloudFront 정액 요금제 AWS WAF 와 함께 사용

CloudFront 정액 요금제는 Amazon CloudFront 글로벌 콘텐츠 전송 네트워크(CDN)와 여러 AWS 서비스 및 기능을 트래픽 급증 또는 공격에 관계없이 초과 요금 없이 월별 가격으로 결합합니다.

정액 요금제에는 간단한 월별 가격 대비 다음과 같은 AWS 서비스 및 기능이 포함됩니다.

  • CloudFront CDN

  • AWS WAF 및 DDoS 보호

  • 봇 관리 및 분석

  • Amazon Route 53 DNS

  • Amazon CloudWatch Logs 수집

  • TLS 인증서

  • 서버리스 엣지 컴퓨팅

  • 매월 Amazon S3 스토리지 크레딧

플랜은 애플리케이션의 요구 사항에 맞게 Free, Pro, Business 및 Premium 티어에서 사용할 수 있습니다. 플랜은 이용 가능한 최상의 요금을 얻기 위해 연간 약정이 필요하지 않습니다. Free 플랜으로 시작하고 업그레이드하여 더 많은 기능과 더 많은 사용 허용량에 액세스하세요.

자세한 내용과 플랜 및 기능의 전체 목록은 Amazon CloudFront 개발자 안내서의 CloudFront 고정 요금제를 참조하세요. Amazon CloudFront

중요

요금제를 사용할 때는 유효한 AWS WAF 보호 팩(웹 ACL)이 CloudFront 배포와 연결되어 있어야 합니다. pay-as-you-go 다시 전환하지 않는 한 보호 팩(웹 ACL) 연결을 제거할 수 없습니다.

AWS WAF 웹 ACL은 배포와 연결된 상태로 유지되어야 하지만 보안 구성을 완전히 제어할 수 있습니다. 웹 ACL에서 활성화 또는 비활성화되는 규칙을 조정하여 보호를 사용자 지정하고 보안 요구 사항에 맞게 규칙 설정을 수정할 수 있습니다. 웹 ACL 규칙 관리에 대한 자세한 내용은 AWS WAF 규칙을 참조하세요.

CloudFront를 사용한 AI 트래픽 수익화

AI 트래픽 수익화는 Amazon CloudFront 배포와 연결된 AWS WAF 웹 ACL 리소스에만 사용할 수 있습니다. 결제 확인 및 결제는 CloudFront 엣지 로케이션에서 수행되므로 전 세계 에이전트의 지연 시간이 최소화됩니다.

CloudFront 함수 및 Lambda@Edge에서 AI 트래픽 수익화를 사용할 때 고려 사항

Monetize 규칙이 있는 배포와 함께 CloudFront Functions 또는 Lambda@Edge를 사용하는 경우 AWS WAF생성된 응답에 대해 다음 동작을 AWS WAF기록해 둡니다.

AWS WAF에서 생성된 응답(402 Payment Required Challenge)

최종 사용자-응답 함수(CloudFront Functions 및 Lambda@Edge)는 AWS WAF생성된 402 응답을 실행하지 않습니다. 이러한 함수를 사용하여 Payment Required Challenge를 사용자 지정할 수 없습니다. 헤더를 추가하거나 수정할 수도 없습니다. 402 응답에 사용자 지정 헤더를 추가해야 하는 경우(예: CORS 또는 분석 헤더) 대신 응답 헤더 정책을 사용합니다. 응답 헤더 정책은 AWS WAF생성된 응답에 적용됩니다.

CloudFront 함수 및 응답 헤더 정책에 대한 자세한 내용은 다음을 참조하세요.

유료 응답(결제 후 200개)

결제 결제가 성공하면 오리진 응답은 최종 사용자 응답 함수를 포함하여 일반적인 CloudFront 응답 파이프라인을 통과합니다. 최종 사용자 응답 함수는 에이전트가 결제 후 수신하는 응답을 수정할 수 있습니다. 예를 들어 상태 코드를 변경하거나 헤더를 제거할 수 있습니다.

CloudFront를 사용한 AI 트래픽 수익화

AI 트래픽 수익화는 Amazon CloudFront 배포와 연결된 웹 ACLs에만 사용할 수 있습니다. 결제 확인 및 액세스 토큰 발급은 CloudFront 엣지 로케이션에서 수행되므로 전 세계 에이전트의 지연 시간이 최소화됩니다.

CloudFront만 사용하는 이유

수익화에는 다음이 필요합니다.

  • 엣지 네이티브 결제 확인 - 결제 증명은 오리진으로 왕복하지 않고 엣지에서 확인됩니다.

  • 글로벌 토큰 발급 - 범위가 지정된 액세스 토큰은 엣지에서 발급되며 동일한 배포를 제공하는 모든 엣지 로케이션에서 적용됩니다.

  • 가격 매니페스트 생성 - 요금 세부 정보가 포함된 402 응답이 엣지에서 생성되어 machine-to-machine 결제 프로토콜의 지연 시간 목표 미만으로 흐름을 유지합니다.

리전 웹 ACLs(Application Load Balancer, , , Cognito, App Runner, Verified Access)은 Monetize 작업을 지원하지 않습니다. 리전 웹 ACL에 수익화 규칙이 구성된 경우 규칙은 건너뛰고 요청은 다음 규칙으로 계속됩니다.

수익화된 콘텐츠를 사용한 캐시 동작

수익화된 리소스에는 한 에이전트의 유료 액세스가 캐시된 콘텐츠를 다른 에이전트에 제공하는 것을 방지하기 위한 특수 캐시 구성이 필요합니다.

수익화된 경로에 대한 권장 캐시 설정:

설정이유
캐시 정책CachingDisabled 사용자 지정에이전트 간 캐시 공유 방지
오리진 요청 정책X-Agent-IdX-Access-Token 헤더 포함오리진이 에이전트별 토큰을 검증하도록 허용
TTL0(또는 콘텐츠 신선도 요구 사항당 짧음)에서 각 에이전트 요청을 평가하도록 합니다. AWS WAF

성능을 위해 캐싱이 필요한 경우 에이전트당 캐시 키를 구성합니다.

  • 사용자 지정 캐시 정책을 사용하여 캐시 키에 X-Agent-Id를 추가합니다.

  • 이렇게 하면 각 에이전트가 다른 에이전트에게 유료 콘텐츠를 제공하지 않고도 결제 후 캐시된 자체 복사본을 수신할 수 있습니다.

중요

에이전트별 캐시 키 없이 캐싱을 활성화하면 결제 확인 없이 캐시에서 후속 에이전트로 유료 응답이 제공될 수 있습니다. 항상 현금화된 경로의 캐시 키에 에이전트 자격 증명을 포함합니다.

지연 시간 특성

Phase(단계)일반적인 지연 시간참고
분류 + 402 생성<10ms엣지에서 인라인 실행
결제 확인<30ms증명 검증은 암호화이며 외부 직접 호출이 없습니다.
토큰 발급 + 오리진 가져오기표준 CloudFront 지연 시간일반 요청과 동일
총 추가 오버헤드<50ms표준 요청 지연 시간 초과

CloudFront 배포 구성

수익화를 활성화하기 위해 CloudFront 배포 설정을 변경할 필요가 없습니다. 이 기능은 AWS WAF 웹 ACL 및 보호 팩 구성을 통해 완전히 제어됩니다.

다음을 확인하세요.

  • 웹 ACL 연결 - 배포에는 Bot Control 및 수익화 규칙과 연결된 AWS WAF 웹 ACL이 있어야 합니다.

  • 오리진 응답 헤더 - 오리진이 Cache-Control 헤더를 설정하는 경우 수익화된 경로에 대한 에이전트당 캐싱 전략과 충돌하지 않는지 확인합니다.

  • 사용자 지정 오류 페이지 - 4xx 응답에 대한 CloudFront 사용자 지정 오류 페이지는 AWS WAF생성된 402 응답에 적용되지 않습니다. 가격 매니페스트는에서 직접 제공됩니다 AWS WAF.