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 kedua AWS alat, seperti Amazon Elastic Container Registry, dan alat pihak ketiga, seperti 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 kontainer Anda
Diagram berikut menunjukkan ECS lapisan Amazon.
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) 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 selengkapnya, 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.
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