Menerapkan layanan mikro Java di Amazon ECS menggunakan AWS Fargate - AWS Prescriptive Guidance

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menerapkan layanan mikro Java di Amazon ECS menggunakan AWS Fargate

Vijay Thompson dan Sandeep Bondugula, Amazon Web Services

Ringkasan

Pola ini memberikan panduan untuk menerapkan layanan mikro Java dalam peti kemas di Amazon Elastic Container Service (Amazon ECS) Container Service (Amazon ECS) dengan menggunakan AWS Fargate. Polanya tidak menggunakan Amazon Elastic Container Registry (Amazon ECR) Registry (Amazon ECR) untuk manajemen kontainer; sebagai gantinya, gambar Docker ditarik dari hub Docker.

Prasyarat dan batasan

Prasyarat

  • Aplikasi microservices Java yang ada di hub Docker

  • Sebuah repositori Docker publik

  • Akun AWS yang aktif

  • Keakraban dengan layanan AWS, termasuk Amazon ECS dan Fargate

  • Kerangka kerja Docker, Java, dan Spring Boot

  • Amazon Relational Database Service (Amazon RDS) aktif dan berjalan (opsional)

  • Virtual private cloud (VPC) jika aplikasi memerlukan Amazon RDS (opsional)

Arsitektur

Tumpukan teknologi sumber

  • Layanan mikro Java (misalnya, diimplementasikan di Spring Boot) dan digunakan di Docker

Arsitektur sumber

Arsitektur sumber untuk layanan mikro Java yang digunakan di Docker

Tumpukan teknologi target

  • Cluster Amazon ECS yang menampung setiap layanan mikro dengan menggunakan Fargate

  • Jaringan VPC untuk meng-host cluster Amazon ECS dan grup keamanan terkait 

  • cluster/task Definisi untuk setiap layanan mikro yang memutar kontainer dengan menggunakan Fargate

Arsitektur target

Arsitektur target pada layanan mikro Java di Amazon ECS

Alat

Alat

  • Amazon ECS menghilangkan kebutuhan untuk menginstal dan mengoperasikan perangkat lunak orkestrasi kontainer Anda sendiri, mengelola dan menskalakan sekelompok mesin virtual, atau menjadwalkan kontainer pada mesin virtual tersebut. 

  • AWS Fargate membantu Anda menjalankan container tanpa perlu mengelola server atau instans Amazon Elastic Compute Cloud (Amazon). EC2 Ini digunakan bersama dengan Amazon Elastic Container Service (Amazon ECS).

  • Docker adalah platform perangkat lunak yang memungkinkan Anda membangun, menguji, dan menyebarkan aplikasi dengan cepat. Docker mengemas perangkat lunak ke dalam unit standar yang disebut kontainer yang memiliki semua yang dibutuhkan perangkat lunak untuk dijalankan, termasuk perpustakaan, alat sistem, kode, dan runtime. 

Kode Docker

Dockerfile berikut menentukan versi Java Development Kit (JDK) yang digunakan, di mana file arsip Java (JAR) ada, nomor port yang terbuka, dan titik masuk untuk aplikasi.

FROM openjdk:11 ADD target/Spring-docker.jar Spring-docker.jar EXPOSE 8080 ENTRYPOINT ["java","-jar","Spring-docker.jar"]

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Buat definisi tugas.

Menjalankan wadah Docker di Amazon ECS memerlukan definisi tugas. Buka konsol Amazon ECS di https://console.aws.amazon.com/ecs/, pilih Definisi tugas, lalu buat definisi tugas baru. Untuk informasi selengkapnya, lihat dokumentasi Amazon ECS.

Administrator sistem AWS, Pengembang aplikasi

Pilih jenis peluncuran.

Pilih Fargate sebagai tipe peluncuran.

Administrator sistem AWS, Pengembang aplikasi

Konfigurasikan tugas.

Tentukan nama tugas dan konfigurasikan aplikasi dengan jumlah memori tugas dan CPU yang sesuai.

Administrator sistem AWS, Pengembang aplikasi

Tentukan wadahnya.

Tentukan nama wadah. Untuk gambar, masukkan nama situs Docker, nama repositori, dan nama tag image Docker (). docker.io/sample-repo/sample-application:sample-tag-name Tetapkan batas memori untuk aplikasi, dan atur pemetaan port (8080, 80) untuk port yang diizinkan.

Administrator sistem AWS, Pengembang aplikasi

Buat tugas.

Saat konfigurasi tugas dan wadah sudah ada, buat tugas. Untuk petunjuk terperinci, lihat tautan di bagian Sumber daya terkait.

Administrator sistem AWS, Pengembang aplikasi
TugasDeskripsiKeterampilan yang dibutuhkan

Buat dan konfigurasikan cluster.

Pilih Jaringan hanya sebagai tipe cluster, konfigurasikan nama, lalu buat cluster atau gunakan cluster yang ada jika tersedia. Untuk informasi selengkapnya, lihat dokumentasi Amazon ECS.

Administrator sistem AWS, Pengembang aplikasi
TugasDeskripsiKeterampilan yang dibutuhkan

Buat tugas.

Di dalam cluster, pilih Jalankan tugas baru.

Administrator sistem AWS, Pengembang aplikasi

Pilih jenis peluncuran.

Pilih Fargate sebagai tipe peluncuran.

Administrator sistem AWS, Pengembang aplikasi

Pilih definisi tugas, revisi, dan versi platform.

Pilih tugas yang ingin Anda jalankan, revisi definisi tugas, dan versi platform.

Administrator sistem AWS, Pengembang aplikasi

Pilih cluster.

Pilih cluster tempat Anda ingin menjalankan tugas.

Administrator sistem AWS, Pengembang aplikasi

Tentukan jumlah tugas.

Konfigurasikan jumlah tugas yang harus dijalankan. Jika Anda meluncurkan dengan dua tugas atau lebih, penyeimbang beban diperlukan untuk mendistribusikan lalu lintas di antara tugas-tugas.

Administrator sistem AWS, Pengembang aplikasi

Tentukan kelompok tugas.

(Opsional) Tentukan nama grup tugas untuk mengidentifikasi serangkaian tugas terkait sebagai kelompok tugas.

Administrator sistem AWS, Pengembang aplikasi

Konfigurasikan VPC cluster, subnet, dan grup keamanan.

Konfigurasikan VPC cluster dan subnet tempat Anda ingin menyebarkan aplikasi. Buat atau perbarui grup keamanan (HTTP, HTTPS, dan port 8080) untuk menyediakan akses ke koneksi masuk dan keluar.

Administrator sistem AWS, Pengembang aplikasi

Konfigurasikan pengaturan IP publik.

Aktifkan atau nonaktifkan IP publik, tergantung pada apakah Anda ingin menggunakan alamat IP publik untuk tugas Fargate. Opsi default yang direkomendasikan adalah Diaktifkan.

Administrator sistem AWS, Pengembang aplikasi

Tinjau pengaturan dan buat tugas

Tinjau pengaturan Anda, lalu pilih Jalankan Tugas.

Administrator sistem AWS, Pengembang aplikasi
TugasDeskripsiKeterampilan yang dibutuhkan

Salin URL aplikasi.

Ketika status tugas telah diperbarui ke Running, pilih tugas. Di bagian Jaringan, salin IP publik.

Administrator sistem AWS, Pengembang aplikasi

Uji aplikasi Anda.

Di browser Anda, masukkan IP publik untuk menguji aplikasi.

Administrator sistem AWS, Pengembang aplikasi

Sumber daya terkait