이 페이지에서는 Dataflow 네트워킹 관련 문제를 해결하는 방법을 보여줍니다.
Dataflow 작업의 네트워킹 구성에 대한 자세한 내용은 인터넷 액세스 및 방화벽 규칙 구성과 네트워크 및 서브네트워크 지정을 참조하세요.
네트워크 리소스가 커스텀 서브넷 모드이면 네트워크 인터페이스가 서브넷을 지정해야 함
Dataflow 작업을 실행할 때 다음 오류가 발생합니다.
Workflow failed. Causes: Invalid Error: Message: Invalid value for field
'resource.properties.networkInterfaces[0].subnetwork': ''. Network interface
must specify a subnet if the network resource is in custom subnet mode. HTTP
Code: 400
이 문제는 이름이 default
인 VPC 네트워크가 자동 모드 VPC 네트워크에서 커스텀 모드 VPC 네트워크로 변환된 경우에 발생합니다.
이 문제를 해결하려면 커스텀 모드 VPC 네트워크를 사용할 때 서브네트워크 매개변수를 지정합니다. 자세한 내용은 네트워크 및 서브네트워크 지정을 참조하세요.
PoolableConnectionFactory를 만들 수 없음
Dataflow 작업을 외부 데이터베이스에 연결해야 할 때 다음 오류가 발생합니다.
java.sql.SQLException: Cannot create PoolableConnectionFactory
(The connection attempt failed.)
이 문제는 종종 이그레스 규칙 또는 방화벽으로 인해 Dataflow 작업자가 데이터베이스 서버와의 연결을 설정할 수 없을 때 발생합니다.
이 문제의 근본 원인을 식별하려면 연결 테스트를 만들고 실행하세요. 연결 테스트를 사용하면 트래픽이 차단된 위치를 식별할 수 있습니다.
이그레스 규칙을 업데이트하려면 방화벽 이그레스 규칙 예시를 참조하세요.
이 리소스에 프로젝트 간 참조가 허용되지 않음
공유 VPC 네트워크에서 Dataflow 작업을 실행할 때 다음 오류가 발생합니다.
Invalid value for field 'resource.properties.networkInterfaces[0].subnetwork':
'https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNETWORK'.
Cross-project references for this resource are not allowed.
이 문제는 공유 VPC 네트워크에서 서브네트워크를 지정하지만 서비스 프로젝트가 공유 VPC 호스트 프로젝트에 연결되지 않은 경우에 발생합니다.
이 문제를 해결하려면 공유 VPC 관리자가 호스트 프로젝트에 서비스 프로젝트를 연결해야 합니다.
인스턴스는 서브네트워크와 동일한 리전에 있어야 함
서브네트워크가 지정된 Dataflow 작업을 실행하면 다음과 같은 오류가 발생합니다.
Failed to start the VM, launcher-ID, used for launching because of status code: INVALID_ARGUMENT, reason: Invalid Error:
Message: Invalid value for field 'resource.networkInterfaces[0].subnetwork': 'https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNETWORK'. Instance must be in the same region as the subnetwork.
HTTP Code: 400.
작업과 작업에 지정된 서브네트워크가 서로 다른 리전에 있으면 이 문제가 발생합니다.
이 문제를 해결하려면 서브네트워크가 있는 리전에서 작업을 실행하세요.
예를 들어 서브네트워크가 us-central1
에 있으면 us-central1
리전에서 작업을 실행합니다.
네트워크에 연결할 수 없음
공개 IP를 사용 중지하고 Dataflow 작업을 실행하려고 하면 다음 오류가 발생합니다.
NewConnectionError(''<pip._vendor.urllib3.connection.HTTPSConnection object at ID>:
Failed to establish a new connection: [Errno 101] Network is unreachable
이 문제는 파이프라인 구성에서 외부 IP 주소에 대한 연결을 허용하지 않지만 파이프라인을 실행하려면 외부 IP에 연결해야 하기 때문에 발생합니다. 다음 파이프라인 옵션은 외부 IP 연결을 사용 중지합니다.
자바
--usePublicIps=false
Python
--no_use_public_ips=true
Go
--no_use_public_ips=true
API
options = PipelineOptions(use_public_ips=False)
트래픽이 차단된 위치를 확인하려면 연결 테스트를 만들고 실행합니다.
외부 IP 주소에 대한 연결을 허용하지 않고 이 문제를 해결하려면 다음 변경사항 중 하나 이상을 수행합니다.
- Cloud NAT와 같은 NAT 솔루션을 구성합니다.
- 비공개 Google 액세스를 구성합니다.
- NAT 솔루션을 구성할 수 없는 경우 커스텀 컨테이너를 사용하여 Python 파이프라인 종속 항목을 제공할 수 있습니다.
Dataflow의 인터넷 액세스 구성에 대한 자세한 내용은 Dataflow 인터넷 액세스를 참조하세요.
네트워크 또는 서브네트워크가 Dataflow 서비스 계정에 액세스할 수 없거나 존재하지 않음
Dataflow 작업을 실행하려고 시도할 때 다음 오류 중 하나가 발생합니다. 작업이 실패합니다.
Workflow failed. Causes: Network default is not accessible to Dataflow Service
account or does not exist
Workflow failed. Causes: Subnetwork SUBNETWORK is not
accessible to Dataflow Service account or does not exist
이 문제는 다음과 같은 경우에 발생할 수 있습니다.
- Dataflow 작업을 만들 때 서브네트워크 및 네트워크 매개변수를 모두 생략하지만 이름이
default
인 자동 모드 VPC 네트워크가 프로젝트에 없습니다. 기본 네트워크가 삭제되었을 때 또는 조직 정책 제약조건에 따라 기본 네트워크를 만들 수 없는 경우에는 기본 네트워크가 없을 수 있습니다. - 서브네트워크가 없습니다.
- 서브네트워크 매개변수가 잘못 지정되었습니다.
- Dataflow 서비스 계정에 필요한 권한이 없습니다.
- 공유 VPC를 사용하는 경우 호스트 프로젝트의 값은 VPC가 호스팅되는 프로젝트여야 합니다. 공유 VPC에 대한 자세한 내용은 공유 VPC 개요를 참조하세요.
이 문제를 해결하려면 네트워크 및 서브네트워크 지정 가이드라인을 따르세요.
RPC가 시간 초과되거나 포트 12345 또는 12346으로 연결할 수 없음
Streaming Engine 또는 Dataflow Shuffle을 사용하지 않는 Dataflow 작업을 실행할 때 다음 오류 중 하나가 발생합니다. 작업이 중단되거나 실패합니다.
스트리밍 작업의 경우:
Rpc to WORKER_HARNESS:12345 completed with error
UNAVAILABLE: failed to connect to all addresses; last error : UNKNOWN:
ipv4:WORKER_IP_ADDRESS:12345: Failed to connect to remote
host: FD Shutdown
일괄 작업의 경우:
(g)RPC timed out when SOURCE_WORKER_HARNESS talking to
DESTINATION_WORKER_HARNESS:12346.
이 문제는 TCP 포트 12345
및 12346
에서 네트워크 트래픽을 허용하는 방화벽 규칙이 없을 때 발생합니다. 작업에 여러 작업자가 사용되는 경우 작업자가 서로 통신할 수 없습니다.
이 문제를 해결하려면 DEADLINE_EXCEEDED 또는 서버 응답 없음의 문제 해결 단계를 참조하세요.
단일 작업자가 반복적으로 시작 및 중지됨
Dataflow 작업을 실행할 때 다음 문제가 발생합니다. Dataflow 작업의 작업 측정항목 페이지에서 CPU 사용률(모든 작업자) 차트에 작업자가 시작되고 몇 분 후 중지되는 현상이 반복되는 것으로 표시됩니다. 작업자는 한 번에 하나만 사용할 수 있습니다.
다음 오류가 발생합니다.
The Dataflow job appears to be stuck because no worker activity has been seen
in the last 1h. Please check the worker logs in Stackdriver Logging.
작업자 로그가 생성되지 않습니다.
작업 로그에 다음과 비슷한 여러 메시지가 표시될 수 있습니다.
Autoscaling: Raised the number of workers to 1 based on the rate of progress in
the currently running stage(s).
이 문제는 VPC 네트워크에 기본 인터넷 경로 및 기본 서브네트워크 경로가 없는 경우에 발생합니다.
이 문제를 해결하려면 VPC 네트워크에 기본 경로를 추가합니다. 자세한 내용은 Dataflow 인터넷 액세스를 참조하세요.
서브네트워크에 비공개 Google 액세스가 없음
외부 IP 주소가 사용 중지된 Dataflow 작업을 실행하면 다음 오류가 발생합니다.
Workflow failed. Causes: Subnetwork SUBNETWORK on project
PROJECT_ID network NETWORK in
region REGION does not have Private Google Access, which
is required for usage of private IP addresses by the Dataflow workers.
이 문제는 비공개 Google 액세스를 사용 설정하지 않고 외부 IP 주소를 해제한 경우에 발생합니다.
이 문제를 해결하려면 Dataflow 작업에 사용되는 서브네트워크에 대해 비공개 Google 액세스를 사용 설정합니다.
지정된 IP 범위로 Dataflow를 만들 수 없음
Dataflow는 작업자 VM에 고정 IP 범위 할당을 지원하지 않습니다. 이 문제를 해결하려면 특정 IP 주소 범위로 서브네트워크를 만들고 이 서브네트워크에 Dataflow 작업을 배포하면 됩니다.
Dataflow에서 서브네트워크를 사용하는 방법에 대한 자세한 내용은 네트워크 및 서브네트워크 지정을 참조하세요.
서브네트워크의 IP 범위 구성에 대한 자세한 내용은 별칭 IP 범위 구성을 참조하세요.
서브네트워크에서 파이프라인을 실행하려면 지정된 서브네트워크를 사용하여 파이프라인 실행을 참조하세요.
NAT 규칙과 라우터를 만들어야 할 수도 있습니다. 자세한 내용은 Cloud NAT를 참조하세요.
다음 단계
추가 네트워킹 문제 해결 단계는 VM 간 내부 연결 문제 해결을 참조하세요.