Memecahkan masalah deployment fleksibel App Engine

Dokumen ini menyajikan teknik pemecahan masalah untuk deployment Cloud Endpoints di lingkungan fleksibel App Engine. Jika Anda menerima error dari permintaan ke API Anda, lihat Memecahkan masalah error respons untuk mengetahui informasi tentang cara memecahkan masalah error tersebut.

Error saat deployment

Bagian ini menjelaskan cara memecahkan masalah error dari gcloud app deploy.

Pesan error Pemecahan masalah
Deployment Anda gagal menjadi responsif dalam waktu yang ditentukan dan oleh karena itu di-roll back. Jika Anda yakin ini adalah kesalahan, coba sesuaikan app_start_timeout_sec setelan di bagian readiness_check.

Pastikan file app.yaml Anda memiliki bagian readiness_check dengan nilai untuk app_start_timeout_sec. Jika tidak ada, tambahkan bagian dan tetapkan nilai app_start_timeout_sec ke lebih tinggi dari default 300 detik. Untuk mengetahui informasi selengkapnya, lihat pemeriksaan kesiapan.

Pastikan Anda mengaktifkan semua Google Cloud layanan yang diperlukan Endpoint dan ESP. Lihat Memeriksa layanan yang diperlukan untuk mengetahui detailnya.

Pastikan VPC yang terkait dengan aplikasi fleksibel App Engine Anda memiliki rute statis lokal dengan tujuan 0.0.0.0/0 dan next hop gateway internet default. Jika menggunakan layanan khusus internal pribadi, pastikan PGA diaktifkan di subnet yang dipilih.

Pesan error tentang rollout_strategy

Saat mengonfigurasi app.yaml sebelum men-deploy, Anda harus menambahkan bagian endpoints_api_service. Extensible Service Proxy (ESP) memerlukan setelan yang Anda tentukan di bagian ini untuk mendapatkan konfigurasi layanan Anda. Anda harus menentukan ID konfigurasi di kolom config_id, atau menyertakan opsi rollout_strategy: managed, tetapi tidak keduanya. Opsi ini mengonfigurasi ESP untuk menggunakan konfigurasi layanan terbaru yang di-deploy. Saat Anda menentukan opsi ini, hingga 5 menit setelah Anda men-deploy konfigurasi layanan baru, ESP akan mendeteksi perubahan dan otomatis mulai menggunakannya. Sebaiknya tentukan opsi ini, bukan ID konfigurasi tertentu yang akan digunakan ESP. Contoh:

endpoints_api_service:
  name: example-project-12345.appspot.com
  rollout_strategy: managed

Jika bagian endpoints_api_service tidak menyertakan informasi yang diperlukan ESP untuk mendapatkan konfigurasi layanan, salah satu pesan berikut akan ditampilkan:

Pesan error Pemecahan masalah
config_id dilarang jika rollout_strategy ditetapkan ke "managed" Anda tidak dapat menentukan ID konfigurasi dan rollout_strategy: managed sekaligus. Kecuali jika Anda memiliki alasan untuk menggunakan ID konfigurasi tertentu, sebaiknya hapus config_id: [YOUR_CONFIG_ID] dari app.yaml dan jalankan ulang gcloud app deploy.
config_id harus ditentukan jika rollout_strategy tidak ditentukan atau ditetapkan ke "fixed" Pesan error ini ditampilkan jika app.yaml tidak menyertakan rollout_strategy: managed atau rollout_strategy ditetapkan ke fixed dan Anda belum menentukan ID konfigurasi. Kecuali jika Anda memiliki alasan untuk menggunakan ID konfigurasi tertentu, sebaiknya tambahkan rollout_strategy: managed ke bagian endpoints_api_service dari app.yaml dan jalankan ulang gcloud app deploy.

Melihat log di instance

Log error dan sistem App Engine memberikan informasi tentang alasan aplikasi gagal diluncurkan atau berfungsi sebagaimana mestinya. Anda dapat menemukan informasi penelusuran bug lebih lanjut di log Endpoint.

  1. Di konsol Google Cloud , lakukan SSH ke mesin virtual Anda. Lihat menghubungkan ke instance untuk mengetahui informasi selengkapnya.

  2. Gunakan penampil teks seperti tail:

     tail -f /var/log/nginx/error.log
    

Langkah berikutnya