AWS AppConfig Java Sampel
V2-2024
Ringkasan
Proyek ini adalah demo agen pengembang Amazon Q untuk transformasi kode. Ini adalah aplikasi Microservice berbasis Java 1.8 yang menampilkan daftar film gratis untuk bulan berdasarkan konfigurasi yang disimpan dalam layanan AWS AppConfig menggunakan AWS SDK. Aplikasi ini pertama kali bersumber terbuka pada tahun 2020 dan menggunakan versi warisan perpustakaan seperti Spring Boot 2.x, Log4J 2.13.x, Mockito 1.x, Javax dan Junit 4.
Agen pengembang Amazon Q untuk transformasi kode dapat meningkatkan versi bahasa kode file Anda. Anda dapat mengubah modul di JetBrains dan proyek atau seluruh ruang kerja dalam kode studio visual. Amazon Q pertama -tama membangun kode Anda dalam versi bahasa sumber dan memverifikasi bahwa ia memiliki informasi yang diperlukan untuk mengubah kode Anda. Setelah Amazon Q berhasil mengubah kode Anda, Anda memverifikasi dan menerima perubahan dalam Lingkungan Pengembangan Terpadu Anda (IDE). Untuk informasi lebih lanjut, lihat bagaimana agen pengembang amazon Q untuk transformasi kode bekerja. Artinya, Amazon Q dapat meningkatkan kode Java 8 dan Java 11 ke kode Java 17.
Lihat Panduan Memulai dan 3 cara bagaimana Amazon Q Developer Agent untuk transformasi kode mempercepat peningkatan Java Anda.
Instruksi Instalasi
Lokal
- Kompilasi aplikasi dalam IDE lokal
- Buka terminal baru dan ketik
java -jar .targetmovie-service-0.1.0.jar - Ikuti bagian Langkah 1 di AWS di bawah ini untuk mengatur konfigurasi AppConfig di profil akun AWS default Anda
- Buka browser dan buka http: // localhost: 8080/film/getmovies
- Anda harus dapat melihat daftar film berbayar
AWS
Langkah 1: Buat Aplikasi, Lingkungan, dan Profil Konfigurasi di AWS AppConfig
- Buka konsol AWS Systems Manager.
- Di panel navigasi kiri, pilih AWS AppConfig dan klik Mulai
- Jika halaman Welcome AWS AppConfig muncul, klik Buat Aplikasi di Navigasi Kiri.
- Untuk nama, masukkan nama untuk aplikasi. ( MyContainerApplication ) Anda dapat menambahkan deskripsi opsional dan menerapkan tag ke aplikasi. Pilih Buat Aplikasi.
- Setelah aplikasi dibuat, Anda diarahkan ke halaman dengan lingkungan dan profil konfigurasi memilih Create Environment, dan kemudian masukkan nama ( MyContainerApplicationProductionEnvironment ) dan deskripsi opsional untuk lingkungan. Anda juga dapat secara opsional menambahkan tag dan mengkonfigurasi alarm Amazon CloudWatch untuk lingkungan ini.
- Di navigasi atas, pilih nama aplikasi, dan pada tab Konfigurasi dan Tab Fitur Bendera, pilih Buat Profil Konfigurasi dan Konfigurasi Bentuk Bebas.
- Masukkan nama ( MyContainerApplicationConfigurationProfile ) dan deskripsi opsional untuk profil konfigurasi.
- Di bawah Sumber Konfigurasi, pilih AWS AppConfig Hosted Configuration. Konten di bawah, pilih JSON, tempel konten berikut, dan kemudian pilih Next.
{
"movies": [
{
"id": 1,
"movieName": "The Shawshank Redemption"
},
{
"id": 2,
"movieName": "City of God"
},
{
"id": 3,
"movieName": "Memento"
},
{
"id": 4,
"movieName": "The Intouchables"
},
{
"id": 5,
"movieName": "Stardust"
},
{
"id": 6,
"movieName": "Apocalypto"
},
{
"id": 7,
"movieName": "Taxi Driver"
},
{
"id": 8,
"movieName": "No Country for Old Men"
},
{
"id": 9,
"movieName": "Planet 51"
},
{
"id": 10,
"movieName": "The Beach"
}
]
}
- (Opsional) Anda dapat menambahkan validator untuk memvalidasi konfigurasi. Untuk informasi, periksa tentang validator dalam dokumentasi AWS AppConfig.
- Pilih Buat Profil Konfigurasi.
- Pilih Mulai Penempatan.
- Pilih lingkungan, versi konfigurasi yang di -host, strategi penyebaran, dan deskripsi opsional untuk memulai proses penyebaran.
- Untuk membuat strategi penyebaran khusus, pilih Buat Strategi Penyebaran. Atau pilih salah satu strategi penempatan yang telah ditentukan sebelumnya yang disediakan oleh AWS AppConfig. Untuk informasi lebih lanjut, periksa membuat strategi penyebaran dalam dokumentasi AWS AppConfig. Untuk keperluan posting ini, kami memilih AppConfig.Linear50Sentevery30seconds strategi penyebaran.
Catatan: Bergantung pada strategi penyebaran yang Anda pilih, operasi ini mungkin membutuhkan beberapa menit untuk diselesaikan. Konfigurasi tersedia untuk aplikasi segera setelah status penempatan selesai.
** V1 - 2020 **
Catatan: Gunakan versi ini hanya jika Anda ingin mencoba fitur terkait AppConnFig.
Ringkasan
Ini adalah demo dari aplikasi AWS AppConfig Java seperti yang dijelaskan dalam penyebaran konfigurasi aplikasi posting blog ke beban kerja kontainer menggunakan AWS AppConfig. Demo ini menunjukkan cara mengintegrasikan aplikasi Java Microservices dengan layanan AWS AppConfig bersama dengan menerapkan cache dalam memori untuk mengelola konfigurasi aplikasi secara efisien.
AWS AppConfig membantu pelanggan AWS untuk dengan cepat meluncurkan konfigurasi aplikasi di seluruh aplikasi yang di-host pada contoh EC2, wadah, AWS Lambda, aplikasi seluler, perangkat IoT, dan server di tempat dengan cara yang divalidasi, dikendalikan, dan dipantau.
Kode sampel ini menjelaskan
- Cara memisahkan konfigurasi aplikasi dari kode aplikasi untuk aplikasi yang dimasukkan.
- Gunakan AWS AppConfig untuk mengelola dan menggunakan konfigurasi aplikasi.
- Cara mengotomatisasi dan mengelola konfigurasi aplikasi secara efisien dalam aplikasi yang dimasukkan.
Demo ini menggunakan templat CloudFormation untuk menggunakan cluster layanan wadah elastis Amazon dan tugas AWS Fargate. Pengguna akan mengkloning repositori ini, membangun gambar Docker dan mendorong ke Amazon Elastic Container Registry dan berinteraksi dengan layanan AWS AppConfig.
Aplikasi ini memiliki lapisan caching yang dibangun untuk menyimpan tanggapan dari layanan AWS AppConfig. Panggilan berikutnya untuk mengambil nilai konfigurasi memeriksa cache terlebih dahulu dan mengembalikan respons dari cache. Jika cache kosong, maka itu membuat panggilan ke AWS AppConfig API untuk mengambil nilainya. Cache Expiry didasarkan pada set TTL di properti.
Instruksi Instalasi
Lokal
- Kompilasi aplikasi dalam IDE lokal
- Buka terminal baru dan ketik
java -jar .targetmovie-service-0.1.0.jar - Ikuti bagian Langkah 1 di AWS di bawah ini untuk mengatur konfigurasi AppConfig di profil akun AWS default Anda
- Buka browser dan buka http: // localhost: 8080/film/getmovies
- Anda harus dapat melihat daftar 5 film berbayar
AWS
Langkah 1: Buat Aplikasi, Lingkungan, dan Profil Konfigurasi di AWS AppConfig
- Buka konsol AWS Systems Manager.
- Di panel navigasi kiri, pilih AWS AppConfig.
- Jika halaman Welcome AWS AppConfig muncul, klik Buat Data Konfigurasi. Jika tidak, klik Buat Aplikasi.
- Untuk nama, masukkan nama untuk aplikasi. ( MyContainerApplication ) Anda dapat menambahkan deskripsi opsional dan menerapkan tag ke aplikasi. Pilih Buat Aplikasi.
- Setelah aplikasi dibuat, Anda diarahkan ke halaman dengan lingkungan dan profil konfigurasi memilih Create Environment, dan kemudian masukkan nama ( MyContainerApplicationProductionEnvironment ) dan deskripsi opsional untuk lingkungan. Anda juga dapat secara opsional menambahkan tag dan mengkonfigurasi alarm Amazon CloudWatch untuk lingkungan ini.
- Di navigasi atas, pilih nama aplikasi, dan pada tab Profil Konfigurasi, pilih Buat Profil Konfigurasi.
- Masukkan nama ( MyContainerApplicationConfigurationProfile ) dan deskripsi opsional untuk profil konfigurasi.
- Di bawah Sumber Konfigurasi, pilih AWS AppConfig Hosted Configuration. Konten di bawah, pilih JSON, tempel konten berikut, dan kemudian pilih Next.
{
"boolEnableFeature": true,
"intItemLimit": 5
}
- (Opsional) Anda dapat menambahkan validator untuk memvalidasi konfigurasi. Untuk informasi, periksa tentang validator dalam dokumentasi AWS AppConfig.
- Pilih Buat Profil Konfigurasi.
- Pilih Mulai Penempatan.
- Pilih lingkungan, versi konfigurasi yang di -host, strategi penyebaran, dan deskripsi opsional untuk memulai proses penyebaran.
- Untuk membuat strategi penyebaran khusus, pilih Buat Strategi Penyebaran. Atau pilih salah satu strategi penempatan yang telah ditentukan sebelumnya yang disediakan oleh AWS AppConfig. Untuk informasi lebih lanjut, periksa membuat strategi penyebaran dalam dokumentasi AWS AppConfig. Untuk keperluan posting ini, kami memilih AppConfig.Linear50Sentevery30seconds strategi penyebaran.
Catatan: Bergantung pada strategi penyebaran yang Anda pilih, operasi ini mungkin membutuhkan beberapa menit untuk diselesaikan. Konfigurasi tersedia untuk aplikasi segera setelah status penempatan selesai.
Langkah 2: Siapkan aplikasi dasar dengan Amazon ECS dan Amazon ECR dan komponen jaringan terkait menggunakan AWS CloudFormation
- Buka CloudFormation Console dan klik "Buat Stack", pilih opsi "dengan sumber daya baru".
- Di layar berikutnya, di bawah bagian "Tentukan template" pilih "Unggah File Template", dan berikan file yang Anda unduh dari repo /templates/ecs-cluster.yml.
- Klik Berikutnya, berikan tumpukan nama seperti "ecscluster-dev", dan pilih dev sebagai nilai untuk parameter lingkungan. Klik berikutnya, secara opsional tentukan tag Anda, dan klik berikutnya lagi. Di layar terakhir, jangan lupa untuk mencentang kotak centang di bagian "Kemampuan", dan akhirnya klik tombol "Buat Stack".
Langkah 3: Kloning Kode Repositori, Buat Wadah Docker, dan Publikasikan ke Amazon ECR
- Git mengkloning repositori ini
- Arahkan ke Amazon Elastic Container Registry Console, klik pada repositori yang Anda buat dan klik Lihat Perintah Push.
- Arahkan ke repositori kode di prompt perintah dan jalankan perintah push untuk mengunggah proyek.
- Saat unggahan selesai, salin URL gambar di repositori. Gunakan URL ini sebagai parameter input (ImageUrl) ke template AWS Cloudformation yang disebutkan di bagian selanjutnya.
Langkah 4: Buat tugas Fargate dan sebarkan aplikasi wadah ke Amazon ECS di AWS Fargate menggunakan AWS CloudFormation
- Buka CloudFormation Console dan klik "Buat Stack", pilih opsi "dengan sumber daya baru".
- Di layar berikutnya, di bawah bagian "Tentukan Template" pilih "Unggah File Template", dan berikan file yang Anda unduh dari repo /templates/fargate-tkk.yml.
- Klik Berikutnya, berikan nama ke tumpukan seperti "Fargate-Task-Dev". Pilih "dev" sebagai nilai untuk parameter lingkungan.
- Berikan URL gambar yang diperoleh pada langkah sebelumnya untuk parameter ImageUrl dan tinggalkan sisa parameter sebagai default.
- Klik Berikutnya dan secara opsional tentukan tag Anda. Klik berikutnya lagi. Di layar terakhir, jangan lupa untuk mencentang kotak centang di bagian "Kemampuan", dan akhirnya klik tombol "Buat Stack".
Langkah 5: Verifikasi aplikasi yang digunakan, perbarui data konfigurasi AppConfig, dan gunakan konfigurasi yang diperbarui
- Arahkan ke AWS Cloudformation Console dan buka tumpukan Fargate-Task-Dev yang Anda buat
- Klik output dan salin externalurl untuk LoadBalancer
- Verifikasi aplikasi dengan menggunakan URL eksternal untuk penyeimbang beban. http: // eksternalur/film/getMovies
- Selanjutnya, kami akan mengubah nilai konfigurasi di AWS AppConfig dan melihat bagaimana itu akan tercermin dalam aplikasi kontainer.
- Buka konsol AWS AppConfig, klik pada aplikasi Anda dan buka tab Profil Konfigurasi dan klik pada profil konfigurasi yang Anda buat
- Klik pada Buat versi konfigurasi yang di -host, ini akan membuka layar baru di mana Anda dapat mengedit data konfigurasi.
- Edit nilai konfigurasi dan klik Buat tombol versi konfigurasi yang di -host.
- Selanjutnya, klik Mulai Penyebaran dan pilih lingkungan, versi konfigurasi hosting terbaru, strategi penyebaran dan deskripsi opsional untuk memulai proses penyebaran.
- Setelah penyebaran selesai, kunjungi URL aplikasi lagi untuk melihat perubahan yang tercermin segera.
- Perhatikan bahwa perubahan ini tidak mengharuskan aplikasi kontainer untuk dimulai ulang karena aplikasi mengambil nilai yang diperbarui dalam panggilan berikutnya ke AWS AppConfig.
Pembersihan
Hapus semua sumber daya yang dibuat di seluruh proses ini dan mencegah biaya tambahan.
AppConfig
- Konfigurasi yang di -host
- Profil konfigurasi
- Lingkungan
- Aplikasi
Aplikasi Kontainer Dasar dan Tugas Fargate
- Arahkan ke konsol AWS Cloudformation
- Pilih tumpukan Fargate-Task-Dev dan klik Hapus
- Pilih tumpukan ecscluster-dev dan klik hapus
Lisensi
Kode sampel ini dilisensikan di bawah lisensi MIT-0. Lihat file lisensi.