Arsitek aplikasi Anda untuk Amazon ECS - Amazon Elastic Container Service

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

Arsitek aplikasi Anda untuk Amazon ECS

Anda merancang aplikasi Anda dengan membuat definisi tugas untuk aplikasi Anda. Definisi tugas berisi parameter yang menentukan informasi tentang aplikasi, termasuk:

  • Jenis peluncuran yang akan digunakan, yang menentukan infrastruktur tempat tugas Anda di-host.

    Saat Anda menggunakan tipe EC2 peluncuran, Anda juga memilih jenis instans. Untuk beberapa jenis contoh, sepertiGPU, Anda perlu mengatur parameter tambahan. Untuk informasi selengkapnya, lihat Kasus penggunaan definisi ECS tugas Amazon.

  • Gambar kontainer, yang menyimpan kode aplikasi Anda dan semua dependensi yang diperlukan kode aplikasi Anda untuk dijalankan.

  • Mode jaringan yang digunakan untuk wadah dalam tugas Anda

    Mode jaringan menentukan bagaimana tugas Anda berkomunikasi melalui jaringan.

    Untuk tugas yang berjalan pada EC2 contoh, ada beberapa opsi, tetapi kami menyarankan Anda menggunakan mode awsvpc jaringan. Mode awsvpc jaringan menyederhanakan jaringan kontainer, karena Anda memiliki kontrol lebih besar atas bagaimana aplikasi Anda berkomunikasi satu sama lain dan layanan lain di dalam AndaVPCs.

    Untuk tugas yang berjalan di Fargate, Anda hanya dapat menggunakan mode awsvpc jaringan.

  • Konfigurasi logging yang akan digunakan untuk tugas Anda.

  • Setiap volume data yang digunakan dengan wadah dalam tugas.

Untuk daftar lengkap parameter definisi tugas, lihatParameter definisi ECS tugas Amazon.

Gunakan panduan berikut saat membuat definisi tugas:

  • Gunakan setiap keluarga definisi tugas hanya untuk satu tujuan bisnis.

    Jika Anda mengelompokkan beberapa jenis wadah aplikasi bersama-sama dalam definisi tugas yang sama, Anda tidak dapat menskalakan kontainer tersebut secara independen. Misalnya, tidak mungkin situs web dan API memerlukan penskalaan pada tingkat yang sama. Ketika lalu lintas meningkat, akan ada jumlah kontainer web yang berbeda yang diperlukan dari API kontainer. Jika kedua kontainer ini digunakan dalam definisi tugas yang sama, setiap tugas menjalankan jumlah kontainer dan API kontainer web yang sama.

  • Cocokkan setiap versi aplikasi dengan revisi definisi tugas dalam keluarga definisi tugas.

    Dalam keluarga definisi tugas, pertimbangkan setiap revisi definisi tugas sebagai snapshot titik waktu dari pengaturan untuk gambar kontainer tertentu. Ini mirip dengan bagaimana wadah adalah snapshot dari semua hal yang diperlukan untuk menjalankan versi tertentu dari kode aplikasi Anda.

    Pastikan ada one-to-one pemetaan antara versi kode aplikasi, tag gambar kontainer, dan revisi definisi tugas. Proses rilis tipikal melibatkan git commit yang diubah menjadi image container yang ditandai dengan git commitSHA. Kemudian, tag gambar kontainer itu mendapatkan revisi definisi ECS tugas Amazon sendiri. Terakhir, ECS layanan Amazon diperbarui untuk memintanya menerapkan revisi definisi tugas baru.

  • Gunakan IAM peran yang berbeda untuk setiap keluarga definisi tugas.

    Tentukan setiap definisi tugas dengan IAM perannya sendiri. Rekomendasi ini harus dilakukan bersamaan dengan rekomendasi kami untuk menyediakan setiap komponen bisnis keluarga definisi tugasnya sendiri. Dengan menerapkan kedua praktik terbaik ini, Anda dapat membatasi seberapa banyak akses yang dimiliki setiap layanan ke sumber daya di AWS akun Anda. Misalnya, Anda dapat memberikan akses layanan otentikasi untuk terhubung ke database kata sandi Anda. Pada saat yang sama, Anda juga dapat memastikan bahwa hanya layanan pesanan Anda yang memiliki akses ke informasi pembayaran kartu kredit.