Apa itu Layanan Kontainer Elastis Amazon? - Amazon Elastic Container Service

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

Apa itu Layanan Kontainer Elastis Amazon?

Amazon Elastic Container Service (Amazon ECS) adalah layanan orkestrasi kontainer terkelola penuh yang membantu Anda menerapkan, mengelola, dan menskalakan aplikasi kontainer dengan mudah. Sebagai layanan yang dikelola sepenuhnya, Amazon ECS hadir dengan AWS konfigurasi dan praktik terbaik operasional bawaan. Ini terintegrasi dengan alat kedua AWS dan pihak ketiga, seperti Amazon Elastic Container Registry dan Docker. Integrasi ini memudahkan tim untuk fokus membangun aplikasi, bukan lingkungan. Anda dapat menjalankan dan menskalakan beban kerja kontainer Anda Wilayah AWS di cloud, dan lokal, tanpa kerumitan mengelola bidang kontrol.

Terminologi dan komponen Amazon ECS

Ada tiga lapisan di Amazon ECS:

  • Kapasitas - Infrastruktur tempat kontainer Anda berjalan

  • Controller - Menyebarkan dan mengelola aplikasi Anda yang berjalan pada kontainer

  • Penyediaan - Alat yang dapat Anda gunakan untuk berinteraksi dengan penjadwal untuk menyebarkan dan mengelola aplikasi dan kontainer Anda

Diagram berikut menunjukkan lapisan Amazon ECS.

Diagram yang menunjukkan kapasitas, pengontrol, dan lapisan penyediaan.

Kapasitas Amazon ECS

Kapasitas Amazon ECS adalah infrastruktur tempat kontainer Anda berjalan. Berikut ini adalah ikhtisar opsi kapasitas:

  • Instans Amazon EC2 di cloud AWS

    Anda memilih jenis instans, jumlah instance, dan mengelola kapasitas.

  • Tanpa server (AWS Fargate (Fargate)) di awan AWS

    Fargate adalah mesin komputasi tanpa server. pay-as-you-go Dengan Fargate Anda tidak perlu mengelola server, menangani perencanaan kapasitas, atau mengisolasi beban kerja kontainer untuk keamanan.

  • Mesin virtual lokal (VM) atau server

    Amazon ECS Anywhere menyediakan dukungan untuk mendaftarkan instans eksternal seperti server lokal atau mesin virtual (VM), ke kluster Amazon ECS Anda.

Kapasitas dapat ditemukan di salah satu AWS sumber daya berikut:

  • Zona Ketersediaan

  • Zona Lokal

  • Wavelength Zones

  • Wilayah AWS

  • AWS Outposts

Pengontrol Amazon ECS

Penjadwal Amazon ECS adalah perangkat lunak yang mengelola aplikasi Anda.

Penyediaan Amazon ECS

Ada beberapa opsi untuk penyediaan Amazon ECS:

  • AWS Management Console— Menyediakan antarmuka web yang dapat Anda gunakan untuk mengakses sumber daya Amazon ECS Anda.

  • AWS Command Line Interface (AWS CLI) — Menyediakan perintah untuk serangkaian AWS layanan yang luas, termasuk Amazon ECS. Ini didukung di Windows, Mac, dan Linux. Untuk informasi selengkapnya, lihat AWS Command Line Interface.

  • AWS SDK — Menyediakan API khusus bahasa dan menangani banyak detail koneksi. Ini termasuk menghitung tanda tangan, menangani percobaan ulang permintaan, dan penanganan kesalahan. Untuk informasi selengkapnya, lihat AWS SDK.

  • Copilot — Menyediakan alat sumber terbuka bagi pengembang untuk membangun, merilis, dan mengoperasikan aplikasi container siap produksi di Amazon ECS. Untuk informasi lebih lanjut, lihat Copilot di situs web. GitHub

  • AWS CDKMenyediakan kerangka pengembangan perangkat lunak open-source yang dapat Anda gunakan untuk memodelkan dan menyediakan sumber daya aplikasi cloud Anda menggunakan bahasa pemrograman yang sudah dikenal. AWS CDK Menyediakan sumber daya Anda dengan cara yang aman dan berulang. AWS CloudFormation

Siklus hidup aplikasi

Diagram berikut menunjukkan siklus hidup aplikasi dan cara kerjanya dengan komponen Amazon ECS.

Diagram yang menunjukkan kapasitas, pengontrol, dan lapisan penyediaan.

Anda harus merancang aplikasi Anda sehingga mereka dapat berjalan pada kontainer. Container adalah unit standar pengembangan perangkat lunak yang menyimpan semua yang dibutuhkan aplikasi perangkat lunak Anda untuk dijalankan. Ini termasuk kode yang relevan, runtime, alat sistem, dan pustaka sistem. Container dibuat dari template read-only yang disebut gambar. Gambar biasanya dibuat dari Dockerfile. Dockerfile adalah file plaintext yang berisi instruksi untuk membangun wadah. Setelah dibuat, gambar-gambar ini disimpan dalam registri seperti Amazon ECR tempat mereka dapat diunduh.

Setelah Anda membuat dan menyimpan gambar Anda, Anda membuat definisi tugas Amazon ECS. Definisi tugas adalah cetak biru untuk aplikasi Anda. Ini adalah file teks dalam format JSON yang menjelaskan parameter dan satu atau lebih wadah yang membentuk aplikasi Anda. Misalnya, Anda dapat menggunakannya untuk menentukan gambar dan parameter untuk sistem operasi, wadah mana yang akan digunakan, port mana yang akan dibuka untuk aplikasi Anda, dan volume data apa yang akan digunakan dengan wadah dalam tugas. Parameter khusus telah tersedia untuk ketentuan tugas Anda tergantung pada kebutuhan aplikasi spesifik milik Anda.

Setelah menentukan definisi tugas, Anda menerapkannya sebagai layanan atau tugas di klaster. Cluster adalah pengelompokan logis tugas atau layanan yang berjalan pada infrastruktur kapasitas yang terdaftar ke cluster.

tugas adalah penunjukan hal abstrak dengan instans yang konkret dari ketentuan tugas dalam sebuah klaster. Anda dapat menjalankan tugas mandiri, atau Anda dapat menjalankan tugas sebagai bagian dari layanan. Anda dapat menggunakan layanan Amazon ECS untuk menjalankan dan mempertahankan jumlah tugas yang Anda inginkan secara bersamaan di kluster Amazon ECS. Cara kerjanya adalah, jika salah satu tugas Anda gagal atau berhenti karena alasan apa pun, penjadwal layanan Amazon ECS meluncurkan instance lain berdasarkan definisi tugas Anda. Ia melakukan ini untuk menggantikannya dan dengan demikian mempertahankan jumlah tugas yang Anda inginkan dalam layanan.

Agen kontainer berjalan pada setiap instance kontainer dalam klaster Amazon ECS. Agen mengirimkan informasi tentang tugas yang sedang berjalan dan pemanfaatan sumber daya kontainer Anda ke Amazon ECS. Ini memulai dan menghentikan tugas setiap kali menerima permintaan dari Amazon ECS.

Setelah menerapkan tugas atau layanan, Anda dapat menggunakan salah satu alat berikut untuk memantau penerapan dan aplikasi Anda:

  • CloudWatch

  • Pemantauan Runtime