Region dataflow

Region Dataflow menyimpan dan menangani metadata tentang tugas Dataflow Anda serta men-deploy dan mengontrol pekerja Dataflow Anda.

Nama region mengikuti konvensi standar berdasarkan nama region Compute Engine. Misalnya, nama untuk region AS Tengah adalah us-central1.

Fitur ini tersedia di semua region tempat Dataflow didukung. Untuk melihat lokasi yang tersedia, baca Lokasi Dataflow.

Panduan untuk memilih region

Gunakan panduan berikut untuk memilih region yang sesuai untuk tugas Anda.

Keamanan dan kepatuhan

Anda mungkin perlu membatasi pemrosesan tugas Dataflow ke region geografis tertentu untuk mendukung kebutuhan keamanan dan kepatuhan proyek Anda.

Lokalitas data

Anda dapat meminimalkan latensi jaringan dan biaya transportasi jaringan dengan menjalankan tugas Dataflow dari region yang sama dengan sumber, sink, lokasi file staging, dan lokasi file sementara. Jika Anda menggunakan sumber, sink, lokasi file staging, atau lokasi file sementara yang berada di luar region tugas Anda, data Anda mungkin dikirim ke berbagai region.

Saat menjalankan pipeline, data pengguna hanya ditangani oleh kumpulan pekerja Dataflow dan pergerakan data dibatasi ke jalur jaringan yang menghubungkan pekerja Dataflow dalam kumpulan.

Meskipun data pengguna ditangani secara ketat oleh pekerja Dataflow di region geografis yang ditetapkan, pesan log pipeline disimpan di Cloud Logging, yang memiliki satu kehadiran global di Google Cloud.

Jika memerlukan kontrol lebih besar atas lokasi pesan log pipeline, Anda dapat melakukan hal berikut:

  1. Buat filter pengecualian untuk sink perute log _Default guna mencegah log Dataflow diekspor ke bucket log _Default.
  2. Buat bucket log di region pilihan Anda.
  3. Konfigurasi sink perute log baru yang mengekspor log Dataflow Anda ke bucket log baru.

Untuk mempelajari lebih lanjut cara mengonfigurasi logging, lihat Ringkasan perutean dan penyimpanan serta Ringkasan perutean log.

Catatan tentang sumber tugas Dataflow umum:

Ketahanan dan pemisahan geografis

Anda mungkin ingin mengisolasi operasi Dataflow normal dari pemadaman layanan yang dapat terjadi di region geografis lain. Atau, Anda mungkin perlu merencanakan situs alternatif untuk kelangsungan bisnis jika terjadi bencana di seluruh region.

Dalam rencana pemulihan dari bencana dan kelangsungan bisnis, sebaiknya sertakan detail untuk sumber dan sink yang digunakan dengan tugas Dataflow Anda. Tim Google Cloud penjualan dapat membantu Anda berupaya memenuhi persyaratan.

Penempatan regional

Secara default, region yang Anda pilih mengonfigurasi kumpulan pekerja Dataflow untuk menggunakan semua zona yang tersedia dalam region. Pemilihan zona dihitung untuk setiap pekerja pada waktu pembuatannya, sehingga mengoptimalkan akuisisi resource dan penggunaan reservasi yang tidak digunakan.

Penempatan regional menawarkan manfaat seperti:

  • Ketersediaan resource yang ditingkatkan: Tugas Dataflow lebih tahan terhadap error ketersediaan resource zonal, karena pekerja dapat terus dibuat di zona lain dengan ketersediaan yang tersisa.
  • Keandalan yang ditingkatkan: Jika terjadi kegagalan zonal, tugas Dataflow dapat terus berjalan karena pekerja dibuat ulang di zona lain.

Batasan berikut berlaku:

  • Penempatan regional hanya didukung untuk tugas yang menggunakan Streaming Engine atau Dataflow Shuffle. Tugas yang tidak ikut Streaming Engine atau Dataflow Shuffle tidak dapat menggunakan penempatan regional.
  • Penempatan regional hanya berlaku untuk VM, dan tidak berlaku untuk resource backend.
  • VM tidak direplikasi di beberapa zona. Jika VM menjadi tidak tersedia, misalnya, item kerjanya akan dianggap hilang dan diproses ulang oleh VM lain.
  • Jika Compute Engine tidak memiliki kapasitas di region yang dikonfigurasi, layanan Dataflow tidak dapat membuat VM lagi.
  • Jika Compute Engine tidak memiliki kapasitas di satu atau beberapa zona di region yang dikonfigurasi, layanan Dataflow mungkin gagal memulai tugas.

