Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan platform Elastic Beanstalk Tomcat
Topik ini menjelaskan cara mengonfigurasi, membangun, dan menjalankan aplikasi Java Anda yang berjalan di platform Elastic Beanstalk Tomcat.
Platform AWS Elastic Beanstalk Tomcat adalah seperangkat versi platform untuk aplikasi web Java yang dapat berjalan dalam wadah web Tomcat. Tomcat berjalan di belakang server proksi nginx. Setiap cabang platform sesuai dengan versi utama Tomcat.
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.
Platform Tomcat Elastic Beanstalk mencakup proksi terbalik yang meneruskan permintaan ke aplikasi Anda. Anda dapat menggunakan opsi konfigurasi untuk mengonfigurasi server proksi untuk melayani aset statis dari folder di kode sumber Anda untuk mengurangi beban di aplikasi Anda. Untuk skenario lanjutan, Anda dapat menyertakan file .conf milik Anda sendiri di paket sumber Anda untuk memperluas konfigurasi proksi Elastic Beanstalk atau menimpa sepenuhnya.
catatan
Elastic Beanstalk mendukung nginx
Pada tanggal 18 Juli 2022, Elastic Beanstalk menetapkan status semua cabang platform berdasarkan Amazon Linux AMI () untuk pensiun. 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
Anda harus mengemas aplikasi Java di file arsip aplikasi web (WAR) dengan struktur tertentu. Untuk informasi tentang struktur yang diperlukan dan bagaimana kaitannya dengan struktur direktori proyek Anda, lihat Menata folder proyek Anda.
Untuk menjalankan beberapa aplikasi di server web yang sama, Anda dapat memaket beberapa file WAR menjadi paket sumber tunggal. Setiap aplikasi di beberapa paket sumber WAR berjalan di jalur akar (ROOT.war
berjalan di
) atau di jalur yang berada langsung di bawahnya (myapp
.elasticbeanstalk.com/app2.war
berjalan di
), seperti yang ditentukan oleh nama WAR. Di satu paket sumber WAR, aplikasi selalu berjalan di jalur akar.myapp
.elasticbeanstalk.com/app2
/
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.
Topik
Mengonfigurasi lingkungan Tomcat Anda
Platform Elastic Beanstalk Tomcat menyediakan beberapa opsi khusus platform selain opsi standar yang dimiliki semua platform. Opsi ini memungkinkan Anda untuk mengonfigurasi mesin virtual Java (JVM) yang berjalan di server web lingkungan Anda, dan menentukan properti sistem yang menyediakan string konfigurasi informasi untuk aplikasi Anda.
Anda dapat menggunakan konsol Elastic Beanstalk untuk mengaktifkan rotasi log ke Amazon S3 dan mengonfigurasi variabel yang dapat dibaca aplikasi Anda dari lingkungan.
Untuk mengonfigurasi lingkungan Tomcat Anda 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 kontainer JVM
Ukuran tumpukan di mesin virtual Java (JVM) menentukan berapa banyak objek yang dapat dibuat aplikasi Anda di memori sebelum pengumpulan sampah-Xms option
) dan Ukuran Tumpukan JVM Maksimum (opsi). -Xmx
Ukuran tumpukan awal yang lebih besar mengizinkan lebih banyak objek yang akan dibuat sebelum pengumpulan sampah terjadi, tetapi ini juga berarti bahwa pengumpul sampah akan memakan waktu lebih lama untuk memadatkan tumpukan. Ukuran tumpukan maksimum menentukan jumlah maksimum memori yang JVM dapat alokasikan ketika memperluas tumpukan selama aktivitas berat.
catatan
Memori yang tersedia tergantung pada jenis EC2 instans Amazon. Untuk informasi selengkapnya tentang jenis EC2 instans yang tersedia untuk lingkungan Elastic Beanstalk, lihat Jenis Instans di Panduan Pengguna Amazon Elastic Compute Cloud untuk Instans Linux.
Generasi permanen adalah bagian dari tumpukan JVM yang menyimpan definisi kelas dan metadata terkait. Untuk memodifikasi ukuran generasi permanen, ketik ukuran baru di opsi Maximum JVM PermGen Size (-XX:MaxPermSize
). Pengaturan ini hanya berlaku untuk Java 7 dan sebelumnya. Opsi ini tidak digunakan lagi di JDK 8 dan digantikan oleh opsi Size (). MaxMetaspace -XX:MaxMetaspaceSize
penting
JDK 17 menghapus dukungan opsi Java-XX:MaxPermSize
. Penggunaan opsi ini dengan lingkungan yang berjalan pada cabang platform Elastic Beanstalk dengan Corretto 17 akan menghasilkan kesalahan. Elastic Beanstalk merilis cabang platform pertamanya yang menjalankan Tomcat dengan Corretto 17 pada 13 Juli 2023.
Untuk informasi lebih lanjut, lihat sumber daya berikut.
-
Situs dokumentasi Oracle Java: Dihapus Java Options
-
Situs dokumentasi Oracle Java: Bagian Metadata Kelas dalam Pertimbangan Lain
Untuk informasi selengkapnya tentang platform Elastic Beanstalk dan komponennya, lihat Platform yang Didukung dalam panduan Platform.AWS Elastic Beanstalk
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 melayani 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
Di bagian Properti Lingkungan, Anda dapat menentukan pengaturan konfigurasi lingkungan pada EC2 instans Amazon yang menjalankan aplikasi Anda. Properti lingkungan diberikan sebagai pasangan nilai kunci ke aplikasi.
Platform Tomcat menentukan properti placeholder bernama JDBC_CONNECTION_STRING
untuk lingkungan Tomcat untuk melewati string koneksi ke basis data eksternal.
catatan
Jika Anda melampirkan instans DB RDS ke lingkungan Anda, bangun koneksi string JDBC secara dinamis dari properti lingkungan Amazon Relational Database Service (Amazon RDS) yang disediakan oleh Elastic Beanstalk. Gunakan JDBC_CONNECTION_STRING hanya untuk instans basis data yang tidak disediakan menggunakan Elastic Beanstalk.
Untuk informasi selengkapnya tentang menggunakan Amazon RDS dengan aplikasi Java Anda, lihat Menambahkan instans Amazon RDS DB ke lingkungan Java Elastic Beanstalk Anda.
Di dalam lingkungan Tomcat yang berjalan di Elastic Beanstalk, variabel lingkungan dapat diakses menggunakan System.getProperty()
. Sebagai contoh, Anda dapat membaca properti bernama API_ENDPOINT
ke variabel dengan kode berikut.
String endpoint = System.getProperty("API_ENDPOINT");
Lihat Properti lingkungan dan pengaturan perangkat lunak lainnya untuk informasi selengkapnya.
Namespace konfigurasi Tomcat
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.
Platform Tomcat mendukung opsi di namespace berikut, selain opsi yang didukung untuk semua lingkungan Elastic Beanstalk:
-
aws:elasticbeanstalk:container:tomcat:jvmoptions
– Modifikasi pengaturan JVM. Opsi di namespace ini sesuai dengan opsi di konsol manajemen, sebagai berikut:-
Xms
– Opsi baris perintah JVM -
JVM Options
– Opsi baris perintah JVM
-
-
aws:elasticbeanstalk:environment:proxy
– Pilih server proksi lingkungan.
File konfigurasi contoh berikut menunjukkan penggunaan opsi konfigurasi tertentu Tomcat.
contoh .ebextensions/tomcat-settings.config
option_settings:
aws:elasticbeanstalk:container:tomcat:jvmoptions:
Xms: 512m
JVM Options: '-Xmn128m'
aws:elasticbeanstalk:application:environment:
API_ENDPOINT: mywebapi.zkpexsjtmd.us-west-2.elasticbeanstalk.com
aws:elasticbeanstalk:environment:proxy:
ProxyServer: apache
Elastic Beanstalk memberikan banyak opsi konfigurasi untuk menyesuaikan lingkungan Anda. Selain file konfigurasi, Anda juga dapat mengatur opsi konfigurasi menggunakan konsol tersebut, konfigurasi tersimpan, EB CLI, atau AWS CLI. Lihat Opsi konfigurasi untuk informasi selengkapnya.
Jika lingkungan Tomcat Elastic Beanstalk Anda menggunakan versi platform Amazon Linux AMI (Amazon Linux 2 terdahulu), baca informasi tambahan 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 berdasarkan Amazon Linux AMI () untuk pensiun. 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
Platform Tomcat Amazon Linux AMI mendukung opsi tambahan di namespace berikut:
-
aws:elasticbeanstalk:container:tomcat:jvmoptions
– Selain opsi yang disebutkan sebelumnya di halaman ini untuk namespace ini, versi platform Amazon Linux AMI sebelumnya juga mendukung:-
XX:MaxPermSize
– Ukuran generasi permanen JVM maksimum
-
-
aws:elasticbeanstalk:environment:proxy
– Selain memilih server proksi, juga mengonfigurasi kompresi respons.
File konfigurasi contoh berikut menunjukkan penggunaan opsi konfigurasi namespace proksi.
contoh .ebextensions/tomcat-settings.config
option_settings:
aws:elasticbeanstalk:environment:proxy:
GzipCompression: 'true'
ProxyServer: nginx
Untuk men-deploy file konfigurasi .ebextensions
, sertakan mereka di sumber aplikasi Anda. Untuk satu aplikasi, tambahkan .ebextensions
ke file WAR terkompresi dengan menjalankan perintah berikut:
zip -ur
your_application.war
.ebextensions
Untuk aplikasi yang membutuhkan beberapa file WAR, lihat Paketan beberapa file WAR untuk lingkungan Tomcat untuk petunjuk lebih lanjut.