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
Thomas Scott dan Jean-Baptiste Guillois, Amazon Web Services
Ringkasan
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 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.ymlini).
Prasyarat dan batasan
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
Tumpukan teknologi target
Instans Amazon Elastic Compute Cloud (Amazon EC2)
Grup keamanan
Penyeimbang Beban Aplikasi
Grup Auto Scaling
Arsitektur target

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.
Alat
Layanan AWS
AWS Command Line Interface (AWS CLI) 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) adalah klien baris perintah yang dapat Anda gunakan untuk membuat, mengonfigurasi, dan mengelola lingkungan Elastic Beanstalk.
Elastic Load Balancing 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
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
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Kloning repositori jarak jauh. |
| Pengembang aplikasi, administrator AWS, AWS DevOps |
Inisialisasi proyek Elastic Beanstalk Docker. |
| Pengembang aplikasi, administrator AWS, AWS DevOps |
Uji proyek secara lokal. |
| Pengembang aplikasi, administrator AWS, AWS DevOps |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Jalankan perintah penerapan |
| Pengembang aplikasi, administrator AWS, AWS DevOps |
Akses versi yang digunakan. | Setelah perintah penerapan selesai, akses proyek menggunakan | Pengembang aplikasi, administrator AWS, AWS DevOps |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Menyebarkan aplikasi dengan menggunakan browser. |
| 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
Informasi tambahan
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