Memecahkan masalah jaringan Dataflow

Halaman ini menunjukkan cara menyelesaikan masalah terkait jaringan Dataflow.

Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi jaringan untuk tugas Dataflow, lihat Mengonfigurasi akses internet dan aturan firewall dan Menentukan jaringan dan subnetwork.

Tidak dapat membuat PoolableConnectionFactory

Error berikut terjadi saat tugas Dataflow Anda perlu terhubung ke database eksternal:

java.sql.SQLException: Cannot create PoolableConnectionFactory
(The connection attempt failed.)

Masalah ini terjadi saat pekerja Dataflow tidak dapat membuat koneksi dengan server database, sering kali karena aturan keluar atau firewall.

Untuk mengidentifikasi penyebab utama masalah ini, buat dan jalankan Uji Konektivitas. Uji Konektivitas dapat membantu Anda mengidentifikasi tempat traffic diblokir.

Untuk memperbarui aturan traffic keluar, lihat Contoh aturan traffic keluar firewall.

Waktu koneksi habis saat menggunakan Cloud NAT

Error berikut dapat terjadi saat tugas Dataflow Anda mencoba terhubung ke layanan eksternal melalui gateway Cloud NAT:

java.net.ConnectTimeoutException: Connection timed out

Masalah ini dapat terjadi jika tugas Dataflow Anda dikonfigurasi untuk menggunakan alamat IP eksternal saat jaringan Anda juga disiapkan untuk menggunakan Cloud NAT untuk traffic keluar. Jika worker Dataflow memiliki alamat IP eksternal, worker tersebut akan mencoba merutekan traffic ke internet secara langsung, bukan melalui gateway Cloud NAT, yang dapat menyebabkan waktu tunggu koneksi habis jika aturan firewall mencegah akses langsung ini.

Untuk mengatasi masalah ini, konfigurasi pekerja Dataflow Anda agar tidak menggunakan alamat IP eksternal. Konfigurasi ini membantu memastikan bahwa traffic keluar dirutekan melalui gateway Cloud NAT yang dikonfigurasi. Untuk mengetahui informasi selengkapnya, lihat dokumentasi Cloud NAT.

Untuk mengetahui informasi tentang cara menonaktifkan alamat IP eksternal, lihat Mengonfigurasi akses internet dan aturan firewall.

Referensi lintas project untuk resource ini tidak diizinkan

Error berikut terjadi saat Anda menjalankan tugas Dataflow di jaringan VPC Bersama:

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.

Masalah ini terjadi jika Anda menentukan subnetwork dalam jaringan VPC Bersama, tetapi project layanan tidak dilampirkan ke project host VPC Bersama.

Untuk mengatasi masalah ini, Admin VPC Bersama harus menautkan project layanan ke project host.

Instance harus berada di region yang sama dengan subnetwork

Error berikut terjadi saat Anda menjalankan tugas Dataflow dengan subnet yang ditentukan:

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.

Masalah ini terjadi saat tugas dan subnetwork yang ditentukan dalam tugas Anda berada di region yang berbeda.

Untuk mengatasi masalah ini, jalankan tugas Anda di region tempat subnetwork Anda berada. Misalnya, jika subnetwork Anda berada di us-central1, jalankan tugas Anda di region us-central1.

Ruang IP habis

Saat Anda membuat tugas Dataflow atau memicu operasi penskalaan otomatis, operasi ini mungkin gagal dengan pesan berikut:

IP_SPACE_EXHAUSTED: Instance 'INSTANCE_NAME' creation failed: IP space of 'projects/PROJECT/regions/REGION/subnetworks/SUBNETWORK' is exhausted.

Anda dapat mencoba salah satu strategi berikut untuk mengatasi error ini:

  1. Kurangi jumlah permintaan pekerja untuk tugas Dataflow. Anda memberikan jumlah pekerja tertentu dengan menyetel opsi pipeline num_workers, atau Anda dapat menyetel batas atas jumlah pekerja menggunakan opsi pipeline max_num_workers. Untuk mengetahui informasi selengkapnya, lihat Opsi pipeline.
  2. Jika memungkinkan, tingkatkan ukuran subnet tugas Dataflow. Untuk mengetahui informasi tentang memperluas subnet yang ada, lihat dokumentasi Virtual Private Cloud.
  3. Gunakan subnet lain dengan alamat IP yang tersedia dalam jumlah yang cukup untuk tugas Dataflow.
  4. Jika memungkinkan, buat subnet khusus dengan jumlah alamat IP yang memadai untuk tugas Dataflow.

Antarmuka jaringan harus menentukan subnet jika resource jaringan berada dalam mode subnet kustom

Error berikut terjadi saat Anda menjalankan tugas 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

Masalah ini terjadi jika jaringan VPC bernama default dikonversi dari jaringan VPC mode otomatis menjadi jaringan VPC mode kustom.

Untuk mengatasi masalah ini, tentukan parameter subnetwork saat menggunakan jaringan VPC mode kustom. Untuk mengetahui informasi selengkapnya, lihat Menentukan jaringan dan subnetwork.

Jaringan tidak dapat dijangkau

Error berikut terjadi saat Anda menonaktifkan alamat IP eksternal dan mencoba menjalankan tugas Dataflow:

