방화벽 엔드포인트 및 엔드포인트 연결 만들기

방화벽 엔드포인트는 네트워크 트래픽에 레이어 7 검사를 제공하는 영역 리소스입니다. 침입 감지 및 방지와 같은 고급 보안 정책을 적용하는 방화벽 엔드포인트를 만듭니다.

방화벽 엔드포인트를 만든 후 방화벽 엔드포인트 연결을 만들어 엔드포인트를 동일한 영역의 하나 이상의 가상 프라이빗 클라우드 (VPC) 네트워크와 연결합니다. VPC 네트워크와 연결된 방화벽 정책에서 레이어 7 검사를 사용 설정하면 일치하는 트래픽이 투명하게 가로채기되어 방화벽 엔드포인트로 전달됩니다.

점보 프레임 지원 여부와 관계없이 방화벽 엔드포인트를 만들 수 있습니다. 방화벽 엔드포인트에서 지원하는 패킷 크기에 대한 자세한 내용은 지원되는 패킷 크기를 참고하세요.

이 페이지에서는 Google Cloud 콘솔, Google Cloud CLI 또는 Terraform을 사용하여 방화벽 엔드포인트를 만들고 가상 프라이빗 클라우드 (VPC) 네트워크와 연결하는 방법을 설명합니다.

시작하기 전에

방화벽 엔드포인트와 연결을 구성하기 전에 다음을 완료하세요.

역할 및 권한

방화벽 엔드포인트를 만드는 데 필요한 권한을 얻으려면 관리자에게 조직 또는 프로젝트에 필요한 ID 및 액세스 관리 (IAM) 역할을 부여해 달라고 요청하세요. 자세한 내용은 액세스 관리를 참조하세요.

이 페이지에 나열된 작업의 진행 상황을 확인하려면 사용자 계정에 다음 권한이 포함된 Compute 네트워크 사용자(roles/compute.networkUser) 역할이 있는지 확인하세요.

  • networksecurity.operations.get
  • networksecurity.operations.list

할당량

방화벽 엔드포인트 및 연결의 할당량을 보려면 할당량 및 한도를 참고하세요.

방화벽 엔드포인트 만들기

특정 영역에 방화벽 엔드포인트를 만듭니다. 트래픽 검사를 올바르게 수행하고 라우팅 실패를 방지하려면 검사하려는 워크로드와 동일한 영역에 방화벽 엔드포인트를 만드세요.

조직 수준 또는 프로젝트 수준에서 방화벽 엔드포인트를 만들 수 있습니다. 조직 수준 엔드포인트는 조직 수준 보안 프로필 그룹만 지원합니다. 프로젝트 수준 엔드포인트는 조직 수준 및 프로젝트 수준 보안 프로필 그룹을 모두 지원합니다.

