

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
<a name="deploy-java-microservices-on-amazon-ecs-using-aws-fargate"></a>

*Vijay Thompson dan Sandeep Bondugula, Amazon Web Services*

## Ringkasan
<a name="deploy-java-microservices-on-amazon-ecs-using-aws-fargate-summary"></a>

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
<a name="deploy-java-microservices-on-amazon-ecs-using-aws-fargate-prereqs"></a>

**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
<a name="deploy-java-microservices-on-amazon-ecs-using-aws-fargate-architecture"></a>

**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\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/65185957-2b8b-43a6-964c-95ce0a45ba17/images/0a946ca8-fe37-4ede-85cb-a80a1c36105d.png)


**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\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/65185957-2b8b-43a6-964c-95ce0a45ba17/images/b21349ea-21fc-4688-b76a-1bde479858aa.png)


## Alat
<a name="deploy-java-microservices-on-amazon-ecs-using-aws-fargate-tools"></a>

**Alat**
+ [Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html) 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](https://docs.aws.amazon.com/AmazonECS/latest/userguide/what-is-fargate.html) 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](https://www.docker.com/) 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
<a name="deploy-java-microservices-on-amazon-ecs-using-aws-fargate-epics"></a>

### Buat definisi tugas baru
<a name="create-new-task-definitions"></a>


| Tugas | Deskripsi | Keterampilan 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/](https://console.aws.amazon.com/ecs/), pilih **Definisi tugas**, lalu buat definisi tugas baru. Untuk informasi selengkapnya, lihat [dokumentasi Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-task-definition.html). | 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 | 

### Konfigurasikan cluster
<a name="configure-the-cluster"></a>


| Tugas | Deskripsi | Keterampilan 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](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create_cluster.html). | Administrator sistem AWS, Pengembang aplikasi | 

### Konfigurasikan Tugas
<a name="configure-task"></a>


| Tugas | Deskripsi | Keterampilan 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 | 

### Potong
<a name="cut-over"></a>


| Tugas | Deskripsi | Keterampilan 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
<a name="deploy-java-microservices-on-amazon-ecs-using-aws-fargate-resources"></a>
+ [Dasar-Dasar Docker untuk Amazon ECS (](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/docker-basics.html)dokumentasi Amazon ECS)
+ [Amazon ECS di AWS Fargate](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html) (dokumentasi Amazon ECS)
+ [Membuat Definisi Tugas](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-task-definition.html) (dokumentasi Amazon ECS)
+ [Membuat Cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create_cluster.html) (dokumentasi Amazon ECS)
+ [Mengkonfigurasi Parameter Layanan Dasar](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/basic-service-params.html) (dokumentasi Amazon ECS)
+ [Mengkonfigurasi Jaringan (dokumentasi](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-configure-network.html) Amazon ECS)
+ [Menerapkan Java Microservices di Amazon ECS (posting blog](https://aws.amazon.com/blogs/compute/deploying-java-microservices-on-amazon-ec2-container-service/))