Halaman ini memberikan panduan untuk mendiagnosis dan mengatasi masalah konektivitas jaringan umum untuk workload batch dan sesi interaktif Managed Service untuk Apache Spark. Masalah ini dapat mencegah workload Anda mengakses sumber data, layanan eksternal, atau Google Cloud API yang diperlukan.
Gejala dan pesan error umum
Saat Managed Service untuk Apache Spark mengalami masalah konektivitas, Anda mungkin mengalami error seperti:
Unable to connect to service_name.googleapis.comCould not reach required Google APIsConnection refusedHost unreachableOperation timed outPermission denied(sering kali terkait jaringan jika memblokir panggilan API)
Anda mungkin juga mengalami error terkait akses data di Cloud Storage, BigQuery, atau database lainnya.
Penyebab umum dan tips pemecahan masalah
Bagian ini mencantumkan penyebab umum masalah konektivitas Managed Service untuk Apache Spark, dan memberikan tips pemecahan masalah untuk membantu Anda mengatasinya.
Konfigurasi jaringan
Kesalahan konfigurasi jaringan sering kali menjadi penyebab kegagalan konektivitas. Workload dan sesi Managed Service untuk Apache Spark berjalan di VM dengan alamat IP internal, dengan Akses Google Pribadi (PGA) yang otomatis diaktifkan di subnet workload atau sesi untuk mengakses Google API dan layanan. Untuk mengetahui informasi selengkapnya, lihat Konfigurasi jaringan Managed Service untuk Apache Spark.
Opsi akses:
Private Service Connect (PSC): Anda dapat membuat endpoint pribadi dalam jaringan VPC untuk mengakses Google API tertentu.
- Di Google Cloud konsol, buka
Private Service Connect > Endpoints.
Hubungkan endpoint atau konfirmasi bahwa endpoint terhubung untuk semua API yang diperlukan, seperti
storage.googleapis.comdandataproc.googleapis.com, dan bahwa endpoint tersebut terhubung ke jaringan Virtual Private Cloud workload atau sesi batch.
- Di Google Cloud konsol, buka
Private Service Connect > Endpoints.
Hubungkan endpoint atau konfirmasi bahwa endpoint terhubung untuk semua API yang diperlukan, seperti
Cloud NAT: Jika workload Anda perlu mengakses internet publik, Anda dapat mengonfigurasi Cloud NAT untuk subnet workload atau sesi batch:
- Di Google Cloud konsol, buka halaman
Cloud NAT.
Konfigurasi gateway atau konfirmasi bahwa gateway dikonfigurasi untuk jaringan VPC, region, dan subnet workload atau sesi batch. Pastikan juga aturan firewall mengizinkan traffic keluar ke
0.0.0.0/0. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan Cloud NAT.
- Di Google Cloud konsol, buka halaman
Cloud NAT.
Konfigurasi gateway atau konfirmasi bahwa gateway dikonfigurasi untuk jaringan VPC, region, dan subnet workload atau sesi batch. Pastikan juga aturan firewall mengizinkan traffic keluar ke
Aturan firewall:
- Aturan firewall keluar di jaringan VPC Anda (atau project host jaringan VPC bersama, jika berlaku) tidak boleh memblokir traffic keluar ke tujuan yang diperlukan.
- Jika berlaku, aturan keluar harus mengizinkan traffic ke layanan eksternal, seperti API publik dan database di luar Google Cloud. Jika workload atau sesi batch Anda memerlukan akses internet, Anda dapat menggunakan Cloud NAT untuk menyediakan traffic keluar subnet.
- Meskipun bukan penyebab umum masalah konektivitas, aturan masuk yang terlalu ketat mungkin secara tidak sengaja memblokir traffic kembali yang diperlukan atau komunikasi internal.
- Aturan firewall keluar di jaringan VPC Anda (atau project host jaringan VPC bersama, jika berlaku) tidak boleh memblokir traffic keluar ke tujuan yang diperlukan.
Resolusi DNS:
- Resolusi DNS harus dikonfigurasi dalam jaringan VPC. Workload dan sesi harus dapat me-resolve nama host untuk Google API, seperti
storage.googleapis.comataubigquery.googleapis.com, dan layanan eksternal. - Server DNS kustom dan zona pribadi Cloud DNS harus meneruskan atau me-resolve kueri untuk domain Google.
- Jika Anda menggunakan Private Service Connect untuk akses pribadi ke Google API, data DNS untuk layanan Google harus di-resolve ke alamat IP pribadi dalam jaringan VPC Anda menggunakan endpoint PSC.
- Resolusi DNS harus dikonfigurasi dalam jaringan VPC. Workload dan sesi harus dapat me-resolve nama host untuk Google API, seperti
Tips pemecahan masalah:
Identifikasi konfigurasi jaringan dan subnet:
- Dari detail batch atau sesi Managed Service untuk Apache Spark, tinjau
networkUridansubnetUri. - Di Google Cloud konsol, tinjau setelan untuk jaringan dan subnet VPC.
- Dari detail batch atau sesi Managed Service untuk Apache Spark, tinjau
Uji konektivitas dari VM Proxy:
- Luncurkan VM Compute Engine pengujian di subnet batch atau sesi menggunakan akun layanan batch atau sesi.
- Dari VM pengujian, lakukan pengujian konektivitas berikut:
nslookup storage.googleapis.comuntuk memverifikasi resolusi DNS. Cari domain Google API lainnya, sepertibigquery.googleapis.comdandataproc.googleapis.com. Dengan Akses Google Pribadi, yang otomatis diaktifkan di subnet Managed Service untuk Apache Spark, atau Private Service Connect, domain harus di-resolve ke alamat IP pribadi.curl -v https://storage.googleapis.comuntuk memverifikasi konektivitas HTTPS ke Google API. Coba juga hubungkan ke layanan Google lainnya.ping 8.8.8.8untuk menguji konektivitas internet jika diperlukan oleh batch atau sesi Anda. Cobacurl -v https://example.comjika Cloud NAT diharapkan.
- Jalankan Google Cloud pengujian konektivitas Network Intelligence Center untuk mendiagnosis jalur jaringan dari subnet Anda ke endpoint yang relevan, seperti Google API dan alamat IP eksternal.
Tinjau Cloud Logging untuk mengetahui error jaringan:
- Tinjau Logging untuk workload atau sesi Managed Service untuk Apache Spark Anda. Cari pesan
ERRORatauWARNINGyang terkait dengan waktu tunggu jaringan habis, koneksi ditolak, atau kegagalan panggilan API. Filter menurutjsonPayload.component="driver"ataujsonPayload.component="executor"untuk masalah jaringan khusus Spark.
- Tinjau Logging untuk workload atau sesi Managed Service untuk Apache Spark Anda. Cari pesan
Izin IAM
Izin IAM yang tidak memadai dapat mencegah workload atau sesi mengakses resource, sehingga menyebabkan kegagalan jaringan jika panggilan API ditolak.
Akun layanan yang digunakan oleh workload atau sesi batch Anda harus memiliki peran yang diperlukan:
- Peran Pekerja Managed Service untuk Apache Spark (
roles/dataproc.worker). - Peran akses data, seperti
roles/storage.objectVieweratauroles/bigquery.dataViewer). - Logging: (
roles/logging.logWriter).
Tips pemecahan masalah:
- Identifikasi akun layanan workload atau sesi batch . Jika tidak ditentukan, akun layanan akan ditetapkan secara default ke akun layanan default Compute Engine.
- Buka halaman IAM & Admin > IAM di Google Cloud konsol, temukan akun layanan workload atau sesi batch, lalu verifikasi bahwa akun tersebut memiliki peran yang diperlukan untuk operasi workload. Berikan peran yang tidak ada.
Konfigurasi layanan eksternal
Jika workload Anda terhubung ke database atau layanan di luar Google Cloud, verifikasi konfigurasinya:
- Verifikasi firewall layanan eksternal atau grup keamanan mengizinkan koneksi masuk dari rentang IP jaringan VPC Anda: jika berlaku, periksa alamat IP internal menggunakan VPC Peering, Cloud VPN, atau Cloud Interconnect, atau alamat IP Cloud NAT.
- Tinjau kredensial database atau string konektivitas. Periksa detail koneksi, nama pengguna, dan sandi.
Langkah berikutnya
- Pelajari tentang jaringan Managed Service untuk Apache Spark.
- Tinjau akun layanan Managed Service untuk Apache Spark.
- Lihat panduan pemecahan masalah jaringan umum: