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 Amerika Serikat bagian Tengah adalah us-central1.

Fitur ini tersedia di semua wilayah 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 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, sink, lokasi file staging, atau lokasi file sementara yang berada di luar region tugas Anda, data Anda mungkin dikirim ke berbagai region.

Dalam menjalankan pipeline, data pengguna hanya ditangani oleh kumpulan pekerja Dataflow dan pergerakan data dibatasi pada 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 router log _Default guna mencegah log Dataflow diekspor ke bucket log _Default.
  2. Buat bucket log di region pilihan Anda.
  3. Konfigurasikan sink router log baru yang mengekspor log Dataflow ke bucket log baru.

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

Catatan tentang sumber tugas Dataflow umum:

  • Saat menggunakan bucket Cloud Storage sebagai sumber, sebaiknya Anda melakukan 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 wilayah atau sekumpulan wilayah tertentu. Demikian pula, topik Pub/Sub Lite hanya mendukung penyimpanan zona.

Ketahanan dan pemisahan geografis

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

Dalam disaster recovery dan business continuity plan, sebaiknya gabungkan detail untuk sumber dan sink yang digunakan dengan tugas Dataflow Anda. Tim penjualan Google Cloud dapat membantu Anda berupaya memenuhi persyaratan.

Penempatan regional

Secara default, region yang Anda pilih akan mengonfigurasi kumpulan pekerja Dataflow untuk menggunakan semua zona yang tersedia dalam region. Pemilihan zona dihitung untuk setiap pekerja pada saat 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 zona, karena pekerja dapat terus dibuat di zona lain dengan ketersediaan yang tersisa.
  • Keandalan yang lebih baik: Jika terjadi kegagalan zona, 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. Misalnya, jika VM menjadi tidak tersedia, 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.

Melihat zona resource tugas

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

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

  • Untuk melihat zona layanan di konsol Google Cloud, gunakan kolom Service zones di panel Job info.

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

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 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 kehabisan stok terjadi 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, jika zona tidak tersedia, backend streaming juga dapat menjadi tidak tersedia, yang dapat menyebabkan hilangnya data.

Menentukan region

Untuk menentukan region tugas, tetapkan opsi --region ke salah satu region yang didukung. Opsi --region akan 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 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 zona jika resource Compute Engine yang memadai tidak tersedia.

Anda dapat menjalankan perintah gcloud compute regions list untuk melihat listingan 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 tersebut. Dalam hal ini, zona terbaik akan otomatis dipilih berdasarkan kapasitas yang tersedia. Gunakan --region untuk menentukan region tugas. Tindakan ini memastikan bahwa Dataflow mengelola tugas Anda dan memproses data dalam region yang ditentukan.
Saya perlu pemrosesan pekerja terjadi di zona tertentu di 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.