Menggunakan cabang platform Docker ECS -managed di Elastic Beanstalk - AWS Elastic Beanstalk

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

Menggunakan cabang platform Docker ECS -managed di Elastic Beanstalk

Topik ini memberikan informasi tentang cabang platform Docker yang ECS dikelola untuk Amazon Linux 2 dan Amazon Linux 2023. Ini juga berlaku untuk cabang platform pensiunan Multi-container Docker on AL1 (juga ECS dikelola), jika Anda berencana untuk memigrasikannya ke salah satu cabang platform yang didukung.

catatan

Pada tanggal 18 Juli 2022, Elastic Beanstalk menetapkan status semua cabang platform berbasis Amazon Linux () untuk pensiun. AMI AL1

Migrasi dari Multi-container Docker di AL1

Jika saat ini Anda menggunakan Docker Multi-kontainer yang sudah pensiun yang berjalan di cabang AL1 platform, Anda dapat bermigrasi ke cabang platform ECSRunning on 023 terbaru. AL2 Cabang platform terbaru mendukung semua fitur dari cabang platform yang dihentikan. Tidak ada perubahan pada kode sumber yang diperlukan. Untuk informasi selengkapnya, lihat Memigrasi ECS aplikasi Elastic Beanstalk Anda dari Docker Multi-kontainer yang dikelola ke di Amazon Linux 2023 AL1 ECS.

ECSikhtisar platform Docker terkelola

Elastic Beanstalk menggunakan Amazon Elastic Container Service ECS (Amazon) untuk mengoordinasikan ECS penerapan kontainer ke lingkungan Docker yang dikelola. Amazon ECS menyediakan alat untuk mengelola sekelompok instance yang menjalankan kontainer Docker. Elastic Beanstalk menangani ECS tugas-tugas Amazon termasuk pembuatan cluster, definisi tugas, dan eksekusi. Setiap instance di lingkungan menjalankan kumpulan kontainer yang sama, yang didefinisikan dalam file Dockerrun.aws.json v2. Untuk mendapatkan hasil maksimal dari Docker, Elastic Beanstalk memungkinkan Anda membuat lingkungan tempat instance EC2 Amazon Anda menjalankan beberapa kontainer Docker secara berdampingan.

Diagram berikut menunjukkan contoh lingkungan Elastic Beanstalk yang dikonfigurasi dengan tiga kontainer Docker yang berjalan di EC2 setiap instans Amazon dalam grup Auto Scaling:

Elastic Beanstalk environment with load balancer, auto scaling group, and containerized tasks.
catatan

Elastic Beanstalk menawarkan fitur ekstensibilitas untuk semua platformnya yang dapat Anda gunakan untuk menyesuaikan penerapan dan pengoperasian aplikasi Anda. Untuk ECSmenjalankan cabang platform Amazon Linux 2, implementasi alur kerja penerapan instans dari fitur-fitur ini bervariasi dari platform lainnya. Untuk informasi selengkapnya, lihat Alur kerja penerapan instans untuk ECS berjalan di Amazon Linux 2 dan yang lebih baru.

ECSSumber daya Amazon dibuat oleh Elastic Beanstalk

