전역 및 리전 네트워크 방화벽 정책 예시

이 페이지에서는 전역 네트워크 방화벽 정책과 리전 네트워크 방화벽 정책 구현 예시를 보여줍니다. 사용자가 전역 네트워크 방화벽 정책리전 네트워크 방화벽 정책에 설명된 개념에 익숙하다는 가정 하에 쓰여진 내용입니다.

Virtual Private Cloud(VPC) 네트워크에 전역 네트워크 방화벽 정책 하나와 여러 리전 네트워크 방화벽 정책을 연결할 수 있습니다. 전역 네트워크 방화벽 정책은 VPC 네트워크의 모든 리전에 있는 모든 서브네트워크에 적용됩니다. 리전 네트워크 방화벽 정책은 대상 리전에 있는 VPC 네트워크의 서브네트워크에만 적용됩니다.

그림 1은 VPC 네트워크의 전역 네트워크 방화벽 정책과 리전 네트워크 방화벽 정책의 범위를 설명합니다.

그림 1. 전역 및 리전 네트워크 방화벽 정책의 범위
그림 1. 전역 및 리전 네트워크 방화벽 정책의 범위

예시: 특정 포트를 제외한 모든 외부 연결 거부

이 사용 사례에서 전역 네트워크 방화벽 정책은 대상 포트 80, 443, 22의 연결을 제외한 외부 인터넷 소스의 모든 연결을 차단합니다. 80, 443 또는 22 이외의 포트에서 인그레스 인터넷 연결이 차단됩니다. 규칙 적용은 포트 80, 443 또는 22의 모든 연결에서 리전 네트워크 방화벽 정책에 위임됩니다.

이 예시에서는 리전 네트워크 방화벽 정책이 region-a에 적용되며 이 정책은 소스 10.2.0.0/16의 내부 트래픽과 모든 소스의 포트 44380에 대한 인그레스 트래픽을 허용합니다. 그림 2는 이 사용 사례의 구성 설정을 설명합니다.

그림 2. 특정 목적지 포트를 제외한 모든 외부 연결을 거부합니다.
그림 2. 특정 목적지 포트를 제외한 모든 외부 연결을 거부합니다.

VM에 적용되는 유효 정책

이 섹션에서는 계층 구조에서 규칙을 평가한 후 이 예시에 적용 가능한 유효한 네트워크 방화벽 정책을 설명합니다.

인그레스 연결

  • 10.0.0.0/8의 모든 인그레스 연결은 우선순위가 가장 높은 전역 네트워크 방화벽 정책 규칙 delegate-internal-traffic과 일치하며 전역 네트워크 방화벽 정책의 나머지 규칙을 우회합니다. 리전 네트워크 방화벽 정책 규칙에서 10.2.0.0/16의 인그레스 연결이 허용되며 나머지 연결은 묵시적 인그레스 deny 규칙에 따라 평가됩니다.

  • 10.0.0.0/8 이외의 소스 IP 범위와 목적지 포트 22, 80, 443을 사용한 인그레스 연결은 리전 네트워크 방화벽 정책 규칙 수준으로 위임됩니다. 리전 네트워크 방화벽 정책 규칙에서 포트 80443은 허용되지만 포트 22는 허용되지 않습니다.

이그레스 연결

  • 전역 네트워크 방화벽 정책 규칙에 일치하는 항목이 없습니다. 따라서 이그레스 연결을 허용하는 암시적 시스템 규칙이 적용됩니다.

구성 방법

  1. 다음 규칙을 포함하는 전역 네트워크 방화벽 정책을 만듭니다.

    gcloud compute network-firewall-policies create \
        "example-firewall-policy-global" --global \
        --description "Global network firewall policy with rules that apply to all VMs in the VPC network"
    
  2. 정책을 VPC 네트워크와 연결합니다.

    gcloud compute network-firewall-policies associations create \
        --firewall-policy example-firewall-policy-global \
        --network my-example-vpc \
        --global-firewall-policy
    
  3. 10.0.0.0/8의 모든 인그레스 연결과 일치하는 규칙을 추가합니다.

    gcloud compute network-firewall-policies rules create 1000 \
        --action goto_next \
        --description "delegate-internal-traffic" \
        --layer4-configs all \
        --firewall-policy example-firewall-policy-global \
        --src-ip-ranges 10.0.0.0/8 \
        --global-firewall-policy
    
  4. 특정 포트에서 외부 트래픽을 위임하는 규칙을 추가합니다.

    gcloud compute network-firewall-policies rules create 2000 \
        --action goto_next \
        --description "delegate-external-traffic-spec-ports" \
        --layer4-configs tcp:80,tcp:443,tcp:22 \
        --firewall-policy example-firewall-policy-global \
        --src-ip-ranges 0.0.0.0/0 \
        --global-firewall-policy
    
  5. 나머지 인그레스 트래픽을 모두 차단하는 규칙을 추가합니다.

    gcloud compute network-firewall-policies rules create 3000 \
        --action deny \
        --description "block-external-traffic-spec-ports" \
        --firewall-policy example-firewall-policy-global \
        --src-ip-ranges 0.0.0.0/0 \
        --layer4-configs all \
        --global-firewall-policy
    
  6. 리전 네트워크 방화벽 정책을 만듭니다.

    gcloud compute network-firewall-policies create \
        example-firewall-policy-regional --region=region-a \
        --description "Regional network firewall policy with rules that apply to all VMs in region-a"
    
  7. 리전 네트워크 방화벽 정책을 VPC 네트워크와 연결하여 특정 리전 내의 해당 네트워크 내에서 모든 VM에 대한 정책 규칙을 활성화합니다.

    gcloud compute network-firewall-policies associations create \
        --firewall-policy example-firewall-policy-regional \
        --network my-example-vpc \
        --firewall-policy-region=region-a
    
  8. 리전 네트워크 방화벽 정책에서 내부 트래픽을 허용하는 규칙을 추가합니다.

    gcloud compute network-firewall-policies rules create 1000 \
        --action allow \
        --firewall-policy example-firewall-policy-regional \
        --description allow-internal-traffic \
        --direction INGRESS \
        --src-ip-ranges 10.2.0.0/16 \
        --layer4-configs all \
        --firewall-policy-region=region-a
    
  9. 특정 포트에서 외부 트래픽을 허용하는 규칙을 추가합니다.

    gcloud compute network-firewall-policies rules create 2000 \
        --action allow \
        --firewall-policy example-firewall-policy-regional \
        --description allow-external-traffic-spec-ports \
        --direction INGRESS \
        --layer4-configs=tcp:80,tcp:443 \
        --src-ip-ranges 0.0.0.0/0 \
        --firewall-policy-region=region-a
    

다음 단계