Dataflow 리전은 Dataflow 작업에 대한 메타데이터를 저장하고 처리하며 Dataflow 작업자를 배포하고 제어합니다.
리전 이름은 Compute Engine 리전 이름을 기반으로 표준 규칙을 따릅니다.
예를 들어 중부 US 리전의 이름은 us-central1
입니다.
이 기능을 Dataflow가 지원되는 모든 리전에서 사용할 수 있습니다. 사용 가능한 위치를 확인하려면 Dataflow 위치를 참조하세요.
리전 선택 가이드라인
다음 가이드라인을 따라 작업에 적합한 리전을 선택합니다.
보안 및 규정 준수
프로젝트의 보안 및 규정 준수 요구사항을 지원하기 위해 Dataflow 작업 처리를 특정 리전으로 제한해야 할 수도 있습니다.
데이터 지역
소스, 싱크, 스테이징 파일 위치와 같은 동일한 리전 및 임시 파일 위치에서 Dataflow 작업을 실행하면 네트워크 지연 시간과 네트워크 전송 비용을 최소화할 수 있습니다. 작업 리전 외부에 있는 소스, 싱크, 스테이징 파일 위치 또는 임시 파일 위치를 사용하면 데이터가 리전 간에서 전송될 수 있습니다.
파이프라인이 실행될 때 Dataflow 작업자 풀에서만 사용자 데이터가 처리되며 데이터 이동은 풀에서 Dataflow 작업자를 연결하는 네트워크 경로로 제한됩니다.
사용자 데이터는 할당된 리전에서 Dataflow 작업자에 의해 엄격하게 처리되는 반면, 파이프라인 로그 메시지는 Cloud Logging에 저장되고 Google Cloud에 전역적으로 한 개만 있습니다.
파이프라인 로그 메시지의 위치를 더 세부적으로 제어해야 할 경우 다음을 수행할 수 있습니다.
_Default
로그 버킷으로 Dataflow 로그 내보내기가 실행되지 않도록_Default
로그 라우터 싱크에 대해 제외 필터를 만듭니다.- 원하는 리전에서 로그 버킷을 만듭니다.
- 새로운 로그 버킷으로 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에만 적용되며 백엔드 리소스에는 적용되지 않습니다.
- VM은 여러 영역 간에 복제되지 않습니다. 예를 들어 VM을 사용할 수 없게 되면 작업 항목이 손실된 것으로 간주되어 다른 VM에서 다시 처리됩니다.
- 리전 전체에서 소진이 발생하면 Dataflow 서비스는 더 이상 VM을 만들 수 없습니다.
작업 리소스 영역 보기
Dataflow 작업은 내부 리소스에 종속됩니다. 이러한 백엔드 작업 리소스 중 일부는 영역별입니다. 단일 영역에서 문제가 발생하고 Dataflow 작업에 필요한 영역별 리소스가 해당 영역에 있으면 작업이 실패할 수 있습니다.
영역 중단으로 인해 작업이 실패했는지 확인하려면 작업의 백엔드 리소스에서 사용하고 있는 서비스 영역을 검토합니다. Streaming Engine 작업에만 이 기능을 사용할 수 있습니다.
Google Cloud 콘솔에서 서비스 영역을 보려면 작업 정보 패널의 서비스 영역 필드를 사용합니다.
API를 사용하여 서비스 영역을 검토하려면
ServiceResources
필드를 사용합니다.
작업이 실행되는 동안 작업에서 사용하는 리소스가 변경되므로 이 필드의 값은 작업 기간 내내 업데이트됩니다.
자동 영역 배치
작업에서 리전 배치가 지원되지 않는 경우 작업 생성 요청 시점에 사용 가능한 영역 용량에 따라 리전 내에서 최적의 영역이 자동으로 선택됩니다. 자동 영역 선택은 작업자가 해당 작업에 가장 적합한 영역에서 실행되도록 합니다.
작업이 단일 영역에서 실행되도록 구성되어 있으므로 사용할 수 있는 Compute Engine 리소스가 충분하지 않으면 영역별 리소스 가용성 오류와 함께 작업이 실패할 수 있습니다.
또한 영역을 사용할 수 없으면 스트리밍 백엔드를 사용할 수 없게 되어 데이터가 손실될 수 있습니다.
리전 지정
작업의 리전을 지정하려면 --region
옵션을 지원되는 리전 중 하나로 설정하세요.
--region
옵션은 메타데이터 서버, 로컬 클라이언트 또는 환경 변수에 설정된 기본 리전을 재정의합니다.
Dataflow 명령줄 인터페이스에서도 리전을 지정하는 --region
옵션을 지원합니다.
작업자 리전 또는 영역 재정의
기본적으로--region
옵션을 사용하여 작업을 제출하면 작업 유형에 따라 리전 내 여러 영역 또는 리전 내의 단일 최적 영역에 작업자가 자동으로 할당됩니다.
Dataflow 작업용 작업자가 엄격하게 특정 영역에서 실행되도록 보장해야 할 경우 다음 파이프라인 옵션을 사용하여 영역을 지정할 수 있습니다. 이 사용 패턴은 Dataflow 작업에서 일반적이지 않습니다.
이 옵션은 Dataflow 작업자에 사용되는 영역만 제어합니다. 백엔드 리소스에는 적용되지 않습니다. 백엔드 리소스는 작업 리전 내 모든 영역에 생성될 수 있습니다.
자바
--workerZone
Python
--worker_zone
Go
--worker_zone
다른 모든 경우에는 작업자 위치를 재정의하지 않는 것이 좋습니다. 일반 시나리오 표에는 이러한 상황에 대한 사용 권장사항이 포함되어 있습니다.
작업이 단일 영역에서 실행되도록 구성되어 있으므로 사용할 수 있는 Compute Engine 리소스가 충분하지 않으면 영역별 리소스 가용성 오류와 함께 작업이 실패할 수 있습니다.
gcloud compute regions list
명령어를 실행하여 작업자 배포에 사용 가능한 리전 및 영역 목록을 볼 수 있습니다.
일반적인 시나리오
다음 표에는 일반적인 시나리오에 대한 사용 권장사항이 포함되어 있습니다.
시나리오 | 권장사항 |
---|---|
지원되는 리전을 사용하고 싶은데 리전 내에 선호하는 영역이 없습니다. 이 경우 사용 가능한 용량에 따라 최적의 영역이 자동으로 선택됩니다. | --region 을 사용하여 작업 리전을 지정합니다.
그러면 Dataflow가 작업을 관리하고 지정된 리전 내에서 데이터를 처리합니다. |
리전의 특정 영역에서 작업자 처리가 이루어져야 합니다. | --region 및 --workerZone 또는 --worker_zone 을 지정합니다.
|