Saat Anda membuat lingkungan menggunakan platform Docker ECS terkelola, Elastic Beanstalk secara otomatis membuat dan mengonfigurasi beberapa sumber daya Amazon Elastic Container Service saat membangun lingkungan. Dengan melakukan itu, ia membuat wadah yang diperlukan pada setiap EC2 instance Amazon.

  • Amazon ECS Cluster - Instans kontainer di Amazon ECS diatur ke dalam cluster. Saat digunakan dengan Elastic Beanstalk, satu cluster selalu dibuat ECS untuk setiap lingkungan Docker yang dikelola.

  • Definisi ECS Tugas Amazon — Elastic Beanstalk Dockerrun.aws.json menggunakan v2 dalam project Anda untuk menghasilkan definisi tugas ECS Amazon yang digunakan untuk mengonfigurasi instance container di lingkungan.

  • Amazon ECS Task — Elastic Beanstalk berkomunikasi ECS dengan Amazon untuk menjalankan tugas pada setiap instance di lingkungan guna mengoordinasikan penerapan kontainer. Dalam lingkungan yang terukur, Elastic Beanstalk memulai tugas baru setiap kali contoh ditambahkan ke kluster. Dalam kasus yang jarang terjadi Anda mungkin harus meningkatkan jumlah ruang yang disediakan untuk kontainer dan gambar. Pelajari selengkapnya diMengkonfigurasi lingkungan Elastic Beanstalk DockerBagian.

  • Amazon ECS Container Agent — Agen berjalan dalam wadah Docker pada instance di lingkungan Anda. Agen melakukan polling pada ECS layanan Amazon dan menunggu tugas dijalankan.

  • Volume ECS Data Amazon — Elastic Beanstalk menyisipkan definisi volume (selain volume yang Anda Dockerrun.aws.json tentukan di v2 ke dalam definisi tugas untuk memfasilitasi pengumpulan log.

    Elastic Beanstalk membuat volume log pada contoh kontainer, satu untuk setiap kontainer, di /var/log/containers/containername. Volume ini diberi nama awseb-logs-containername dan disediakan untuk kontainer untuk dipasang. Lihat Format definisi kontainer untuk rincian bagaimana cara memasangnya.

Dockerrun.aws.jsonberkas v2

Instance kontainer memerlukan file konfigurasi bernamaDockerrun.aws.json. Instance kontainer mengacu pada instans Amazon EC2 yang menjalankan Docker ECS terkelola di lingkungan Elastic Beanstalk. File ini khusus untuk Elastic Beanstalk dan dapat digunakan sendiri atau dikombinasikan dengan kode sumber dan konten dalam bundel sumber untuk menciptakan lingkungan pada platform Docker.

catatan

Format Versi 2 Dockerrun.aws.json menambahkan dukungan untuk beberapa kontainer per EC2 instans Amazon dan hanya dapat digunakan dengan platform Docker ECS terkelola. Formatnya berbeda secara signifikan dari versi file konfigurasi lain yang mendukung cabang platform Docker yang tidak dikelola olehECS.

Lihat detail tentang format yang diperbarui dan file contoh. Dockerrun.aws.json v2

Gambar Docker

Platform Docker ECS terkelola untuk Elastic Beanstalk membutuhkan gambar untuk dibuat sebelumnya dan disimpan dalam repositori gambar online publik atau pribadi sebelum membuat lingkungan Elastic Beanstalk.

catatan

Membangun gambar khusus selama penerapan dengan a tidak Dockerfile didukung oleh platform Docker ECS terkelola di Elastic Beanstalk. Membuat gambar Anda dan menerapkannya ke repositori online sebelum membuat lingkungan Elastic Beanstalk.

Tentukan gambar dengan nama di Dockerrun.aws.json v2.

Untuk mengonfigurasi Elastic Beanstalk untuk mengautentikasi ke repositori pribadi, sertakan parameter dalam file v2 Anda. authentication Dockerrun.aws.json

Deployment kontainer gagal

Jika ECS tugas Amazon gagal, satu atau lebih wadah di lingkungan Elastic Beanstalk Anda tidak akan dimulai. Elastic Beanstalk tidak memutar kembali lingkungan multi-kontainer karena tugas Amazon yang gagal. ECS Jika kontainer gagal dimulai di lingkungan Anda, terapkan ulang versi saat ini atau versi sebelumnya yang bekerja dari konsol Elastic Beanstalk.

Untuk menggunakan versi yang sudah ada
  1. Buka konsol Elastic Beanstalk di wilayah lingkungan Anda.

  2. KlikTindakandi sebelah kanan nama aplikasi Anda dan kemudian klikLihat versi aplikasi.

  3. Pilih versi aplikasi Anda dan klikDeploy.