Merancang aplikasi Anda - Amazon Elastic Container Service

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

Merancang aplikasi Anda

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 peluncuran EC2, Anda juga memilih jenis instans. Untuk beberapa jenis contoh, seperti GPU, Anda perlu mengatur parameter tambahan. Untuk informasi selengkapnya, lihat Kasus penggunaan definisi tugas.

  • 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 instans EC2, 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 dalam VPC Anda.

    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 ketentuan tugas.

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 kontainer API. Jika kedua kontainer ini digunakan dalam definisi tugas yang sama, setiap tugas menjalankan jumlah kontainer web dan kontainer API 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 commit SHA. Kemudian, tag gambar kontainer itu mendapatkan revisi definisi tugas Amazon ECS sendiri. Terakhir, layanan Amazon ECS diperbarui untuk memintanya menerapkan revisi definisi tugas baru.

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

    Tentukan setiap definisi tugas dengan peran IAM-nya 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 Anda 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.