

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

# Menyebarkan wadah dengan menggunakan Elastic Beanstalk
<a name="deploy-containers-by-using-elastic-beanstalk"></a>

*Thomas Scott dan Jean-Baptiste Guillois, Amazon Web Services*

## Ringkasan
<a name="deploy-containers-by-using-elastic-beanstalk-summary"></a>

Di Amazon Web Services (AWS) Cloud, AWS Elastic Beanstalk mendukung Docker sebagai platform yang tersedia, sehingga container dapat berjalan dengan lingkungan yang dibuat. Pola ini menunjukkan cara menggunakan kontainer menggunakan layanan Elastic Beanstalk. Penyebaran pola ini akan menggunakan lingkungan server web berdasarkan platform Docker.

Untuk menggunakan Elastic Beanstalk untuk menyebarkan dan menskalakan aplikasi dan layanan web, Anda mengunggah kode dan penyebaran ditangani secara otomatis. Penyediaan kapasitas, penyeimbangan beban, penskalaan otomatis, dan pemantauan kesehatan aplikasi juga disertakan. Saat Anda menggunakan Elastic Beanstalk, Anda dapat mengambil kendali penuh atas sumber daya AWS yang dibuatnya atas nama Anda. Tidak ada biaya tambahan untuk Elastic Beanstalk. Anda hanya membayar untuk sumber daya AWS yang digunakan untuk menyimpan dan menjalankan aplikasi Anda.

Pola ini mencakup instruksi untuk penerapan menggunakan [AWS Elastic Beanstalk Command Line Interface (EB CLI) dan AWS](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install-advanced.html) Management Console.

**Kasus penggunaan**

Kasus penggunaan untuk Elastic Beanstalk meliputi yang berikut: 
+ Menerapkan lingkungan prototipe untuk mendemonstrasikan aplikasi frontend. (Pola ini menggunakan Dockerfile**** sebagai contoh.)
+ Menerapkan API untuk menangani permintaan API untuk domain tertentu.
+ Terapkan solusi orkestrasi menggunakan Docker-Compose (****tidak digunakan sebagai contoh praktis dalam pola `docker-compose.yml` ini).

## Prasyarat dan batasan
<a name="deploy-containers-by-using-elastic-beanstalk-prereqs"></a>

**Prasyarat**
+ Akun AWS
+ AWS EB CLI diinstal secara lokal
+ Docker diinstal pada mesin lokal

**Batasan**
+ Ada batas tarik Docker 100 tarikan per 6 jam per alamat IP pada paket gratis.

## Arsitektur
<a name="deploy-containers-by-using-elastic-beanstalk-architecture"></a>

**Tumpukan teknologi target**
+ Instans Amazon Elastic Compute Cloud (Amazon EC2)
+ Grup keamanan
+ Penyeimbang Beban Aplikasi
+ Grup Auto Scaling

**Arsitektur target**

![Arsitektur untuk menyebarkan wadah dengan Elastic Beanstalk.](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/dfabcdc2-747f-40e2-a603-08ea31ba71d3/images/1d17ff09-1aea-4c72-adb5-eaf741601428.png)


**Otomatisasi dan skala**

AWS Elastic Beanstalk dapat secara otomatis menskalakan berdasarkan jumlah permintaan yang dibuat. Sumber daya AWS yang dibuat untuk lingkungan mencakup satu Application Load Balancer, grup Auto Scaling, dan satu atau beberapa instans Amazon. EC2  

Load balancer berada di depan EC2 instans Amazon, yang merupakan bagian dari grup Auto Scaling. EC2 Auto Scaling Amazon secara otomatis memulai EC2 instans Amazon tambahan untuk mengakomodasi peningkatan beban pada aplikasi Anda. Jika pemuatan pada aplikasi Anda berkurang, Amazon EC2 Auto Scaling menghentikan instance, tetapi setidaknya satu instance tetap berjalan.

**Pemicu penskalaan otomatis**