콘솔

  1. Google Cloud 콘솔에서 방화벽 엔드포인트 페이지로 이동합니다.

    방화벽 엔드포인트로 이동

  2. 프로젝트 선택 도구 열기를 클릭하고 조직 또는 프로젝트를 선택합니다.

  3. 조직을 선택한 경우 조직 수준 엔드포인트 만들기를 클릭합니다.

    프로젝트를 선택한 경우 이 프로젝트에 있는 방화벽 엔드포인트 섹션에서 프로젝트 수준 엔드포인트 만들기를 클릭합니다.

  4. 리전 목록에서 방화벽 엔드포인트를 만들 리전을 선택합니다.

  5. 영역 목록에서 방화벽 엔드포인트를 만들 영역을 선택합니다.

  6. 이름 필드에 방화벽 엔드포인트 이름을 입력합니다.

  7. 조직 수준 엔드포인트를 만드는 경우 결제 프로젝트 목록에서 방화벽 엔드포인트 결제에 사용할 Google Cloud 프로젝트를 선택합니다.

  8. 계속을 클릭합니다. 고급 구성 섹션이 열립니다.

  9. 엔드포인트에 WildFire 지원을 사용 설정하려면 Wildfire 사용 설정 (미리보기) 체크박스를 선택합니다.

    1. 선택한 프로젝트에 대해 최종 사용자 라이선스 계약 (EULA)에 동의하지 않은 경우 동의 및 계속을 클릭하여 WildFire 전용 EULA에 동의합니다.

    2. 선택사항: 추가 Wildfire 구성 목록을 클릭하고 다음 작업을 실행합니다.

      • WildFire 리전 목록에서 리전을 선택합니다.
      • 콘텐츠 클라우드 리전 목록에서 리전을 선택합니다.
      • 서명 조회 제한 시간 필드에 제한 시간 기간을 입력합니다.
      • 서명 조회 제한 시간 작업 목록에서 Allow 또는 Deny을 선택합니다.
      • HTTP 부분 응답을 차단하려면 HTTP 부분 응답 차단 체크박스를 선택합니다.
      • 인라인 클라우드 분석 최대 시간 필드에 시간을 입력합니다.
      • 인라인 클라우드 분석 시간 초과 작업 목록에서 Allow 또는 Deny를 선택합니다.
      • WildFire 인라인 클라우드 분석 중에 시간 초과된 파일의 로그 생성을 사용 설정하려면 제출 시간 초과 로깅 사용 설정 체크박스를 선택합니다.
  10. 엔드포인트에서 점보 프레임을 지원하도록 하려면 점보 프레임 지원 사용 설정 체크박스를 선택하고, 그렇지 않으면 이 체크박스를 선택 취소합니다.

  11. 계속을 클릭합니다.

  12. 방화벽 엔드포인트 연결을 추가하려면 엔드포인트 연결 추가를 클릭하고 그 밖의 경우에는 이 단계를 건너뜁니다.

    1. 프로젝트 목록에서 방화벽 엔드포인트 연결을 만들려는 Google Cloud 프로젝트를 선택합니다.
    2. Google Cloud 프로젝트에 Compute Engine API 또는 Network Security API가 사용 설정되지 않은 경우 사용 설정을 클릭합니다.
    3. 네트워크 목록에서 방화벽 엔드포인트에 연결할 네트워크를 선택합니다.
    4. TLS 검사 정책 목록에서 이 연결에 추가할 TLS 검사 정책을 선택합니다.
    5. 다른 연결을 추가하려면 엔드포인트 연결 추가를 클릭합니다.
  13. 만들기를 클릭합니다.

gcloud

방화벽 엔드포인트를 만들려면 gcloud network-security firewall-endpoints create 명령어를 사용합니다.

gcloud network-security firewall-endpoints create NAME \
    --organization ORGANIZATION_ID | --project PROJECT_ID \
    --location LOCATION \
    [--billing-project QUOTA_PROJECT_ID] \
    [--enable-jumbo-frames]

다음을 바꿉니다.

  • NAME: 방화벽 엔드포인트 이름입니다.

  • ORGANIZATION_ID: 조직 ID입니다. 이 플래그를 사용하여 조직 수준 방화벽 엔드포인트를 만듭니다.

  • PROJECT_ID: 프로젝트 ID입니다. 이 플래그를 사용하여 프로젝트 수준 방화벽 엔드포인트를 만듭니다.

  • LOCATION: 엔드포인트를 만들 영역입니다.

  • QUOTA_PROJECT_ID: 할당량 프로젝트 ID입니다. 이 플래그는 조직 수준 방화벽 엔드포인트에만 사용하세요.

크기가 최대 8,500바이트인 점보 프레임을 지원하는 방화벽 엔드포인트를 만들려면 선택사항인 --enable-jumbo-frames 플래그를 사용합니다. 점보 프레임 지원 없이 엔드포인트를 만들려면 이 플래그를 건너뛰세요. 방화벽 엔드포인트에서 지원하는 패킷 크기에 대한 자세한 내용은 지원되는 패킷 크기를 참고하세요.

WildFire를 지원하는 방화벽 엔드포인트를 만들려면 gcloud beta network-security firewall-endpoints create 명령어(미리보기)를 사용합니다.

gcloud beta network-security firewall-endpoints create NAME \
    --organization ORGANIZATION_ID | --project PROJECT_ID \
    --zone ZONE \
    --enable-jumbo-frames \
    --enable-wildfire \
    --wildfire-region=WILDFIRE_REGION \
    --content-cloud-region=CONTENT_CLOUD_REGION \
    --hold-for-wildfire-realtime-signature-lookup-timeout-ms=TIMEOUT_MS \
    --hold-for-wildfire-realtime-signature-lookup-timeout-action=ACTION \
    --wildfire-inline-cloud-analysis-timeout-ms=TIMEOUT_MS \
    --wildfire-inline-cloud-analysis-timeout-action=ACTION \
    --[no-]enable-wildfire-analysis-logging \
    --[no-]block-partial-http \
    --billing-project BILLING_PROJECT_ID

