Dataflow 리전

Dataflow 리전은 Dataflow 작업에 대한 메타데이터를 저장하고 처리하며 Dataflow 작업자를 배포하고 제어합니다.

리전 이름은 Compute Engine 리전 이름을 기반으로 표준 규칙을 따릅니다. 예를 들어 중부 US 리전의 이름은 us-central1입니다.

이 기능을 Dataflow가 지원되는 모든 리전에서 사용할 수 있습니다. 사용 가능한 위치를 확인하려면 Dataflow 위치를 참조하세요.

리전 선택 가이드라인

Dataflow 작업에서 리전을 지정하는 것은 필수입니다.

보안 및 규정 준수

프로젝트의 보안 및 규정 준수 요구사항을 지원하기 위해 Dataflow 작업 처리를 특정 리전으로 제한해야 할 수도 있습니다.

데이터 지역

소스, 싱크, 스테이징 파일 위치와 같은 동일한 리전 및 임시 파일 위치에서 Dataflow 작업을 실행하면 네트워크 지연 시간과 네트워크 전송 비용을 최소화할 수 있습니다. 작업 리전 외부에 있는 소스, 싱크, 스테이징 파일 위치 또는 임시 파일 위치를 사용하면 데이터가 리전 간에서 전송될 수 있습니다.

파이프라인이 실행될 때 Dataflow 작업자 풀에서만 사용자 데이터가 처리되며 데이터 이동은 풀에서 Dataflow 작업자를 연결하는 네트워크 경로로 제한됩니다.

사용자 데이터는 할당된 리전에서 Dataflow 작업자에 의해 엄격하게 처리되는 반면, 파이프라인 로그 메시지는 Cloud Logging에 저장되고 Google Cloud에 전역적으로 한 개만 있습니다.

파이프라인 로그 메시지의 위치를 더 세부적으로 제어해야 할 경우 다음을 수행할 수 있습니다.

  1. _Default 로그 버킷으로 Dataflow 로그 내보내기가 실행되지 않도록 _Default 로그 라우터 싱크에 대해 제외 필터를 만듭니다.
  2. 원하는 리전에서 로그 버킷을 만듭니다.
  3. 새로운 로그 버킷으로 Dataflow 로그를 내보내는 로그 라우터 싱크를 새로 구성합니다.

로깅 구성에 대한 자세한 내용은 라우팅 및 스토리지 개요로그 라우팅 개요를 참조하세요.

일반적인 Dataflow 작업 소스에 대한 참고:

  • Cloud Storage 버킷을 소스로 사용할 때는 버킷과 동일한 리전에서 읽기 작업을 수행하는 것이 좋습니다.
  • Pub/Sub 주제는 전역 Pub/Sub 엔드포인트에 게시될 때 가장 가까운 Google Cloud 리전에 저장됩니다. 그러나 주제 스토리지 정책을 특정 리전 또는 리전 집합으로 수정할 수 있습니다. 마찬가지로 Pub/Sub 라이트 주제는 영역 스토리지만 지원합니다.

복원력 및 지리적 분리

일반 Dataflow 작업을 다른 리전에서 발생할 수 있는 서비스 중단으로부터 격리하려 할 수 있습니다. 또는 리전 전체 재해 시 비즈니스 연속성을 위한 대체 사이트를 계획해야 할 수도 있습니다.

재해 복구 및 비즈니스 연속성 계획에 Dataflow 작업에 사용되는 소스와 싱크의 세부정보를 통합하는 것이 좋습니다. Google Cloud 영업팀은 개발자 요구사항이 충족되도록 지원합니다.

리전 배치

기본적으로 선택한 리전은 리전 내에서 사용 가능한 모든 영역을 활용하도록 Dataflow 작업자 풀을 구성합니다. 영역 선택은 생성 시 각 작업자에 대해 계산되어 미사용 예약의 리소스 획득 및 사용률에 최적화됩니다.

