Memecahkan masalah jaringan Looker (Google Cloud core)

Anda dapat mendiagnosis dan menyelesaikan masalah konektivitas masuk dan keluar yang umum untuk instance Looker (Google Cloud core). Memecahkan masalah konfigurasi Private Service Connect, akses layanan pribadi, dan keluar yang dikontrol akan membantu Anda memulihkan koneksi ke penyedia identitas, layanan eksternal, dan backend database.

Kegagalan autentikasi OpenID Connect dengan keluar yang dikontrol

Saat Anda menyiapkan autentikasi OpenID Connect di instance Looker (Google Cloud core) yang dikonfigurasi dengan Private Service Connect dan egress yang dikontrol diaktifkan, autentikasi mungkin gagal.

Gejala

Jika autentikasi gagal, Anda mungkin mengalami salah satu gejala berikut:

  • Endpoint /openidconnect Looker mengalami hang selama sekitar 60 detik di browser sebelum menampilkan error atau waktu tunggu habis dengan error 504 Upstream Request Timeout atau 504 Gateway Timeout.
  • Penyedia identitas Anda menampilkan pesan error yang menunjukkan bahwa URI pengalihan tidak cocok, seperti:

    AADSTS50011: The redirect URI specified in the request does not match the
    redirect URIs configured for the application
    

    Pesan error ini menyesatkan karena URI pengalihan yang Anda konfigurasi di penyedia identitas Anda mungkin sudah benar. Kegagalan sebenarnya terjadi saat Looker (Google Cloud core) tidak dapat menghubungi endpoint token penyedia identitas selama pertukaran backend.

Penyebab

Alur kerja penyediaan otomatis untuk keluar yang terkontrol terkadang gagal membuat rute jaringan Secure Web Proxy (looker-swp-route) yang diperlukan di project tenant Looker (inti Google Cloud).

Jika rute ini tidak ada, permintaan backend dari Looker (inti Google Cloud) ke endpoint token penyedia identitas akan kehabisan waktu karena instance tidak dapat merutekan traffic keluar ke internet publik melalui Secure Web Proxy.

Resolusi

Untuk mengatasi masalah ini, ikuti langkah-langkah berikut untuk mereset konfigurasi keluar yang dikontrol guna memaksa sistem membuat ulang rute jaringan yang hilang:

  1. Di konsol Google Cloud , buka halaman Looker:

    Buka Looker

  2. Klik nama instance yang ingin Anda perbarui.

  3. Klik Edit.

  4. Luaskan bagian Connections, lalu buka bagian Configure outbound connections.

  5. Catat semua nama domain yang sepenuhnya memenuhi syarat (FQDN) yang ada dan tercantum di bagian FQDN Global (seperti endpoint penyedia identitas Anda).

  6. Hapus semua FQDN yang tercantum di bagian FQDN Global.

  7. Hapus centang pada kotak Izinkan Looker terhubung ke layanan eksternal untuk menonaktifkan keluar yang dikontrol.

  8. Klik Simpan.

  9. Tunggu hingga update instance selesai dan perubahan konfigurasi dihapus.

  10. Klik Edit lagi.

  11. Luaskan bagian Connections dan centang kotak Enable Looker to connect to external services.

  12. Di bagian FQDN Global, tambahkan kembali FQDN yang diperlukan untuk penyedia identitas dan layanan eksternal lainnya.

  13. Klik Simpan.

Mereset egress yang dikontrol akan memicu proses penyediaan otomatis untuk membuat ulang rute jaringan looker-swp-route yang hilang. Setelah rute dibuat, permintaan backend keluar ke penyedia identitas dapat diselesaikan.

Error 504 Upstream Request Timeout

Saat Anda melakukan panggilan API, menjalankan kueri yang berjalan lama, atau mengautentikasi dengan layanan eksternal di instance Looker (Google Cloud core), permintaan mungkin gagal dengan error waktu tunggu HTTP 504.

Gejala

Anda mungkin menerima error 504 Upstream Request Timeout atau 504 Gateway Timeout dalam salah satu skenario berikut:

  • Panggilan atau kueri API masuk: Panggilan API ke endpoint Looker, seperti /result_format, atau kueri yang berjalan lama di UI Looker gagal dengan error 504 setelah sekitar 30 detik di instance yang di-proxy oleh load balancer.
  • Autentikasi keluar atau koneksi layanan eksternal: Anda menerima error 504 di browser setelah kembali dari halaman login penyedia identitas atau saat terhubung ke layanan eksternal di instance dengan keluar yang dikontrol diaktifkan.

Penyebab