NewConnectionError(''<pip._vendor.urllib3.connection.HTTPSConnection  object at ID>:
Failed to establish a new connection: [Errno 101] Network is unreachable

Masalah ini terjadi karena konfigurasi pipeline Anda tidak mengizinkan koneksi ke alamat IP eksternal, tetapi pipeline Anda perlu terhubung ke IP eksternal untuk berjalan. Opsi pipeline berikut menonaktifkan koneksi IP eksternal:

Java

--usePublicIps=false

Python

--no_use_public_ips=true

Go

--no_use_public_ips=true

API

options = PipelineOptions(use_public_ips=False)

Untuk mengidentifikasi tempat traffic diblokir, buat dan jalankan Uji Konektivitas.

Untuk mengatasi masalah ini tanpa mengizinkan koneksi ke alamat IP eksternal, lakukan satu atau beberapa perubahan berikut.

Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi akses internet untuk Dataflow, lihat Akses internet untuk Dataflow.

Jaringan atau subnetwork tidak dapat diakses oleh akun layanan Dataflow atau tidak ada

Salah satu error berikut terjadi saat Anda mencoba menjalankan tugas Dataflow. Tugas gagal.

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

Masalah ini dapat terjadi karena alasan berikut:

  • Anda tidak menyertakan parameter subnetwork dan jaringan saat membuat job Dataflow, tetapi jaringan VPC mode otomatis bernama default tidak ada di project Anda. Anda mungkin tidak memiliki jaringan default jika jaringan default dihapus atau jika batasan kebijakan organisasi mencegah Anda membuat jaringan default.
  • Subnetwork tidak ada.
  • Parameter subnetwork ditentukan dengan tidak benar.
  • Izin yang diperlukan untuk akun layanan Dataflow tidak ada.
  • Jika Anda menggunakan VPC Bersama, nilai untuk project host harus berupa project tempat VPC dihosting. Untuk mempelajari lebih lanjut VPC Bersama, lihat Ringkasan VPC Bersama.

Untuk mengatasi masalah ini, ikuti pedoman untuk menentukan jaringan dan sub-jaringan.

RPC kehabisan waktu atau gagal terhubung pada port 12345 atau 12346

Salah satu error berikut terjadi saat Anda menjalankan tugas Dataflow yang tidak menggunakan Streaming Engine atau Dataflow Shuffle. Tugas macet atau gagal.

Untuk tugas streaming:

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

Untuk tugas batch:

(g)RPC timed out when SOURCE_WORKER_HARNESS talking to
DESTINATION_WORKER_HARNESS:12346.

Masalah ini terjadi jika aturan firewall yang mengizinkan traffic jaringan di port TCP 12345 dan 12346 tidak ada. Jika tugas menggunakan beberapa pekerja, pekerja tidak dapat berkomunikasi satu sama lain.

Untuk mengatasi masalah ini, lihat langkah-langkah pemecahan masalah di DEADLINE_EXCEEDED atau Server Tidak Merespons.

Worker tunggal dimulai dan dihentikan berulang kali

Masalah berikut terjadi saat Anda meluncurkan tugas Dataflow. Di halaman Job metrics tugas Dataflow, diagram CPU utilization (All Workers) menunjukkan bahwa pekerja berulang kali dimulai dan kemudian dihentikan setelah beberapa menit. Hanya satu pekerja yang tersedia pada waktu tertentu.

Diagram pemakaian CPU yang menunjukkan bahwa satu worker pada satu waktu berulang kali dibuat lalu dihentikan.

Terjadi error berikut:

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.

Tidak ada log pekerja yang dibuat.

Di log tugas, beberapa pesan yang mirip dengan berikut ini mungkin muncul:

Autoscaling: Raised the number of workers to 1 based on the rate of progress in
the currently running stage(s).

Masalah ini terjadi jika jaringan VPC tidak memiliki rute default ke internet dan rute default ke subnetwork.

Untuk mengatasi masalah ini, tambahkan rute default ke jaringan VPC Anda. Untuk mengetahui informasi selengkapnya, lihat Akses internet untuk Dataflow.

Masalah ini juga dapat terjadi jika akun layanan pekerja yang dikelola pengguna dan tugas Dataflow berada dalam project yang berbeda. Untuk mengetahui informasi selengkapnya tentang cara menghindari masalah ini saat menggunakan akun layanan lintas project, lihat panduan yang ditawarkan di langkah 3 dan langkah 4 Menentukan akun layanan pekerja yang dikelola pengguna.

Jika jaringan VPC Anda memiliki rute default, dan akun layanan pekerja yang dikelola pengguna serta tugas Dataflow berada dalam project yang sama, login ke VM pekerja tugas Dataflow dan periksa log di direktori /var/log/dataflow untuk mengidentifikasi masalah.

Subnetwork tidak memiliki Akses Google Pribadi

Error berikut terjadi saat Anda meluncurkan tugas Dataflow yang menonaktifkan alamat IP eksternal:

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.

Masalah ini terjadi jika Anda menonaktifkan alamat IP eksternal tanpa mengaktifkan Akses Google Pribadi.

Untuk mengatasi masalah ini, aktifkan Akses Google Pribadi untuk subnetwork yang digunakan oleh tugas Dataflow.

Tidak dapat membuat Dataflow dengan rentang IP tertentu

Dataflow tidak mendukung penetapan rentang IP statis ke VM pekerja. Sebagai solusinya, Anda dapat membuat subnetwork dengan rentang alamat IP tertentu dan men-deploy tugas Dataflow di subnetwork tersebut.

Untuk mengetahui informasi selengkapnya tentang cara menggunakan subnetwork dengan Dataflow, lihat Menentukan jaringan dan subnetwork.

Untuk mengetahui informasi tentang cara mengonfigurasi rentang IP di subnetwork, lihat Mengonfigurasi rentang IP alias.

Untuk menjalankan pipeline di subnetwork, lihat Menjalankan pipeline dengan subnetwork yang ditentukan.

Anda mungkin juga perlu membuat aturan NAT dan router. Untuk mengetahui informasi selengkapnya, lihat Cloud NAT.

Langkah berikutnya

Untuk langkah-langkah pemecahan masalah jaringan tambahan, lihat bagian Memecahkan masalah konektivitas internal antar-VM.