리전 배치의 이점은 다음과 같습니다.

  • 리소스 가용성 개선: Dataflow 작업은 남은 가용성으로 다른 영역에서 작업자를 계속 만들 수 있으므로 영역별 리소스 가용성 오류 발생 시 복원력이 더 우수합니다.
  • 안정성 향상: 영역 장애가 발생한 경우 작업자가 다른 영역에서 다시 생성되기 때문에 Dataflow 작업이 계속 실행될 수 있습니다.

다음과 같은 제한사항이 적용됩니다.

  • 리전 배치는 Streaming Engine 또는 Dataflow Shuffle을 사용하는 작업에만 지원됩니다. Streaming Engine 또는 Dataflow Shuffle을 선택 해제한 작업은 리전 배치를 사용할 수 없습니다.
  • 리전 배치는 VM에만 적용되며 Streaming Engine 및 Dataflow Shuffle 관련 리소스에는 적용되지 않습니다.
  • VM은 여러 영역 간에 복제되지 않습니다. 예를 들어 VM을 사용할 수 없게 되면 작업 항목이 손실된 것으로 간주되어 다른 VM에서 다시 처리됩니다.
  • 리전 전체에서 소진이 발생하면 Dataflow 서비스는 더 이상 VM을 만들 수 없습니다.

자동 영역 배치

작업에서 리전 배치가 지원되지 않는 경우 작업 생성 요청 시점에 사용 가능한 영역 용량에 따라 리전 내에서 최적의 영역이 자동으로 선택됩니다. 자동 영역 선택은 작업자가 해당 작업에 가장 적합한 영역에서 실행되도록 합니다.

작업이 단일 영역에서 실행되도록 구성되어 있으므로 사용할 수 있는 Compute Engine 리소스가 충분하지 않으면 영역별 리소스 가용성 오류와 함께 작업이 실패할 수 있습니다.

리전 지정

작업의 리전을 지정하려면 --region 옵션을 지원되는 리전 중 하나로 설정합니다. --region 옵션은 메타데이터 서버, 로컬 클라이언트 또는 환경 변수에 설정된 기본 리전을 재정의합니다.

Dataflow 명령줄 인터페이스에서도 리전을 지정하는 --region 옵션을 지원합니다.

작업자 리전 또는 영역 재정의

기본적으로--region 옵션을 사용하여 작업을 제출하면 작업 유형에 따라 리전 내 여러 영역 또는 리전 내의 단일 최적 영역에 작업자가 자동으로 할당됩니다.

Dataflow 작업용 작업자가 엄격하게 특정 영역에서 실행되도록 보장해야 할 경우 다음 파이프라인 옵션을 사용하여 영역을 지정할 수 있습니다. 이 사용 패턴은 Dataflow 작업에서 일반적이지 않습니다.

Java

--workerZone

Python

--worker_zone

Go

--worker_zone

다른 모든 경우에는 작업자 위치를 재정의하지 않는 것이 좋습니다. 일반 시나리오 표에는 이러한 상황에 대한 사용 권장사항이 포함되어 있습니다.

작업이 단일 영역에서 실행되도록 구성되어 있으므로 사용할 수 있는 Compute Engine 리소스가 충분하지 않으면 영역별 리소스 가용성 오류와 함께 작업이 실패할 수 있습니다.

gcloud compute regions list 명령어를 실행하여 작업자 배포에 사용 가능한 리전 및 영역 목록을 볼 수 있습니다.

일반적인 시나리오

다음 표에는 일반적인 시나리오에 대한 사용 권장사항이 포함되어 있습니다.

시나리오 추천
지원되는 리전을 사용하고 싶은데 리전 내에 선호하는 영역이 없습니다. 이 경우 사용 가능한 용량에 따라 최적의 영역이 자동으로 선택됩니다. --region을 사용하여 작업 리전을 지정합니다. 그러면 Dataflow가 작업을 관리하고 지정된 리전 내에서 데이터를 처리합니다.
리전의 특정 영역에서 작업자 처리가 이루어져야 합니다. --region--workerZone 또는 --worker_zone을 지정합니다.

--region을 사용하여 작업 리전을 지정합니다. --workerZone 또는 --worker_zone을 사용하여 리전 내 특정 영역을 지정합니다.