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 (AmazonECS) 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.

ECSTerminologi dan komponen Amazon

Ada tiga lapisan di AmazonECS:

  • 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 wadah Anda

Diagram berikut menunjukkan ECS lapisan Amazon.

Diagram yang menunjukkan kapasitas, pengontrol, dan lapisan penyediaan.

ECSKapasitas Amazon

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

  • EC2Instans Amazon 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 klaster Amazon ECS Anda.

Kapasitas dapat ditemukan di salah satu AWS sumber daya berikut:

  • Zona Ketersediaan

  • Zona Lokal

  • Wavelength Zones

  • Wilayah AWS

  • AWS Outposts

ECSPengontrol Amazon

ECSPenjadwal Amazon adalah perangkat lunak yang mengelola aplikasi Anda.

ECSPenyediaan Amazon

Ada beberapa opsi untuk penyediaan Amazon: ECS

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

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

  • AWS SDKs— Menyediakan bahasa khusus APIs dan menangani banyak detail koneksi. Ini termasuk menghitung tanda tangan, menangani percobaan ulang permintaan, dan penanganan kesalahan. Untuk informasi lebih lanjut, lihat AWS SDKs.

  • 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 AmazonECS.

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 ECS tugas Amazon. Definisi tugas adalah cetak biru untuk aplikasi Anda. Ini adalah file teks dalam JSON format 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 ECS layanan Amazon untuk menjalankan dan mempertahankan jumlah tugas yang Anda inginkan secara bersamaan di ECS klaster Amazon. Cara kerjanya adalah, jika salah satu tugas Anda gagal atau berhenti karena alasan apa pun, penjadwal ECS layanan Amazon 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 ECS klaster Amazon. Agen mengirimkan informasi tentang tugas yang sedang berjalan dan pemanfaatan sumber daya kontainer Anda ke AmazonECS. Ini memulai dan menghentikan tugas setiap kali menerima permintaan dari AmazonECS.

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

  • CloudWatch

  • Pemantauan Runtime