Memecahkan masalah kesalahan: “Runtime Azure Functions tidak dapat dijangkau”
Artikel ini membantu Anda memecahkan masalah untai (karakter) kesalahan berikut yang muncul di portal Microsoft Azure:
"Kesalahan: Runtime Azure Functions tidak dapat dijangkau. Klik di sini untuk detail tentang konfigurasi penyimpanan."
Masalah ini terjadi ketika runtime Functions tidak dapat dimulai. Alasan paling umum untuk ini adalah bahwa aplikasi fungsi telah kehilangan akses ke akun penyimpanannya. Untuk informasi selengkapnya, lihat Persyaratan akun Storage.
Artikel lainnya membantu Anda memecahkan masalah spesifik penyebab kesalahan ini, termasuk cara mengidentifikasi dan menyelesaikan setiap kasus.
Akun penyimpanan telah dihapus
Setiap aplikasi fungsi memerlukan akun penyimpanan untuk beroperasi. Jika akun tersebut dihapus, fungsi Anda tidak akan berfungsi.
Mulailah dengan mencari nama akun penyimpanan Anda di pengaturan aplikasi Anda. Baik AzureWebJobsStorage atau WEBSITE_CONTENTAZUREFILECONNECTIONSTRING berisi nama akun penyimpanan Anda sebagai bagian dari string koneksi. Untuk informasi selengkapnya, lihat Referensi pengaturan aplikasi untuk Azure Functions.
Cari akun penyimpanan Anda di portal Microsoft Azure untuk melihat apakah masih ada. Jika telah dihapus, buat ulang akun penyimpanan dan ganti string koneksi penyimpanan Anda. Kode fungsi Anda hilang, dan Anda perlu menyebarkan ulang.
Pengaturan aplikasi akun penyimpanan dihapus
Pada langkah sebelumnya, jika Anda tidak dapat menemukan string koneksi akun penyimpanan, kemungkinan itu dihapus atau ditimpa. Menghapus pengaturan aplikasi paling sering terjadi saat Anda menggunakan slot penyebaran atau skrip Azure Resource Manager untuk mengatur pengaturan aplikasi.
Pengaturan aplikasi yang diperlukan
- Wajib diisi:
- Diperlukan untuk fungsi paket Premium:
Untuk informasi selengkapnya, lihat Referensi pengaturan aplikasi untuk Azure Functions.
Panduan
- Jangan periksa pengaturan slot untuk salah satu pengaturan ini. Jika Anda menukar slot penyebaran, aplikasi fungsi akan rusak.
- Jangan ubah pengaturan ini sebagai bagian dari penyebaran otomatis.
- Pengaturan ini harus disediakan dan valid pada waktu pembuatan. Penyebaran otomatis yang tidak berisi pengaturan ini menghasilkan aplikasi fungsi yang tidak akan berjalan, meskipun pengaturan ditambahkan nanti.
Kredensial akun penyimpanan tidak valid
String koneksi akun penyimpanan yang dibahas sebelumnya harus diperbarui jika Anda meregenerasi kunci penyimpanan. Untuk informasi selengkapnya tentang manajemen kunci penyimpanan, lihat Membuat akun Azure Storage.
Akun penyimpanan tidak dapat diakses
Aplikasi fungsi Anda harus dapat mengakses akun penyimpanan. Masalah umum yang memblokir akses aplikasi fungsi ke akun penyimpanan adalah:
Aplikasi fungsi disebarkan ke Lingkungan App Service (ASE) Anda tanpa aturan jaringan yang benar untuk memungkinkan lalu lintas ke dan dari akun penyimpanan.
Firewall akun penyimpanan diaktifkan dan tidak dikonfigurasi untuk memungkinkan lalu lintas ke dan dari fungsi. Untuk informasi selengkapnya, lihat Mengonfigurasi firewall Azure Storage dan jaringan virtual.
Verifikasi bahwa pengaturan
allowSharedKeyAccessyang diatur ketrueyang merupakan nilai defaultnya. Untuk informasi selengkapnya, lihat Mencegah otorisasi Kunci Bersama untuk akun Azure Storage.
Kuota eksekusi harian penuh
Jika Anda memiliki kuota eksekusi harian yang dikonfigurasi, aplikasi fungsi Anda dinonaktifkan sementara, yang menyebabkan banyak kontrol portal menjadi tidak tersedia.
Untuk memverifikasi kuota di portal Microsoft Azure, pilih Fitur Platform>Pengaturan Aplikasi Fungsi di aplikasi fungsi Anda. Jika Anda melebihi Kuota Penggunaan Harian yang telah Anda tetapkan, pesan berikut ditampilkan:
"Aplikasi Fungsi telah mencapai kuota penggunaan harian dan telah dihentikan hingga jangka waktu 24 jam ke depan."
Untuk mengatasi masalah ini, hapus atau tingkatkan kuota harian, lalu mulai ulang aplikasi Anda. Jika tidak, eksekusi aplikasi Anda diblokir hingga hari berikutnya.
Aplikasi berada di belakang firewall
Aplikasi fungsi Anda mungkin tidak dapat dijangkau karena salah satu alasan berikut:
Aplikasi fungsi Anda diselenggarakan di Lingkungan App Service seimbang secara internal dan dikonfigurasi untuk memblokir lalu lintas internet masuk.
Aplikasi fungsi Anda memiliki batasan IP masuk yang dikonfigurasi untuk memblokir akses internet.
Portal Microsoft Azure melakukan panggilan langsung ke aplikasi yang sedang berjalan untuk mengambil daftar fungsi, dan melakukan panggilan HTTP ke titik akhir Kudu. Pengaturan tingkat platform di bawah tab Fitur Platform masih tersedia.
Untuk memverifikasi konfigurasi ASE Anda:
- Buka kelompok keamanan jaringan (NSG) subnet tempat ASE berada.
- Validasi aturan masuk untuk memungkinkan lalu lintas yang berasal dari IP publik komputer tempat Anda mengakses aplikasi.
Anda juga dapat menggunakan portal dari komputer yang terhubung ke jaringan virtual yang menjalankan aplikasi Anda atau ke komputer virtual yang berjalan di jaringan virtual Anda.
Untuk informasi selengkapnya tentang konfigurasi aturan masuk, lihat bagian "Kelompok Keamanan Jaringan" dari pertimbangan Jaringan untuk Lingkungan App Service.
Gambar kontainer tidak tersedia (Linux)
Untuk aplikasi fungsi Linux yang dijalankan dari kontainer, kesalahan "Azure Functions runtime tidak dapat dijangkau" dapat terjadi saat gambar kontainer yang direferensikan tidak tersedia atau gagal dimulai dengan benar.
Untuk mengonfirmasi bahwa kesalahan disebabkan karena alasan ini:
Navigasi ke titik akhir Kudu untuk aplikasi fungsi, yang terletak di
https://scm.<FUNCTION_APP>.azurewebsites.net, di mana<FUNCTION_APP>adalah nama aplikasi Anda.Unduh file ZIP log Docker dan tinjau secara lokal, atau tinjau log docker dari dalam Kudu.
Periksa kesalahan dalam log yang akan menunjukkan bahwa kontainer tidak berhasil dimulai.
Kesalahan seperti itu perlu diperbaiki agar fungsi berfungsi dengan benar.
Ketika gambar kontainer tidak dapat ditemukan, Anda akan melihat kesalahan manifest unknown di log Docker. Dalam hal ini, Anda dapat menggunakan perintah Azure CLI yang didokumentasikan di Cara menargetkan versi runtime Azure Functions untuk mengubah gambar kontainer yang menjadi referensi. Jika Anda telah menyebarkan gambar kontainer kustom, Anda perlu memperbaiki gambar dan menyebarkan ulang versi yang diperbarui ke registri yang direferensikan.
Langkah berikutnya
Pelajari tentang memantau aplikasi fungsi Anda: