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:
- Buat filter pengecualian
untuk sink perute log
_Defaultguna mencegah log Dataflow diekspor ke bucket log_Default. - Buat bucket log di region pilihan Anda.
- 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:
- Saat menggunakan bucket Cloud Storage sebagai sumber, sebaiknya Anda melakukan operasi baca di region yang sama dengan bucket.
- TopikPub/Sub, saat dipublikasikan ke endpoint Pub/Sub global, disimpan di region terdekat Google Cloud . Namun, Anda dapat mengubah kebijakan penyimpanan topik ke region tertentu atau sekumpulan region. Demikian pula, topik Pub/Sub Lite hanya mendukung penyimpanan zonal.
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
ServiceResourceskolom.
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 |