다음을 바꿉니다.

  • WILDFIRE_REGION: 엔드포인트가 알 수 없는 파일을 전송하는 지리적 리전입니다.
  • CONTENT_CLOUD_REGION: 엔드포인트가 사용하는 콘텐츠 클라우드 리전입니다.
  • TIMEOUT_MS: 서명 조회 또는 인라인 분석의 제한 시간 기준(밀리초)입니다.
  • ACTION: 제한 시간 작업으로, Allow 또는 Deny이어야 합니다.
  • --[no-]enable-wildfire-analysis-logging: 제한 시간 이벤트 로깅을 사용 설정할지 여부
  • --[no-]block-partial-http: 차단된 악성 HTTP 파일 다운로드의 재개를 차단하려면 선택하세요.

방화벽 엔드포인트를 VPC 네트워크에 연결하려면 방화벽 엔드포인트 연결 만들기를 참조하세요.

Terraform

google_network_security_firewall_endpoint Terraform 리소스를 사용합니다.

resource "google_network_security_firewall_endpoint" "default" {
  name               = "my-firewall-endpoint"
  parent             = "organizations/123456789"
  location           = "us-central1-a"
  billing_project_id = "my-project-name"
  enable_jumbo_frames = true
}

크기가 최대 8,500바이트인 점보 프레임을 지원하는 방화벽 엔드포인트를 만들려면 enable_jumbo_frames 필드를 true로 설정합니다. 점보 프레임을 지원하지 않는 방화벽 엔드포인트를 만들려면 이 필드를 false로 설정합니다. 방화벽 엔드포인트에서 지원하는 패킷 크기에 대한 자세한 내용은 지원되는 패킷 크기를 참고하세요. WildFire를 지원하는 방화벽 엔드포인트를 만들려면 enable_wildfire 필드를 True로 설정합니다.

Terraform 구성을 적용하거나 삭제하는 방법은 기본 Terraform 명령어를 참조하세요.

방화벽 엔드포인트 연결 만들기

방화벽 엔드포인트 연결은 방화벽 엔드포인트를 특정 영역의 VPC 네트워크에 연결합니다. 이 연결을 통해 해당 영역의 연결된 네트워크에 대한 가로채기 규칙과 일치하는 트래픽이 방화벽 엔드포인트에 의해 검사됩니다.

연결을 만들기 전에 방화벽 엔드포인트가 있는지 확인합니다.

연결 요구사항

엔드포인트 연결을 구성할 때는 다음 요구사항을 따르세요.

  • 영역 제약 조건: 방화벽 엔드포인트와 동일한 영역에 연결을 만들어야 합니다. 효과적인 트래픽 검사를 위해 컴퓨팅 인스턴스가 배포된 영역에서 연결을 만드세요.
  • 영역당 하나의 엔드포인트: 단일 영역에서 VPC 네트워크를 하나의 방화벽 엔드포인트(프로젝트 수준 또는 조직 수준)와만 연결할 수 있습니다. 하지만 단일 VPC 네트워크를 여러 다른 영역의 서로 다른 방화벽 엔드포인트와 연결할 수 있습니다.
  • 프로젝트 간 연결: VPC 네트워크를 별도의 프로젝트에 있는 방화벽 엔드포인트와 연결할 수 있습니다. 프로젝트 수준 엔드포인트를 사용하는 경우 엔드포인트의 프로젝트가 VPC 네트워크와 동일한 조직에 있어야 합니다.
  • 리소스 매핑: 연결은 프로젝트 수준 리소스입니다. 연결이 조직 수준 방화벽 엔드포인트를 가리키는 경우에도 컴퓨팅 인스턴스가 배포된 특정 프로젝트 내에서 연결을 만듭니다.