Grup Auto Scaling di lingkungan Elastic Beanstalk Anda menggunakan dua CloudWatch alarm Amazon untuk memulai operasi penskalaan. Pemicu default menskalakan ketika lalu lintas jaringan keluar rata-rata dari setiap instans lebih tinggi dari 6 MB atau lebih rendah dari 2 MB selama periode lima menit. Untuk menggunakan Amazon EC2 Auto Scaling secara efektif, konfigurasikan pemicu yang sesuai untuk aplikasi, jenis instans, dan persyaratan layanan Anda. Anda dapat menskalakan berdasar beberapa statistik termasuk latensi, I/O disk, utilisasi CPU, dan jumlah permintaan. Untuk informasi selengkapnya, lihat [Pemicu Auto Scaling.](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environments-cfg-autoscaling-triggers.html)

## Alat
<a name="deploy-containers-by-using-elastic-beanstalk-tools"></a>

**Layanan AWS**
+ [AWS Command Line Interface (AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)) adalah alat sumber terbuka yang membantu Anda berinteraksi dengan layanan AWS melalui perintah di shell baris perintah Anda.
+ [AWS EB Command Line Interface (EB CLI)](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install.html) adalah klien baris perintah yang dapat Anda gunakan untuk membuat, mengonfigurasi, dan mengelola lingkungan Elastic Beanstalk.
+ [Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) mendistribusikan lalu lintas aplikasi atau jaringan yang masuk ke beberapa target. Misalnya, Anda dapat mendistribusikan lalu lintas di seluruh instans, container, dan alamat IP Amazon Elastic Compute Cloud (Amazon EC2) di satu atau beberapa Availability Zone.

**Layanan lainnya**
+ [Docker](https://www.docker.com/) mengemas perangkat lunak ke dalam unit standar yang disebut kontainer yang mencakup pustaka, alat sistem, kode, dan runtime.

**Kode**

Kode untuk pola ini tersedia di repositori [Aplikasi Sampel GitHub Cluster](https://github.com/aws-samples/cluster-sample-app).

## Epik
<a name="deploy-containers-by-using-elastic-beanstalk-epics"></a>

### Membangun dengan Dockerfile
<a name="build-with-a-dockerfile"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Kloning repositori jarak jauh. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/deploy-containers-by-using-elastic-beanstalk.html) | Pengembang aplikasi, administrator AWS, AWS DevOps | 
| Inisialisasi proyek Elastic Beanstalk Docker. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/deploy-containers-by-using-elastic-beanstalk.html) | Pengembang aplikasi, administrator AWS, AWS DevOps | 
| Uji proyek secara lokal. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/deploy-containers-by-using-elastic-beanstalk.html) | Pengembang aplikasi, administrator AWS, AWS DevOps | 

### Terapkan menggunakan EB CLI
<a name="deploy-using-eb-cli"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Jalankan perintah penerapan | [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/deploy-containers-by-using-elastic-beanstalk.html) | Pengembang aplikasi, administrator AWS, AWS DevOps | 
| Akses versi yang digunakan. | Setelah perintah penerapan selesai, akses proyek menggunakan `eb open` perintah. | Pengembang aplikasi, administrator AWS, AWS DevOps | 

### Terapkan menggunakan konsol
<a name="deploy-using-the-console"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Menyebarkan aplikasi dengan menggunakan browser. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/deploy-containers-by-using-elastic-beanstalk.html) | Pengembang aplikasi, administrator AWS, AWS DevOps | 
| Akses versi yang digunakan. | Setelah penyebaran, akses aplikasi yang digunakan, dan pilih URL yang disediakan. | Pengembang aplikasi, administrator AWS, AWS DevOps | 

## Sumber daya terkait
<a name="deploy-containers-by-using-elastic-beanstalk-resources"></a>
+ [Lingkungan server web](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts-webserver.html)
+ [Instal EB CLI di macOS](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install-osx.html)
+ [Instal CLI EB secara manual](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install-advanced.html)

## Informasi tambahan
<a name="deploy-containers-by-using-elastic-beanstalk-additional"></a>

**Keuntungan menggunakan Elastic Beanstalk**
+ Penyediaan infrastruktur otomatis
+ Manajemen otomatis platform yang mendasarinya
+ Penambalan dan pembaruan otomatis untuk mendukung aplikasi
+ Penskalaan otomatis aplikasi
+ Kemampuan untuk menyesuaikan jumlah node
+ Kemampuan untuk mengakses komponen infrastruktur jika diperlukan
+ Kemudahan penyebaran di atas solusi penyebaran kontainer lainnya