Error waktu tunggu 504 biasanya terjadi karena salah satu alasan berikut:

  • Waktu tunggu layanan backend load balancer untuk permintaan masuk: Saat instance Looker (Google Cloud core) Anda diakses melalui load balancer Cloud Load Balancing, layanan backend load balancer memiliki waktu tunggu layanan backend default 30 detik. Jika waktu eksekusi kueri database gabungan dan waktu rendering payload Looker melebihi batas waktu ini, load balancer akan menutup koneksi dan menampilkan error HTTP 504.
  • Domain keluar yang diblokir dengan keluar yang dikontrol: Instance Looker (inti Google Cloud) tidak dapat menjangkau domain eksternal melalui keluar yang dikontrol. Tidak seperti error rute yang tidak ada, error 504 selama permintaan keluar biasanya berarti jalur jaringan ada, tetapi domain yang diperlukan tidak ada dalam daftar yang diizinkan FQDN Global dan diblokir, atau waktu permintaan habis di gateway.

Resolusi

Bergantung pada penyebab error, selesaikan langkah-langkah di bagian berikut untuk mengatasi masalah.

Menyelesaikan masalah waktu tunggu load balancer pada panggilan atau kueri API

Untuk mengatasi error 504 yang disebabkan oleh waktu tunggu layanan backend load balancer habis, gunakan salah satu atau kedua metode berikut:

  • Tingkatkan waktu tunggu layanan backend load balancer:

    1. Di konsol Google Cloud , buka halaman Load balancing:

      Buka Load balancing

    2. Klik Backend, lalu klik nama layanan backend yang terkait dengan instance Looker (Google Cloud core) Anda.

    3. Klik Edit.

    4. Di kolom Waktu tunggu, tingkatkan nilai waktu tunggu, misalnya dari 30 detik menjadi 300 detik, untuk mengakomodasi kueri dan permintaan API yang berjalan paling lama.

    5. Klik Simpan.

  • Gunakan alur kerja API asinkron: Jika Anda memanggil Looker API untuk mengambil data kueri dan tidak dapat mengubah waktu tunggu load balancer, gunakan endpoint asinkron, bukan permintaan sinkron. Panggil create_query_task untuk memulai kueri secara asinkron, lalu polling query_task_results untuk mengambil hasil setelah kueri selesai.

Mengatasi waktu tunggu traffic keluar yang dikontrol

Untuk mengatasi error 504 yang terjadi saat Looker (Google Cloud core) gagal terhubung ke layanan eksternal atau penyedia identitas dengan egress yang dikontrol diaktifkan, ikuti langkah-langkah berikut:

  1. Verifikasi FQDN yang diperlukan: Di konsol Google Cloud , verifikasi bahwa semua domain yang diperlukan oleh layanan eksternal atau penyedia identitas Anda telah ditambahkan ke daftar FQDN Global. Alur autentikasi OIDC sering kali memerlukan beberapa endpoint (seperti endpoint otorisasi, token, dan informasi pengguna) yang mungkin menggunakan domain yang berbeda.
  2. Ambil rekaman aktivitas jaringan: Jika error berlanjut, ambil rekaman aktivitas jaringan browser (file HAR) saat mereproduksi masalah. Telusuri rekaman aktivitas untuk menemukan kode status 504 atau permintaan HTTP yang gagal untuk mengidentifikasi domain yang dihubungi selama alur, tetapi tidak disertakan dalam daftar FQDN Global Anda.
  3. Reset konfigurasi: Jika FQDN yang diperlukan ada, tetapi permintaan terus mengalami waktu tunggu habis, ikuti langkah-langkah di Penyelesaian untuk kegagalan autentikasi OpenID Connect guna mereset konfigurasi egress yang dikontrol.

Masa berlaku eksekusi HttpClient:ConnectTimeoutError telah berakhir

Saat menguji koneksi OpenID Connect atau koneksi jaringan eksternal lainnya di panel Admin Looker, pengujian koneksi mungkin gagal dengan error waktu tunggu.

Gejala

Saat Anda menjalankan uji koneksi di panel Admin Looker (seperti di halaman Autentikasi OpenID Connect), Looker akan menampilkan error berikut:

HttpClient:ConnectTimeoutError execution expired

Penyebab

Error ini menunjukkan bahwa instance Looker (inti Google Cloud) tidak memiliki jalur jaringan yang diperlukan untuk berkomunikasi dengan layanan eksternal atau penyedia identitas. Masalah ini biasanya terjadi jika salah satu kondisi berikut terpenuhi:

  • Propagasi rute tidak ada: Cloud Router menggunakan setelan default dan tidak mempropagasi rute jaringan VPC (seperti rute yang diiklankan kustom) ke instance Looker (inti Google Cloud).
  • NEG internet tidak ada: Grup endpoint jaringan (NEG) internet tidak dikonfigurasi di jaringan VPC Anda untuk merutekan traffic ke layanan eksternal.