점보 프레임을 지원하는 방화벽 엔드포인트는 최대 8,500바이트의 패킷만 허용할 수 있습니다. 또는 점보 프레임 지원이 없는 방화벽 엔드포인트는 최대 1,460바이트의 패킷만 허용할 수 있습니다. 침입 감지 및 방지 서비스, WildFire 또는 URL 필터링 서비스가 필요한 경우 연결된 VPC 네트워크가 8,500바이트 및 1,460바이트의 최대 전송 단위 (MTU) 한도를 사용하도록 구성하는 것이 좋습니다. 자세한 내용은 지원되는 패킷 크기를 참고하세요.

콘솔

  1. Google Cloud 콘솔에서 방화벽 엔드포인트 페이지로 이동합니다.

    방화벽 엔드포인트로 이동

  2. 프로젝트 선택기 메뉴에서 Google Cloud 프로젝트를 선택합니다.

  3. 엔드포인트 연결 만들기를 클릭합니다.

  4. 리전 목록에서 방화벽 엔드포인트 연결을 만들 리전을 선택합니다.

  5. 영역 목록에서 방화벽 엔드포인트 연결을 만들 영역을 선택합니다.

  6. 방화벽 엔드포인트 목록에서 연결에 추가할 방화벽 엔드포인트를 선택합니다.

  7. 네트워크 목록에서 연결에 추가할 네트워크를 선택합니다.

  8. TLS 검사 정책 목록에서 이 연결에 추가할 TLS 검사 정책을 선택합니다.

  9. 만들기를 클릭합니다.

gcloud

방화벽 엔드포인트 연결을 만들려면 gcloud network-security firewall-endpoint-associations create 명령어를 사용합니다.

조직 수준 방화벽 엔드포인트

gcloud network-security firewall-endpoint-associations \
    create NAME \
    --endpoint organizations/ORGANIZATION_ID/locations/LOCATION/firewallEndpoints/FIREWALL_ENDPOINT_NAME \
    --network projects/PROJECT_NAME/global/networks/NETWORK_NAME \
    --location LOCATION \
    --project PROJECT_ID \
    [ --tls-inspection-policy projects/TLS_PROJECT_NAME/locations/REGION_NAME/tlsInspectionPolicies/TLS_POLICY_NAME ]

프로젝트 수준 방화벽 엔드포인트

gcloud network-security firewall-endpoint-associations \
    create NAME \
    --endpoint projects/ENDPOINT_PROJECT_ID/locations/LOCATION/firewallEndpoints/FIREWALL_ENDPOINT_NAME \
    --network projects/PROJECT_NAME/global/networks/NETWORK_NAME \
    --location LOCATION \
    --project PROJECT_ID \
    [ --tls-inspection-policy projects/TLS_PROJECT_NAME/locations/REGION_NAME/tlsInspectionPolicies/TLS_POLICY_NAME ]

다음을 바꿉니다.

  • NAME: 방화벽 엔드포인트 연결 이름입니다.

  • ORGANIZATION_ID: 방화벽 엔드포인트가 있는 조직 ID입니다. 이 플래그는 조직 수준 방화벽 엔드포인트에만 사용하세요.

  • ENDPOINT_PROJECT_ID: 방화벽 엔드포인트가 있는 프로젝트 ID입니다. 이 플래그는 프로젝트 수준 방화벽 엔드포인트에만 사용하세요.

  • LOCATION: 방화벽 엔드포인트가 있는 영역입니다.

  • FIREWALL_ENDPOINT_NAME: 방화벽 엔드포인트의 이름입니다.

  • PROJECT_NAME: 네트워크의 Google Cloud 프로젝트 이름입니다.

  • NETWORK_NAME: 네트워크의 이름입니다.

  • PROJECT_ID: 연결이 생성되는 Google Cloud 프로젝트 ID입니다. 트래픽을 가로채려는 프로젝트여야 합니다.

  • TLS_PROJECT_NAME: TLS 검사 정책의 Google Cloud 프로젝트 이름입니다.

  • REGION_NAME: TLS 검사 정책의 리전 이름입니다.

  • TLS_POLICY_NAME: TLS 검사 정책의 이름입니다.

    이 정책은 지정된 네트워크에서 암호화된 트래픽의 TLS 검사에 사용됩니다. 이는 선택적 인수입니다.

다음 단계