Memecahkan masalah konektivitas batch dan sesi

Halaman ini memberikan panduan tentang mendiagnosis dan menyelesaikan masalah konektivitas jaringan umum untuk workload batch dan sesi interaktif Serverless for Apache Spark. Masalah ini dapat mencegah workload Anda mengakses sumber data, layanan eksternal, atau API yang diperlukan. Google Cloud

Gejala dan pesan error umum

Saat Serverless untuk Apache Spark mengalami masalah konektivitas, Anda mungkin mengalami error seperti:

  • Unable to connect to service_name.googleapis.com
  • Could not reach required Google APIs
  • Connection refused
  • Host unreachable
  • Operation timed out
  • Permission denied (sering kali terkait jaringan jika memblokir panggilan API)

Anda juga dapat 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 Serverless for Apache Spark, dan memberikan tips pemecahan masalah untuk membantu Anda menyelesaikannya.

Konfigurasi jaringan

Kesalahan konfigurasi jaringan sering kali menjadi penyebab kegagalan konektivitas. Workload dan sesi Serverless untuk Apache Spark berjalan di VM dengan alamat IP internal, dengan Akses Google Pribadi (PGA) yang diaktifkan secara otomatis di subnet workload atau sesi untuk mengakses Google API dan layanan Google. Untuk mengetahui informasi selengkapnya, lihat Konfigurasi jaringan Serverless untuk Apache Spark.

  • Opsi akses:

    • Private Service Connect (PSC): Anda dapat membuat endpoint pribadi dalam jaringan VPC untuk mengakses Google API tertentu.

      • Di konsol Google Cloud , buka Private Service Connect > Endpoints. Hubungkan endpoint atau konfirmasi bahwa endpoint terhubung untuk semua API yang diperlukan, seperti storage.googleapis.com dan dataproc.googleapis.com serta pastikan endpoint terhubung ke jaringan Virtual Private Cloud sesi atau workload batch.
    • Cloud NAT: Jika beban kerja Anda perlu mengakses internet publik, Anda dapat mengonfigurasi Cloud NAT untuk beban kerja batch atau subnet sesi Anda:

      • Di konsol Google Cloud , buka halaman Cloud NAT. Konfigurasi gateway atau konfirmasi bahwa gateway dikonfigurasi untuk batch workload atau jaringan VPC, region, dan subnet sesi. Pastikan juga aturan firewall mengizinkan keluar ke 0.0.0.0/0. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan Cloud NAT.
  • Aturan firewall:

    • Aturan firewall traffic 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 beban kerja atau sesi batch Anda memerlukan akses internet, Anda dapat menggunakan Cloud NAT untuk menyediakan keluar subnet.
    • Meskipun bukan penyebab umum masalah konektivitas, aturan ingress yang terlalu ketat dapat secara tidak sengaja memblokir traffic kembali yang diperlukan atau komunikasi internal.
  • Resolusi DNS:

    • Resolusi DNS harus dikonfigurasi dalam jaringan VPC. Workload dan sesi harus dapat menyelesaikan nama host untuk Google API, seperti storage.googleapis.com ataubigquery.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, catatan DNS untuk layanan Google harus di-resolve ke alamat IP pribadi dalam jaringan VPC Anda menggunakan endpoint PSC.

Tips pemecahan masalah:

  • Identifikasi konfigurasi jaringan dan subnet:

    • Dari detail batch atau sesi Serverless untuk Apache Spark, tinjau networkUri dan subnetUri.
    • Di konsol Google Cloud , tinjau setelan untuk jaringan dan subnet VPC.
  • 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.com untuk memverifikasi resolusi DNS. Cari domain Google API lainnya, seperti bigquery.googleapis.com dan dataproc.googleapis.com. Dengan Akses Google Pribadi, yang diaktifkan secara otomatis di subnet Serverless untuk Apache Spark, atau Private Service Connect, domain harus di-resolve ke alamat IP pribadi.
      • curl -v https://storage.googleapis.com untuk memverifikasi konektivitas HTTPS ke Google API. Coba juga hubungkan ke layanan Google lainnya.
      • ping 8.8.8.8 untuk menguji konektivitas internet jika diperlukan oleh batch atau sesi Anda. Coba curl -v https://example.com jika Cloud NAT diharapkan.
    • Jalankan Google Cloud Uji 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 Serverless untuk Apache Spark Anda. Cari pesan ERROR atau WARNING yang terkait dengan waktu tunggu jaringan habis, penolakan koneksi, atau kegagalan panggilan API. Filter menurut jsonPayload.component="driver" atau jsonPayload.component="executor" untuk masalah jaringan khusus Spark.

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 beban kerja atau sesi batch Anda harus memiliki peran yang diperlukan:

  • Peran Pekerja Dataproc (roles/dataproc.worker).
  • Peran akses data, seperti roles/storage.objectViewer atau roles/bigquery.dataViewer).
  • Logging: (roles/logging.logWriter).

Tips pemecahan masalah:

Konfigurasi layanan eksternal

Jika workload Anda terhubung ke database atau layanan di luar Google Cloud, verifikasi konfigurasinya:

  • Verifikasi firewall atau grup keamanan layanan eksternal 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