Resolusi

Untuk menyelesaikan masalah ini, ikuti langkah berikut:

  1. Konfigurasi propagasi rute Cloud Router: Pastikan Cloud Router dikonfigurasi untuk menyebarkan rute jaringan VPC yang diperlukan ke instance Looker (Google Cloud core) Anda dengan menyiapkan rute yang diiklankan kustom.
  2. Konfigurasi NEG internet: Siapkan NEG internet di jaringan VPC Anda untuk memungkinkan instance Looker (inti Google Cloud) merutekan traffic keluar ke penyedia atau layanan identitas eksternal.
  3. Verifikasi akses layanan pribadi: Untuk instance yang menggunakan akses layanan pribadi, pastikan jaringan VPC Anda di-peering dengan benar ke layanan Google. Untuk mengetahui informasi selengkapnya, lihat Mengakses layanan eksternal menggunakan akses layanan pribadi.

Masalah koneksi Private Service Connect ke selatan

Untuk instance Looker (Google Cloud core) yang menggunakan Private Service Connect untuk koneksi keluar ke backend database atau layanan yang dipublikasikan, Anda mungkin mengalami error koneksi meskipun status endpoint adalah Accepted.

Masalah umum meliputi:

  • Error resolusi nama host: Jika Looker (inti Google Cloud) menampilkan error Unknown host saat menguji koneksi, verifikasi bahwa nama host yang dikonfigurasi cocok dengan data DNS di jaringan pribadi Anda dan load balancer backend berfungsi dengan baik.
  • Waktu tunggu koneksi habis: Jika waktu tunggu koneksi habis, periksa aturan firewall VPC Anda untuk memverifikasi bahwa traffic masuk diizinkan dari subnet NAT Private Service Connect ke backend load balancer Anda.
  • Status Tertunda atau Ditutup: Jika status lampiran layanan adalah Pending atau Closed, periksa apakah project konsumen berada dalam daftar yang diizinkan lampiran layanan dan apakah pemeriksaan kondisi TCP wajib dikonfigurasi.

Untuk mengetahui alur kerja diagnostik mendetail dan hierarki keputusan, lihat Memecahkan masalah koneksi Private Service Connect ke selatan.

Masalah konektivitas dan rute akses layanan pribadi

Untuk instance Looker (inti Google Cloud) yang menggunakan akses layanan pribadi, komunikasi keluar ke layanan eksternal memerlukan propagasi rute dan infrastruktur jaringan yang tepat:

  • Penyebaran rute: Pastikan Cloud Router dikonfigurasi untuk menyebarkan rute jaringan VPC ke instance Looker (inti Google Cloud), seperti rute kustom yang diiklankan.
  • Grup endpoint jaringan internet: Jika instance Anda perlu menjangkau endpoint eksternal melalui akses layanan pribadi, pastikan grup endpoint jaringan (NEG) internet dikonfigurasi di jaringan VPC Anda.

Jika rute atau grup endpoint ini tidak ada, uji koneksi ke endpoint eksternal akan gagal dengan error HttpClient:ConnectTimeoutError execution expired.

Untuk mengetahui informasi selengkapnya, lihat Mengakses layanan eksternal menggunakan akses layanan pribadi.

Alat dan log diagnostik

Gunakan alat dan log berikut untuk membantu mendiagnosis masalah jaringan:

  • Cloud Logging: Lihat log tingkat instance di Cloud Logging untuk mengidentifikasi kegagalan koneksi dan peristiwa sistem. Untuk mengetahui informasi selengkapnya, lihat Melihat log instance.
  • Aktivitas Sistem Looker: Jika Anda dapat login sebagai administrator, tinjau dasbor Aktivitas Pengguna di Aktivitas Sistem. Dasbor ini menampilkan kegagalan login terbaru, metode autentikasi yang digunakan, dan pesan error. Untuk mengetahui informasi selengkapnya, lihat Dasbor Aktivitas Pengguna.
  • VPC Flow Logs: Periksa VPC Flow Logs untuk menentukan apakah traffic jaringan dari Looker (inti Google Cloud) mencapai subnet tujuan Anda atau diblokir oleh aturan firewall.
  • Cloud Customer Care: Jika Anda telah menyelesaikan langkah-langkah pemecahan masalah dan masalah berlanjut, hubungi Cloud Customer Care untuk mendapatkan bantuan.