Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memecahkan masalah Amplify umum
Informasi berikut dapat membantu Anda memecahkan masalah pada Amplify Hosting.
Topik
Kode status HTTP 429 (Terlalu banyak permintaan)
Amplify mengontrol jumlah permintaan per detik (RPS) ke situs web Anda berdasarkan waktu pemrosesan dan transfer data yang digunakan permintaan masuk. Jika aplikasi Anda mengembalikan kode status HTTP 429, permintaan masuk melebihi jumlah waktu pemrosesan dan transfer data yang dialokasikan ke aplikasi Anda. Batas aplikasi ini dikelola oleh kuota REQUEST_TOKENS_PER_SECOND
layanan Amplify. Untuk informasi selengkapnya tentang kuota, lihatKuota layanan Amplify Hosting.
Untuk memperbaiki masalah ini, kami sarankan mengoptimalkan aplikasi Anda untuk mengurangi durasi permintaan dan transfer data untuk meningkatkan RPS aplikasi. Misalnya, dengan 20.000 token yang sama, halaman SSR yang sangat dioptimalkan yang merespons dalam 100 milidetik dapat mendukung RPS yang lebih tinggi dibandingkan dengan halaman dengan latensi lebih tinggi dari 200 milidetik.
Demikian pula, aplikasi yang mengembalikan ukuran respons 1 MB akan mengkonsumsi lebih banyak token daripada aplikasi yang mengembalikan ukuran respons 250 KB.
Kami juga menyarankan Anda memanfaatkan CloudFront cache Amazon dengan mengonfigurasi Cache-Control header yang memaksimalkan waktu respons yang diberikan disimpan dalam cache. Permintaan yang disajikan dari CloudFront cache tidak dihitung terhadap batas tarif. Setiap CloudFront distribusi dapat menangani hingga 250.000 permintaan per detik, memungkinkan Anda untuk menskalakan aplikasi Anda dengan sangat tinggi menggunakan cache. Untuk informasi selengkapnya tentang CloudFront cache, lihat Mengoptimalkan caching dan ketersediaan di Panduan CloudFront Pengembang Amazon.
Konsol Amplify tidak menampilkan status build dan waktu pembaruan terakhir untuk aplikasi saya
Saat Anda menavigasi ke halaman Semua aplikasi di konsol Amplify, ubin akan ditampilkan untuk setiap aplikasi Anda di Wilayah saat ini. Jika Anda tidak melihat status build, seperti Deployed, dan Waktu pembaruan terakhir ditampilkan untuk aplikasi, aplikasi tidak memiliki cabang Production
tahap yang terkait dengannya.
Untuk membuat daftar aplikasi di konsol, Amplify menggunakan API. ListApps
Amplify menggunakan ProductionBranch.status
atribut untuk menampilkan status build dan ProductionBranch.lastDeployTime
atribut untuk menampilkan waktu pembaruan terakhir. Untuk informasi selengkapnya tentang API ini, lihat ProductionBranchdi dokumentasi Amplify Hosting API.
Gunakan petunjuk berikut untuk mengaitkan Production
stage ke cabang aplikasi Anda.
-
Masuk ke konsol Amplify
. -
Di halaman Semua aplikasi, pilih aplikasi yang akan diperbarui.
-
Di panel navigasi pilih Pengaturan aplikasi, lalu Pengaturan cabang.
-
Di bagian Pengaturan cabang, pilih Edit.
-
Untuk cabang Produksi, pilih nama cabang yang ingin Anda gunakan.
-
Pilih Simpan.
-
Kembali ke halaman Semua aplikasi. Status build dan waktu pembaruan terakhir sekarang harus ditampilkan untuk aplikasi Anda.
Pratinjau web tidak dibuat untuk permintaan tarik baru
Fitur pratinjau web memungkinkan Anda untuk melihat pratinjau perubahan dari permintaan tarik sebelum menggabungkannya ke cabang integrasi. Pratinjau web men-deploy setiap permintaan tarik ke repositori Anda ke URL pratinjau unik yang berbeda dari URL yang digunakan situs utama Anda.
Jika Anda telah mengaktifkan pratinjau web untuk aplikasi Anda, tetapi pratinjau tersebut tidak dibuat untuk yang baru PRs, selidiki apakah salah satu dari berikut ini adalah penyebab masalah Anda.
-
Periksa untuk melihat apakah aplikasi Anda telah mencapai kuota
Branches per app
layanan maksimal. Untuk informasi selengkapnya tentang kuota, lihatKuota layanan Amplify Hosting.Untuk tetap berada dalam kuota default 50 cabang per aplikasi, pertimbangkan untuk mengaktifkan penghapusan cabang otomatis di aplikasi Anda. Ini akan mencegah Anda mengumpulkan cabang di akun Anda yang tidak lagi ada di repositori Anda.
-
Jika Anda menggunakan GitHub repositori publik dan aplikasi Amplify Anda memiliki peran layanan IAM yang melekat padanya, Amplify tidak membuat pratinjau untuk alasan keamanan. Misalnya, aplikasi dengan backend dan aplikasi yang digunakan ke platform
WEB_COMPUTE
hosting memerlukan peran layanan IAM. Oleh karena itu, Anda tidak dapat mengaktifkan pratinjau web untuk jenis aplikasi ini jika repositori mereka bersifat publik.Agar pratinjau web berfungsi untuk aplikasi Anda, Anda dapat memisahkan peran layanan (jika aplikasi tidak memiliki backend atau bukan
WEB_COMPUTE
aplikasi), atau Anda dapat membuat repositori menjadi pribadi. GitHub
Penerapan manual saya macet dengan status tertunda di konsol Amplify
Dengan deployment manual, Anda dapat memublikasikan aplikasi web dengan Amplify Hosting tanpa menghubungkan penyedia Git. Anda dapat menggunakan salah satu dari empat opsi penerapan berikut.
-
Seret dan lepas folder aplikasi Anda di konsol Amplify.
-
Seret dan lepas file.zip (yang berisi artefak build situs Anda) di konsol Amplify.
-
Unggah file.zip (yang berisi artefak build situs Anda) ke bucket Amazon S3 dan sambungkan bucket ke aplikasi di konsol Amplify.
-
Gunakan URL publik yang mengarah ke file.zip (yang berisi artefak build situs Anda) di konsol Amplify.
Kami mengetahui masalah dengan fungsionalitas drag a drop saat menggunakan folder aplikasi untuk penerapan manual di konsol Amplify. Penerapan ini dapat gagal karena alasan berikut.
-
Masalah jaringan transien terjadi.
-
Ada perubahan lokal pada file saat mengunggah.
-
Sesi browser mencoba mengunggah sejumlah besar aset statis secara bersamaan.
Sementara kami berupaya meningkatkan keandalan upload drag and drop kami, kami menyarankan Anda menggunakan file.zip alih-alih menyeret dan menjatuhkan folder aplikasi.
Kami sangat menyarankan untuk mengunggah file.zip ke bucket Amazon S3, karena ini menghindari unggahan file dari konsol Amplify dan memberikan keandalan yang lebih tinggi untuk penerapan manual. Integrasi Amplify dengan Amazon S3 menyederhanakan proses ini. Untuk informasi selengkapnya, lihat Menerapkan situs web statis untuk Amplify dari bucket Amazon S3.
Saya perlu memperbarui versi Node.js aplikasi saya
Amplify dukungan untuk aplikasi yang menggunakan Node.js versi 16 dan 18 berakhir pada 15 September 2025. Aplikasi yang sudah digunakan akan terus berjalan. Namun, setelah tanggal ini, Anda tidak akan dapat menerapkan pembaruan ke aplikasi Anda sampai Anda meningkatkan ke Node.js versi 20 atau yang lebih baru.
Jika Anda menggunakan image build Amazon Linux 2023, Node.js versi 20 didukung secara default. Mulai 15 September 2025, gambar AL2 023 akan secara otomatis mendukung Node.js 22 dan mengubah versi Node.js default dari 18 menjadi 22.
Amazon Linux 2 (AL2) tidak secara otomatis mendukung Node.js versi 20 atau yang lebih baru. Jika saat ini Anda menggunakan AL2, kami sarankan Anda beralih ke AL2 023. Anda dapat mengubah image build di konsol Amplify. Anda juga dapat menggunakan image build kustom yang mendukung versi Node.js yang Anda tentukan.
Sebelum memutakhirkan, kami sarankan Anda menguji aplikasi Anda di cabang baru untuk memverifikasi bahwa itu berfungsi dengan benar.
Opsi peningkatan
- Konsol Amplify
Anda dapat menggunakan fitur pembaruan paket langsung di konsol Amplify untuk menentukan versi Node.js yang akan digunakan. Untuk petunjuk, lihat Menggunakan versi paket dan dependensi tertentu dalam image build.
- Citra build kustom
Jika Anda menggunakan image build kustom dan NVM diinstal pada gambar Anda, Anda dapat menambahkan
nvm install 20
ke Dockerfile Anda. Untuk mempelajari lebih lanjut tentang persyaratan dan instruksi konfigurasi untuk image build kustom, lihatMenyesuaikan gambar build.- Pengaturan Bangunan
Anda dapat menentukan versi Node.js yang akan digunakan dalam pengaturan
amplify.yml
build aplikasi Anda, dengan menambahkannvm use
perintah ke bagian perintah PreBuild. Untuk petunjuk memperbarui pengaturan build aplikasi, lihatMengonfigurasi pengaturan build untuk aplikasi Amplify.Contoh berikut menunjukkan cara menyesuaikan pengaturan build untuk menyetel versi Node.js default ke Node.js 18 dan meningkatkan ke Node.js versi 20 pada cabang pengujian bernama
node-20
.frontend: phases: preBuild: commands: - nvm use 18 - if [ "${AWS_BRANCH}" = "node-20" ]; then nvm use 20; fi
Awas
Ketahuilah bahwa
preBuild
perintah berjalan setelah pembaruan paket langsung. Versi Node.js yang ditentukan olehnvm use
perintah akan mengganti versi Node.js yang ditetapkan oleh pembaruan paket langsung.