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 US Tengah adalah us-central1.

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

Panduan untuk memilih wilayah

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

Keamanan dan kepatuhan

Anda mungkin perlu membatasi pemrosesan tugas Dataflow ke wilayah geografis tertentu untuk mendukung kebutuhan keamanan dan kepatuhan project 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, tujuan, lokasi file staging, atau lokasi file sementara yang berada di luar region pekerjaan Anda, data Anda mungkin dikirim ke berbagai region.

Saat menjalankan pipeline, data pengguna hanya ditangani oleh kumpulan worker Dataflow dan pergerakan data dibatasi ke jalur jaringan yang menghubungkan worker 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 diGoogle 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 ke bucket log baru Anda.

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

Catatan tentang sumber tugas Dataflow umum:

  • Saat menggunakan bucket Cloud Storage sebagai sumber, sebaiknya lakukan operasi baca di region yang sama dengan bucket.
  • Topik Pub/Sub, saat dipublikasikan ke endpoint Pub/Sub global, disimpan di region Google Cloud terdekat. Namun, Anda dapat mengubah kebijakan penyimpanan topik ke region atau sekumpulan region tertentu. Demikian pula, topik Pub/Sub Lite hanya mendukung penyimpanan per zona.

Ketahanan dan pemisahan geografis

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

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

Penempatan regional

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

Penempatan regional menawarkan manfaat seperti:

  • Peningkatan ketersediaan resource: Tugas Dataflow lebih tahan terhadap error ketersediaan resource per zona, karena pekerja dapat terus dibuat di zona lain dengan ketersediaan yang tersisa.
  • Keandalan yang ditingkatkan: Jika terjadi kegagalan zona, tugas Dataflow dapat terus berjalan karena worker 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 terjadi stok habis untuk seluruh region, layanan Dataflow tidak dapat membuat VM lagi.
  • Jika terjadi stok habis untuk seluruh zona 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 zona yang diperlukan untuk tugas Dataflow Anda berada di zona tersebut, tugas mungkin gagal.

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

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

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

Nilai dalam 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 dipilih secara otomatis, berdasarkan kapasitas zona yang tersedia pada saat permintaan pembuatan tugas. Pemilihan zona otomatis membantu memastikan bahwa pekerja tugas berjalan di zona terbaik untuk tugas Anda.

Karena tugas dikonfigurasi untuk berjalan di satu zona, operasi mungkin gagal dengan error ketersediaan resource zona jika resource Compute Engine yang memadai tidak tersedia. Jika terjadi kehabisan stok di suatu wilayah, Anda mungkin melihat error ZONE_RESOURCE_POOL_EXHAUSTED. 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 menyebabkan hilangnya data.

Menentukan wilayah

Untuk menentukan region tugas, 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 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. Hal 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 mengganti 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 zona 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 wilayah yang didukung dan tidak memiliki preferensi zona dalam wilayah tersebut. Dalam hal ini, zona terbaik akan otomatis dipilih berdasarkan kapasitas yang tersedia. Gunakan --region untuk menentukan region tugas. Hal ini memastikan bahwa 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.