Melihat zona resource tugas

Tugas Dataflow bergantung pada resource internal. Beberapa resource tugas backend ini bersifat zonal. Jika satu zona gagal dan resource zonal yang diperlukan untuk tugas Dataflow Anda berada di zona tersebut, tugas mungkin akan gagal.

Untuk memahami apakah tugas gagal karena pemadaman layanan zonal, tinjau zona layanan yang digunakan oleh resource backend tugas Anda. Fitur ini hanya tersedia untuk tugas Streaming Engine.

  • Untuk melihat zona layanan di Google Cloud konsol, gunakan kolom Zona layanan di Info tugas panel.

  • Untuk menggunakan API guna meninjau zona layanan, gunakan ServiceResources kolom.

Nilai di kolom ini diperbarui selama durasi tugas, karena resource yang digunakan tugas berubah saat tugas berjalan.

Penempatan zona otomatis

Untuk tugas yang tidak didukung untuk penempatan regional, zona terbaik dalam region akan dipilih secara otomatis, berdasarkan kapasitas zona yang tersedia pada saat permintaan pembuatan tugas. Pemilihan zona otomatis membantu memastikan pekerja tugas berjalan di zona terbaik untuk tugas Anda.

Karena tugas dikonfigurasi untuk berjalan di satu zona, operasi mungkin gagal dengan error ketersediaan resource zonal jika resource Compute Engine yang memadai tidak tersedia. Jika kapasitas habis di suatu region, Anda mungkin akan melihat a ZONE_RESOURCE_POOL_EXHAUSTED error. Anda dapat menerapkan loop percobaan ulang untuk memulai tugas saat resource tersedia.

Selain itu, saat zona tidak tersedia, backend streaming juga dapat menjadi tidak tersedia, yang dapat mengakibatkan kehilangan data.

Menentukan region

Untuk menentukan region untuk tugas Anda, tetapkan opsi --region ke salah satu region yang didukung. Opsi --region menggantikan region default yang ditetapkan di server metadata, klien lokal, atau variabel lingkungan.

Antarmuka command line Dataflow juga mendukung opsi --region untuk menentukan region.

Mengganti region atau zona pekerja

Secara default, saat Anda mengirimkan tugas dengan opsi --region, pekerja akan otomatis ditetapkan ke zona di seluruh region atau satu zona terbaik dalam region, bergantung pada jenis tugas.

Jika Anda ingin memastikan bahwa pekerja untuk tugas Dataflow Anda berjalan secara ketat di zona tertentu, Anda dapat menentukan zona menggunakan opsi pipeline berikut. Pola penggunaan ini tidak umum untuk tugas Dataflow.

Opsi ini hanya mengontrol zona yang digunakan untuk pekerja Dataflow. Opsi ini tidak berlaku untuk resource backend. Resource backend dapat dibuat di zona mana pun dalam region tugas.

Java

--workerZone

Python

--worker_zone

Go

--worker_zone

Untuk semua kasus lainnya, sebaiknya jangan ganti lokasi pekerja. Tabel skenario umum berisi rekomendasi penggunaan untuk situasi ini.

Karena tugas dikonfigurasi untuk berjalan di satu zona, operasi mungkin gagal dengan error ketersediaan resource zonal jika resource Compute Engine yang memadai tidak tersedia.

Anda dapat menjalankan perintah gcloud compute regions list untuk melihat daftar region dan zona yang tersedia untuk deployment pekerja.

Skenario umum

Tabel berikut berisi rekomendasi penggunaan untuk skenario umum.

Skenario Rekomendasi
Saya ingin menggunakan region yang didukung dan tidak memiliki preferensi zona dalam region. Dalam hal ini, zona terbaik akan otomatis dipilih berdasarkan kapasitas yang tersedia. Gunakan --region untuk menentukan region tugas. Hal ini memastikan Dataflow mengelola tugas Anda dan memproses data dalam region yang ditentukan.
Saya memerlukan pemrosesan pekerja terjadi di zona tertentu dalam suatu region. Tentukan --region dan --workerZone atau --worker_zone.

Gunakan --region untuk menentukan region tugas. Gunakan --workerZone atau --worker_zone untuk menentukan zona tertentu dalam region tersebut.