Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan platform Node.js Elastic Beanstalk
Topik ini menjelaskan cara mengonfigurasi, membangun, dan menjalankan aplikasi Node.js Anda di Elastic Beanstalk.
AWS Elastic Beanstalk mendukung sejumlah cabang platform untuk berbagai versi bahasa pemrograman Node.js. Lihat Node.js di dokumen AWS Elastic Beanstalk Platform untuk daftar lengkap.
Elastic Beanstalk menyediakan opsi konfigurasi yang dapat Anda gunakan untuk menyesuaikan perangkat lunak yang berjalan di EC2 contoh di lingkungan Elastic Beanstalk Anda. Anda dapat mengonfigurasi variabel lingkungan yang diperlukan oleh aplikasi Anda, mengaktifkan rotasi log ke Amazon S3, dan memetakan folder di sumber aplikasi Anda yang berisi file statis ke jalur yang disajikan oleh server proxy.
Opsi konfigurasi tersedia di konsol Elastic Beanstalk untuk memodifikasi konfigurasi dari lingkungan yang sedang berjalan. Agar Anda tidak kehilangan konfigurasi lingkungan ketika mengakhirinya, Anda dapat menggunakan konfigurasi tersimpan untuk menyimpan pengaturan dan kemudian menerapkannya ke lingkungan lain.
Untuk menyimpan pengaturan di kode sumber, Anda dapat menyertakan file konfigurasi. Pengaturan di file konfigurasi diterapkan setiap kali Anda membuat lingkungan atau men-deploy aplikasi Anda. Anda juga dapat menggunakan file konfigurasi untuk menginstal paket, menjalankan penulisan, dan melakukan operasi penyesuaian instans lainnya selama deployment.
Anda dapat menyertakan Package.json file dalam bundel sumber Anda untuk menginstal paket selama penerapan, untuk memberikan perintah mulai, dan untuk menentukan Node.js versi yang Anda ingin aplikasi Anda gunakan. Anda dapat menyertakan file npm-shrinkwrap.json untuk mengunci versi dependensi.
Bagian Node.js Platform mencakup server proxy untuk melayani aset statis, meneruskan lalu lintas ke aplikasi Anda, dan mengompres respons. Anda dapat memperpanjang atau menimpa konfigurasi proksi default untuk skenario lanjutan.
Ada beberapa opsi untuk memulai aplikasi Anda. Anda dapat menambahkan Procfileke bundel sumber Anda untuk menentukan perintah yang memulai aplikasi Anda. Jika Anda tidak memberikan Procfile
tetapi menyediakan package.json
file, Elastic Beanstalk berjalan. npm start
Jika Anda juga tidak menyediakannya, Elastic Beanstalk app.js
mencari server.js
file atau, dalam urutan ini, dan menjalankan skrip.
Pengaturan yang diterapkan di konsol Elastic Beanstalk mengganti pengaturan yang sama di file konfigurasi, jika ada. Hal tersebut memungkinkan Anda memiliki pengaturan default di file konfigurasi, dan mengganti keduanya dengan pengaturan khusus lingkungan di konsol tersebut. Untuk informasi selengkapnya tentang yang diutamakan, dan metode lain untuk mengubah pengaturan, lihat Opsi konfigurasi.
Untuk detail tentang berbagai cara memperluas platform berbasis Linux Elastic Beanstalk, lihat Memperluas platform Linux Elastic Beanstalk.
Mengkonfigurasi Node.js lingkungan
Anda dapat menggunakan Node.js pengaturan platform untuk menyempurnakan perilaku instans Amazon EC2 Anda. Anda dapat mengedit konfigurasi EC2 instans Amazon untuk lingkungan Elastic Beanstalk menggunakan konsol Elastic Beanstalk.
Gunakan konsol Elastic Beanstalk untuk mengaktifkan rotasi log ke Amazon S3 dan mengonfigurasi variabel yang dapat dibaca aplikasi Anda dari lingkungan.
Untuk mengkonfigurasi Node.js lingkungan di konsol Elastic Beanstalk
Buka konsol Elastic Beanstalk, dan di daftar Wilayah, pilih konsol Elastic
Beanstalk. Wilayah AWS -
Di panel navigasi, pilih Lingkungan, dan kemudian pilih nama lingkungan Anda dari daftar.
catatan
Jika Anda memiliki banyak lingkungan, gunakan bilah pencarian untuk memfilter daftar lingkungan.
Di panel navigasi, pilih Konfigurasi.
-
Dalam kategori konfigurasi Pembaruan, pemantauan, dan pencatatan, pilih Edit.
Opsi kontainer
Anda dapat menentukan opsi khusus platform berikut ini:
-
Server proksi – Server proksi untuk digunakan di instans lingkungan Anda. Secara default, NGINX digunakan.
Opsi log
Bagian Opsi Log memiliki dua pengaturan:
-
Profil instans — Menentukan profil instans yang memiliki izin untuk mengakses bucket Amazon S3 yang terkait dengan aplikasi Anda.
-
Aktifkan rotasi file log ke Amazon S3 — Menentukan apakah file log untuk EC2 instans Amazon aplikasi Anda disalin ke bucket Amazon S3 yang terkait dengan aplikasi Anda.
File statis
Untuk meningkatkan kinerja, Anda dapat menggunakan bagian File statis untuk mengkonfigurasi server proxy untuk menyajikan file statis (misalnya, HTML atau gambar) dari satu set direktori di dalam aplikasi web Anda. Untuk setiap direktori, Anda mengatur jalur virtual ke pemetaan direktori. Saat server proksi menerima permintaan untuk file di jalur yang ditentukan, server langsung menyajikan file daripada merutekan permintaan ke aplikasi Anda.
Untuk detail tentang mengonfigurasi file statis menggunakan file konfigurasi atau konsol Elastic Beanstalk, lihat. Menyajikan file statis
Properti lingkungan
Gunakan bagian Properti Lingkungan untuk menentukan pengaturan konfigurasi lingkungan pada EC2 instance Amazon yang menjalankan aplikasi Anda. Pengaturan ini diteruskan sebagai pasangan nilai kunci ke aplikasi.
Di dalam Node.js lingkungan yang berjalan di AWS Elastic Beanstalk, Anda dapat mengakses variabel lingkungan dengan menjalankanprocess.env.ENV_VARIABLE
.
var endpoint = process.env.API_ENDPOINT
Bagian Node.js platform menetapkan PORT variabel lingkungan ke port yang server proxy meneruskan lalu lintas ke. Untuk informasi selengkapnya, lihat Mengonfigurasi server proksi.
Lihat Properti lingkungan dan pengaturan perangkat lunak lainnya untuk informasi selengkapnya.
Kategori konfigurasi perangkat lunak konsol berikut hanya didukung pada Elastic Beanstalk Node.js lingkungan yang menggunakan versi AMI platform Amazon Linux (sebelum Amazon Linux 2).
Catatan
-
Informasi dalam topik ini hanya berlaku untuk cabang platform berbasis Amazon Linux AMI (AL1). AL2023/ cabang AL2 platform tidak kompatibel dengan versi platform Amazon Linux AMI (AL1) sebelumnya dan memerlukan pengaturan konfigurasi yang berbeda.
-
Pada tanggal 18 Juli 2022, Elastic Beanstalk menetapkan status semua cabang platform berbasis Amazon Linux () untuk pensiun. AMI AL1 Untuk informasi selengkapnya tentang migrasi ke cabang platform Amazon Linux 2023 saat ini dan didukung penuh, lihat. Memigrasi aplikasi Elastic Beanstalk Linux Anda ke Amazon Linux 2023 atau Amazon Linux 2
Di halaman konfigurasi, tentukan hal berikut:
-
Proxy server - Menentukan server web mana yang akan digunakan untuk koneksi proxy Node.js. Secara default, NGINX digunakan. Jika Anda memilih tidak ada, pemetaan file statis tidak berlaku, dan GZIP kompresi dinonaktifkan.
-
Node.js version - Menentukan versi Node.js. Untuk daftar yang didukung Node.js versi, lihat Node.jsdalam panduan AWS Elastic Beanstalk Platform.
-
GZIP kompresi - Menentukan apakah GZIP kompresi diaktifkan. Secara default, GZIP kompresi diaktifkan.
-
Perintah node - Memungkinkan Anda memasukkan perintah yang digunakan untuk memulai Node.js aplikasi. String kosong (default) berarti Elastic
app.js
Beanstalk menggunakanserver.js
, lalu, dan kemudian.npm start
Node.js konfigurasi namespace
Anda dapat menggunakan file konfigurasi untuk mengatur opsi konfigurasi dan melakukan tugas-tugas konfigurasi instans lain selama deployment. Opsi konfigurasi dapat berupa platform khusus atau berlaku untuk semua platform di layanan Elastic Beanstalk secara keseluruhan. Opsi konfigurasi diatur ke dalam ruang nama.
Anda dapat memilih proxy yang akan digunakan pada instance untuk lingkungan Anda dengan menggunakan aws:elasticbeanstalk:environment:proxy
namespace. Contoh berikut mengonfigurasi lingkungan Anda untuk menggunakan Apache
HTTPD server proxy.
contoh .ebextensions/nodejs-settings.config
option_settings:
aws:elasticbeanstalk:environment:proxy:
ProxyServer: apache
Anda dapat mengonfigurasi proksi untuk menyajikan file statis dengan menggunakan namespace aws:elasticbeanstalk:environment:proxy:staticfiles
. Untuk informasi lebih lanjut dan contoh, lihat Menyajikan file statis.
Elastic Beanstalk memberikan banyak opsi konfigurasi untuk menyesuaikan lingkungan Anda. Selain file konfigurasi, Anda juga dapat mengatur opsi konfigurasi menggunakan konsol, konfigurasi tersimpan, EBCLI, atau file. AWS CLI Untuk informasi selengkapnya, lihat Opsi konfigurasi.
Jika Elastic Beanstalk Anda Node.js lingkungan menggunakan versi AMI platform Amazon Linux (sebelumnya Amazon Linux 2), pertimbangkan konfigurasi dan rekomendasi spesifik di bagian ini.
Catatan
-
Informasi dalam topik ini hanya berlaku untuk cabang platform berbasis Amazon Linux AMI (AL1). AL2023/ cabang AL2 platform tidak kompatibel dengan versi platform Amazon Linux AMI (AL1) sebelumnya dan memerlukan pengaturan konfigurasi yang berbeda.
-
Pada tanggal 18 Juli 2022, Elastic Beanstalk menetapkan status semua cabang platform berbasis Amazon Linux () untuk pensiun. AMI AL1 Untuk informasi selengkapnya tentang migrasi ke cabang platform Amazon Linux 2023 saat ini dan didukung penuh, lihat. Memigrasi aplikasi Elastic Beanstalk Linux Anda ke Amazon Linux 2023 atau Amazon Linux 2
Elastic Beanstalk mendukung beberapa opsi konfigurasi khusus platform untuk Amazon Linux AMI Node.js versi platform. Anda dapat memilih server proxy mana yang akan dijalankan di depan aplikasi Anda, pilih versi tertentu Node.js untuk menjalankan, dan pilih perintah yang digunakan untuk menjalankan aplikasi Anda.
Untuk server proxy, Anda dapat menggunakan NGINX atau Apache server proxy. Anda dapat mengatur none
nilai ke ProxyServer
opsi. Dengan pengaturan ini, Elastic Beanstalk menjalankan aplikasi Anda secara mandiri, tidak di belakang server proksi. Jika lingkungan Anda menjalankan aplikasi mandiri, perbarui kode Anda untuk mendengarkan port yang NGINX meneruskan lalu lintas ke.
var port = process.env.PORT || 8080;
app.listen(port, function() {
console.log('Server running at http://127.0.0.1:%s', port);
});
Dalam hal versi bahasa yang didukung, Node.js Platform Amazon Linux berbeda dengan AMI platform yang dikelola Elastic Beanstalk lainnya. Hal ini karena masing-masing Node.js Versi platform hanya mendukung beberapa Node.js versi bahasa. Untuk daftar yang didukung Node.js versi, lihat Node.jsdalam panduan AWS Elastic Beanstalk Platform.
Anda dapat menggunakan opsi konfigurasi spesifik platform untuk mengatur versi bahasa. Untuk petunjuk, silakan lihat Mengkonfigurasi Node.js lingkungan. Atau, gunakan konsol Elastic Beanstalk untuk memperbarui Node.js versi yang digunakan lingkungan Anda sebagai bagian dari memperbarui versi platform Anda.
catatan
Ketika dukungan untuk versi Node.js yang Anda gunakan dihapus dari platform, Anda harus mengubah atau menghapus pengaturan versi sebelum melakukan pembaruan platform. Hal ini mungkin terjadi ketika kelemahan keamanan diidentifikasi untuk satu atau beberapa versi Node.js.
Ketika ini terjadi, mencoba memperbarui ke versi baru platform yang tidak mendukung konfigurasi NodeVersiongagal. Untuk menghindari perlunya membuat lingkungan baru, ubah opsi NodeVersionkonfigurasi ke versi Node.js yang didukung oleh versi platform lama dan yang baru, atau hapus pengaturan opsi, lalu lakukan pembaruan platform.
Untuk mengkonfigurasi lingkungan Anda Node.js versi di konsol Elastic Beanstalk
Buka konsol Elastic Beanstalk, dan di daftar Wilayah, pilih konsol Elastic
Beanstalk. Wilayah AWS -
Di panel navigasi, pilih Lingkungan, dan kemudian pilih nama lingkungan Anda dari daftar.
catatan
Jika Anda memiliki banyak lingkungan, gunakan bilah pencarian untuk memfilter pada daftar lingkungan.
-
Pada halaman gambaran umum lingkungan, di bawah Platform, pilih Ubah.
-
Pada kotak dialog Perbarui versi platform, pilih Node.js versi.
-
Pilih Simpan.
Bagian Node.js AMIPlatform Amazon Linux mendefinisikan opsi tambahan di ruang aws:elasticbeanstalk:container:nodejs
nama aws:elasticbeanstalk:container:nodejs:staticfiles
dan ruang nama.
File konfigurasi berikut memberitahu Elastic Beanstalk npm start
untuk digunakan untuk menjalankan aplikasi. Ini juga mengatur tipe proxy ke Apache dan memungkinkan kompresi. Terakhir, file tersebut mengonfigurasi proksi untuk menyediakan file statis dari dua direktori sumber. Salah satu sumber adalah HTML file di html
jalur di bawah root situs web dari direktori statichtml
sumber. Sumber lainnya adalah file gambar di images
jalur di bawah root situs web dari direktori staticimages
sumber.
contoh .ebextensions/node-settings.config
option_settings:
aws:elasticbeanstalk:container:nodejs:
NodeCommand: "npm start"
ProxyServer: apache
GzipCompression: true
aws:elasticbeanstalk:container:nodejs:staticfiles:
/html: statichtml
/images: staticimages
Elastic Beanstalk memberikan banyak opsi konfigurasi untuk menyesuaikan lingkungan Anda. Selain file konfigurasi, Anda juga dapat mengatur opsi konfigurasi menggunakan konsol, konfigurasi tersimpan, EBCLI, atau file. AWS CLI Untuk informasi selengkapnya, lihat Opsi konfigurasi.