Parameter definisi layanan 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.

Parameter definisi layanan Amazon ECS

Definisi layanan menentukan cara menjalankan layanan Amazon ECS Anda. Parameter berikut dapat ditetapkan dalam ketentuan layanan.

Tipe peluncuran

launchType

Tipe: String

Nilai yang valid: EC2 | FARGATE | EXTERNAL

Wajib: Tidak

Jenis peluncuran untuk menjalankan layanan Anda. Jika jenis peluncuran tidak ditentukan, default capacityProviderStrategy digunakan secara default. Untuk informasi selengkapnya, lihat Jenis peluncuran Amazon ECS.

Jika launchType ditentukan, parameter capacityProviderStrategy harus dihilangkan.

Strategi penyedia kapasitas

capacityProviderStrategy

Tipe: Array objek

Wajib: Tidak

Strategi penyedia kapasitas untuk digunakan untuk layanan.

Strategi penyedia kapasitas terdiri dari satu penyedia kapasitas atau lebih bersama dengan base dan weight yang ditetapkan padanya. Penyedia kapasitas harus dikaitkan dengan klaster sebelum ditentukan dalam strategi penyedia kapasitas. PutClusterCapacityProviders API digunakan untuk mengaitkan penyedia kapasitas dengan cluster. Hanya penyedia kapasitas dengan status ACTIVE atau UPDATING yang dapat digunakan.

Jika capacityProviderStrategy ditetapkan, parameter launchType harus dihilangkan. Jika tidak ada capacityProviderStrategy atau launchType ditentukan, defaultCapacityProviderStrategy untuk klaster digunakan.

Jika Anda ingin menentukan penyedia kapasitas yang menggunakan grup Auto Scaling, penyedia kapasitas harus sudah dibuat. Penyedia kapasitas baru dapat dibuat dengan operasi CreateCapacityProvider API.

Untuk menggunakan penyedia kapasitas AWS Fargate, tentukan penyedia FARGATE_SPOT kapasitas FARGATE atau penyedia. Penyedia kapasitas AWS Fargate tersedia untuk semua akun dan hanya perlu dikaitkan dengan cluster yang akan digunakan.

Operasi PutClusterCapacityProviders API digunakan untuk memperbarui daftar penyedia kapasitas yang tersedia untuk klaster setelah cluster dibuat.

capacityProvider

Tipe: String

Diperlukan: Ya

Nama pendek atau nama sumber daya Amazon lengkap (ARN) dari penyedia kapasitas.

weight

Jenis: Integer

Kisaran yang valid: Bilangan bulat antara 0 dan 1.000.

Wajib: Tidak

Nilai bobot menunjukkan persentase relatif dari jumlah total tugas yang diluncurkan yang menggunakan penyedia kapasitas yang ditentukan.

Misalnya, asumsikan bahwa Anda memiliki strategi yang berisi dua penyedia kapasitas dan keduanya memiliki bobot satu. Ketika basis terpenuhi, tugas-tugas terbagi secara merata di dua penyedia kapasitas. Menggunakan logika yang sama, asumsikan bahwa Anda menentukan bobot 1 untuk CapacityProvidera dan bobot 4 untuk CapacityProviderB. Kemudian, untuk setiap satu tugas yang dijalankan menggunakan CapacityProvidera, empat tugas menggunakan CapacityProviderB.

base

Jenis: Integer

Kisaran valid: Bilangan bulat antara 0 dan 100.000.

Wajib: Tidak

Nilai dasar menunjuk berapa banyak tugas, minimal, yang akan berjalan di penyedia kapasitas yang ditentukan. Hanya satu penyedia kapasitas dalam strategi penyedia kapasitas dapat memiliki basis yang ditentukan.

Ketentuan tugas

taskDefinition

Tipe: String

Wajib: Tidak

Nama Sumber Daya Amazon revision (ARNfamily:revision) family dan () atau lengkap dari definisi tugas yang akan dijalankan di layanan Anda. Jika a revision tidak ditentukan, ACTIVE revisi terbaru dari keluarga yang ditentukan akan digunakan.

Ketentuan tugas harus ditentukan ketika menggunakan pembaruan bergulir (ECS) pengendali deployment.

Sistem operasi platform

platformFamily

Jenis: string

Wajib: Bersyarat

Default: Linux

Parameter ini diperlukan untuk layanan Amazon ECS yang dihosting di Fargate.

Parameter ini diabaikan untuk layanan Amazon ECS yang dihosting di Amazon EC2.

Sistem operasi pada kontainer yang menjalankan layanan. Nilai yang valid adalahLINUX,WINDOWS_SERVER_2019_FULL,WINDOWS_SERVER_2019_CORE,WINDOWS_SERVER_2022_FULL, danWINDOWS_SERVER_2022_CORE.

platformFamilyNilai untuk setiap tugas yang Anda tentukan untuk layanan harus sesuai dengan platformFamily nilai layanan. Misalnya, jika Anda mengatur platformFamily keWINDOWS_SERVER_2019_FULL, platformFamily nilai untuk semua tugas harusWINDOWS_SERVER_2019_FULL.

Versi platform

platformVersion

Tipe: String

Wajib: Tidak

Versi platform tempat tugas Anda dalam layanan berjalan. Versi platform hanya ditentukan untuk tugas yang menggunakan tipe peluncuran Fargate. Jika tidak ditentukan, versi terbaru (LATEST) digunakan secara default.

AWS Versi platform Fargate digunakan untuk merujuk ke lingkungan runtime tertentu untuk infrastruktur tugas Fargate. Saat menentukan versi LATEST platform saat menjalankan tugas atau membuat layanan, Anda mendapatkan versi platform terbaru yang tersedia untuk tugas Anda. Saat Anda meningkatkan layanan Anda, tugas-tugas tersebut menerima versi platform yang ditentukan pada penerapan layanan saat ini. Untuk informasi selengkapnya, lihat Versi platform Fargate untuk Amazon ECS.

catatan

Versi platform tidak ditentukan untuk tugas yang menggunakan jenis EC2 peluncuran.

Klaster

cluster

Tipe: String

Wajib: Tidak

Nama pendek atau Amazon Resource Name (ARN) lengkap dari klaster untuk menjalankan layanan Anda. Jika Anda tidak menentukan cluster, default cluster diasumsikan.

Nama layanan

serviceName

Tipe: String

Diperlukan: Ya

Nama layanan Anda. Mengizinkan hingga 255 huruf (huruf besar dan huruf kecil), angka, tanda hubung, dan garis bawah. Nama layanan harus unik dalam sebuah klaster, tetapi Anda dapat memiliki layanan yang bernama sama di beberapa klaster dalam satu Wilayah atau lebih.

Strategi penjadwalan

schedulingStrategy

Tipe: String

Nilai yang valid: REPLICA | DAEMON

Wajib: Tidak

Strategi penjadwalan yang boleh digunakan. Jika strategi penjadwalan tidak ditentukan, maka strategi REPLICA digunakan. Untuk informasi selengkapnya, lihat Layanan-layanan Amazon ECS.

Ada dua strategi penjadwal layanan yang tersedia:

  • REPLICAStrategi penjadwalan replika menempatkan dan mempertahankan jumlah tugas yang diinginkan di seluruh cluster Anda. Secara default tugas tersebar di seluruh Availability Zone. Anda dapat menggunakan strategi penempatan tugas dan kendala untuk menyesuaikan keputusan penempatan tugas. Untuk informasi selengkapnya, lihat Strategi replika.

  • DAEMON—Strategi penjadwalan daemon menerapkan tepat satu tugas pada setiap instance kontainer aktif yang memenuhi semua batasan penempatan tugas yang Anda tentukan di cluster Anda. Saat menggunakan strategi ini, tidak perlu menentukan jumlah tugas yang diinginkan, strategi penempatan tugas, atau menggunakan kebijakan Auto Scaling Layanan. Untuk informasi selengkapnya, lihat Strategi daemon.

    catatan

    Tugas Fargate tidak mendukung strategi DAEMON penjadwalan.

Jumlah yang diinginkan

desiredCount

Tipe: Integer

Wajib: Tidak

Jumlah instantiasi definisi tugas yang ditentukan untuk ditempatkan dan terus berjalan di layanan Anda.

Parameter ini diperlukan jika strategi penjadwalan REPLICA digunakan. Jika layanan menggunakan strategi penjadwalan DAEMON, parameter ini bersifat opsional.

Saat Anda menggunakan penskalaan otomatis layanan, saat memperbarui layanan yang sedang berjalan dengan jumlah tugas yang sedang berjalan desiredCount kurang dari jumlah tugas yang sedang berjalan, layanan akan menurunkan skala ke yang ditentukandesiredCount.

Konfigurasi deployment

deploymentConfiguration

Tipe: Objek

Wajib: Tidak

Parameter deployment opsional yang mengendalikan berapa banyak tugas yang berjalan selama deployment dan pengurutan tugas berhenti dan memulai.

maximumPercent

Tipe: Integer

Wajib: Tidak

Jika layanan menggunakan tipe penerapan rolling update (ECS), maximumPercent parameter tersebut mewakili batas atas jumlah tugas layanan Anda yang diizinkan dalam RUNNINGSTOPPING, atau PENDING status selama penerapan. Hal ini dinyatakan sebagai persentase dari desiredCount yang dibulatkan ke bawah ke bilangan bulat terdekat. Anda dapat menggunakan parameter ini untuk menentukan ukuran batch deployment. Misalnya, jika layanan Anda menggunakan penjadwal REPLICA layanan dan memiliki desiredCount empat tugas dan maximumPercent nilai 200%, penjadwal memulai empat tugas baru sebelum menghentikan empat tugas lama. Ini asalkan sumber daya cluster yang diperlukan untuk melakukan ini tersedia. Nilai maximumPercent default untuk layanan yang menggunakan penjadwal layanan REPLICA adalah 200%.

Penjadwal Amazon ECS menggunakan parameter ini untuk mengganti tugas yang tidak sehat dengan memulai tugas pengganti terlebih dahulu dan kemudian menghentikan tugas yang tidak sehat, selama sumber daya cluster untuk memulai tugas pengganti tersedia. Untuk informasi selengkapnya tentang cara penjadwal menggantikan tugas yang tidak sehat, lihat. Layanan-layanan Amazon ECS

Jika layanan Anda menggunakan jenis penjadwal DAEMON layanan, maximumPercent harus tetap pada 100%. Ini adalah nilai default.

Jumlah maksimum tugas selama deployment adalah desiredCount dikalikan dengan maximumPercent/100, dibulatkan ke bawah ke nilai integer terdekat.

Jika layanan menggunakan jenis dan tugas biru/hijau (CODE_DEPLOY) atau EXTERNAL penerapan yang menggunakan tipe EC2 peluncuran, nilai persen maksimum disetel ke nilai default. Nilai digunakan untuk menentukan batas atas jumlah tugas dalam layanan yang tetap dalam RUNNING status saat instance kontainer berada dalam DRAINING status.

catatan

Anda tidak dapat menentukan maximumPercent nilai kustom untuk layanan yang menggunakan jenis biru/hijau (CODE_DEPLOY) atau EXTERNAL penerapan dan memiliki tugas yang menggunakan jenis peluncuran. EC2

Jika layanan menggunakan tipe biru/hijau (CODE_DEPLOY) atau EXTERNAL penerapan, dan tugas dalam layanan menggunakan tipe peluncuran Fargate, nilai persen maksimum tidak digunakan. Nilai masih dikembalikan saat menjelaskan layanan Anda.

minimumHealthyPercent

Tipe: Integer

Wajib: Tidak

Jika layanan menggunakan tipe penerapan rolling update (ECS), layanan tersebut minimumHealthyPercent mewakili batas bawah pada jumlah tugas layanan Anda yang harus tetap berada dalam RUNNING status selama penerapan. Ini dinyatakan sebagai persentase dari desiredCount yang dibulatkan ke bilangan bulat terdekat. Anda dapat menggunakan parameter ini untuk menyebarkan tanpa menggunakan kapasitas cluster tambahan.

Misalnya, jika layanan Anda memiliki desiredCount empat tugas, 50%, dan 100%, penjadwal layanan menghentikan dua tugas yang ada untuk membebaskan kapasitas cluster sebelum memulai dua tugas baru. minimumHealthyPercent maximumPercent

Jika ada tugas yang tidak sehat dan jika maximumPercent tidak memungkinkan penjadwal Amazon ECS untuk memulai tugas penggantian, penjadwal menghentikan tugas yang tidak sehat one-by-one — menggunakan minimumHealthyPercent sebagai kendala — untuk membersihkan kapasitas untuk meluncurkan tugas pengganti. Untuk informasi selengkapnya tentang cara penjadwal menggantikan tugas yang tidak sehat, lihat. Layanan-layanan Amazon ECS

Untuk layanan yang tidak menggunakan penyeimbang beban, pertimbangkan hal berikut:

  • Sebuah layanan dianggap baik jika semua kontainer penting dalam tugas dalam layanan lulus pemeriksaan kondisi.

  • Jika tugas tidak memiliki wadah penting dengan pemeriksaan kesehatan yang ditentukan, penjadwal layanan menunggu selama 40 detik setelah tugas mencapai RUNNING keadaan sebelum tugas dihitung terhadap total persen sehat minimum.

  • Jika suatu tugas memiliki satu atau lebih wadah penting dengan pemeriksaan kesehatan yang ditentukan, penjadwal layanan menunggu tugas mencapai status sehat sebelum menghitungnya ke total persen sehat minimum. Sebuah tugas dianggap baik ketika semua kontainer penting dalam tugas telah lulus pemeriksaan kondisi. Jumlah waktu tunggu penjadwal layanan ditentukan oleh pengaturan pemeriksaan kondisi kontainer. Untuk informasi selengkapnya, lihat Pemeriksaan kondisi.

Untuk layanan yang menggunakan load balancer, perhatikan hal berikut:

  • Jika suatu tugas tidak memiliki wadah penting dengan pemeriksaan kesehatan yang ditentukan, penjadwal layanan menunggu pemeriksaan kesehatan kelompok sasaran penyeimbang beban untuk mengembalikan status sehat sebelum menghitung tugas menuju total persen sehat minimum.

  • Jika tugas memiliki wadah penting dengan pemeriksaan kesehatan yang ditentukan, penjadwal layanan menunggu tugas untuk mencapai status sehat dan pemeriksaan kesehatan kelompok target penyeimbang beban untuk mengembalikan status sehat sebelum menghitung tugas menuju total persen sehat minimum.

Nilai default untuk layanan replika untuk minimumHealthyPercent adalah 100%. minimumHealthyPercentNilai default untuk layanan yang menggunakan jadwal DAEMON layanan adalah 0% untuk AWS CLI AWS SDKs, the, APIs dan 50% untuk AWS Management Console.

Jumlah minimal tugas sehat selama deployment adalah desiredCount dikalikan dengan minimumHealthyPercent/100, dibulatkan ke atas ke nilai bilangan bulat terdekat.

Jika layanan menggunakan tipe biru/hijau (CODE_DEPLOY) atau EXTERNAL penerapan dan menjalankan tugas yang menggunakan tipe EC2 peluncuran, nilai persen sehat minimum disetel ke nilai default. Nilai digunakan untuk menentukan batas bawah pada jumlah tugas dalam layanan yang tetap dalam RUNNING status saat instance kontainer berada dalam DRAINING status.

catatan

Anda tidak dapat menentukan maximumPercent nilai kustom untuk layanan yang menggunakan jenis biru/hijau (CODE_DEPLOY) atau EXTERNAL penerapan dan memiliki tugas yang menggunakan jenis peluncuran. EC2

Jika layanan menggunakan tipe biru/hijau (CODE_DEPLOY) atau EXTERNAL penerapan dan menjalankan tugas yang menggunakan tipe peluncuran Fargate, nilai persen sehat minimum tidak digunakan, meskipun layanan tersebut dikembalikan saat mendeskripsikan layanan Anda.

Pengendali deployment

deploymentController

Tipe: Objek

Wajib: Tidak

Pengendali deployment yang bisa digunakan untuk layanan. Jika pengendali deployment tidak ditentukan, maka digunakan pengendali ECS. Untuk informasi selengkapnya, lihat Layanan-layanan Amazon ECS.

type

Tipe: String

Nilai yang valid: ECS | CODE_DEPLOY | EXTERNAL

Wajib: ya

Tipe pengendali deployment yang bisa digunakan. Tersedia tiga tipe pengendali deployment:

ECS

Tipe deployment (ECS) pembaruan bergulir mencakup penggantian versi yang berjalan sekarang dari kontainer dengan versi terbaru. Jumlah kontainer Amazon ECS yang ditambahkan atau dihapus dari layanan selama pembaruan bergulir dikendalikan dengan menyesuaikan jumlah minimum dan maksimum tugas sehat yang diizinkan selama penerapan layanan, seperti yang ditentukan dalam. deploymentConfiguration

CODE_DEPLOY

Jenis penyebaran blue/green (CODE_DEPLOY) menggunakan model blue/green penerapan yang didukung oleh CodeDeploy, yang memungkinkan Anda memverifikasi penerapan layanan baru sebelum mengirimkan lalu lintas produksi ke sana.

EXTERNAL

Gunakan jenis penerapan eksternal saat Anda ingin menggunakan pengontrol penerapan pihak ketiga untuk kontrol penuh atas proses penyebaran untuk layanan Amazon ECS.

Penempatan tugas

placementConstraints

Tipe: Array objek

Wajib: Tidak

Aray objek batasan penempatan yang digunakan untuk tugas dalam layanan Anda. Anda dapat menentukan maksimum 10 kendala per tugas. Batas ini mencakup kendala dalam definisi tugas dan yang ditentukan pada waktu berjalan. Jika Anda menggunakan tipe peluncuran Fargate, batasan penempatan tugas tidak didukung.

type

Tipe: String

Wajib: Tidak

Tipe batasan. Gunakan distinctInstance untuk memastikan bahwa setiap tugas dalam grup tertentu berjalan di instans kontainer yang berbeda. Gunakan memberOf untuk membatasi seleksi ke grup kandidat yang valid. Nilai distinctInstance tidak didukung dalam ketentuan tugas.

expression

Tipe: String

Wajib: Tidak

Ekspresi bahasa kueri klaster untuk diterapkan pada batasan. Ingat bahwa Anda tidak dapat menentukan ekspresi jika tipe kendalanya adalah distinctInstance. Untuk informasi selengkapnya, lihat Buat ekspresi untuk menentukan instance kontainer untuk tugas Amazon ECS.

placementStrategy

Tipe: Array objek

Wajib: Tidak

Objek strategi penempatan untuk digunakan untuk tugas di layanan Anda. Anda dapat menentukan maksimal empat aturan strategi per layanan.

type

Tipe: String

Nilai yang valid: random | spread | binpack

Wajib: Tidak

Tipe strategi penempatan. Strategi penempatan random menempatkan tugas pada kandidat yang tersedia secara acak. Strategi penempatan spread menyebarkan penempatan di seluruh kandidat yang tersedia secara merata berdasarkan parameter field. binpackStrategi menempatkan tugas pada kandidat yang tersedia yang memiliki jumlah sumber daya paling sedikit yang tersedia yang ditentukan dengan field parameter. Misalnya, jika Anda binpack pada memori, tugas ditempatkan pada instance dengan jumlah memori yang tersisa paling sedikit tetapi masih cukup untuk menjalankan tugas.

field

Tipe: String

Wajib: Tidak

Bidang tempat menerapkan strategi penempatan. Untuk strategi spread penempatan, nilai yang valid adalah instanceId (atauhost, yang memiliki efek yang sama), atau platform atau atribut khusus apa pun yang diterapkan ke instance container, sepertiattribute:ecs.availability-zone. Untuk strategi penempatan binpack, nilai yang valid adalah cpu dan memory. Untuk strategi penempatan random, bidang ini tidak digunakan.

Tanda

tags

Tipe: Array objek

Wajib: Tidak

Metadata yang Anda terapkan ke layanan untuk membantu Anda mengkategorikan dan mengaturnya. Setiap tag terdiri dari kunci dan nilai opsional, yang keduanya Anda tentukan. Ketika layanan dihapus, tag akan dihapus juga. Maksimal 50 tag dapat diterapkan ke layanan. Untuk informasi selengkapnya, lihat Menandai sumber daya Amazon ECS.

key

Tipe: String

Batasan Panjang: Panjang minimum 1. Panjang maksimum 128.

Wajib: Tidak

Satu bagian dari pasangan nilai kunci yang membentuk tanda. Kunci adalah label umum yang bertindak seperti kategori untuk nilai tanda yang lebih spesifik.

value

Tipe: String

Batasan Panjang: Panjang minimum 0. Panjang maksimum 256.

Wajib: Tidak

Bagian opsional pasangan nilai kunci yang membentuk tanda. Nilai bertindak sebagai deskriptor dalam kategori tanda (kunci).

enableECSManagedTags

Jenis: Boolean

Nilai yang valid: true | false

Wajib: Tidak

Menentukan apakah akan menggunakan tag terkelola Amazon ECS untuk tugas dalam layanan. Jika tidak ada nilai yang ditentukan, nilai defaultnya adalah false. Untuk informasi selengkapnya, lihat Gunakan tag untuk penagihan.

propagateTags

Tipe: String

Nilai yang valid: TASK_DEFINITION | SERVICE

Wajib: Tidak

Menentukan apakah akan menyalin tag dari definisi tugas atau layanan untuk tugas-tugas dalam layanan. Jika tidak ada nilai yang ditentukan, tag tidak disalin. Tag hanya dapat disalin ke tugas dalam layanan selama pembuatan layanan. Untuk menambahkan tag ke tugas setelah pembuatan layanan atau pembuatan tugas, gunakan tindakan TagResource API.

Konfigurasi jaringan

networkConfiguration

Tipe: Objek

Wajib: Tidak

Konfigurasi jaringan untuk layanan. Parameter ini diperlukan untuk definisi tugas yang menggunakan mode awsvpc jaringan untuk menerima Antarmuka Jaringan Elastis mereka sendiri, dan tidak didukung untuk mode jaringan lainnya. Jika menggunakan tipe peluncuran Fargate, mode awsvpc jaringan diperlukan. Untuk informasi selengkapnya tentang jaringan untuk jenis EC2 peluncuran Amazon, lihatOpsi jaringan tugas Amazon ECS untuk jenis EC2 peluncuran. Untuk informasi selengkapnya tentang jaringan untuk jenis peluncuran Fargate, lihat opsi jaringan tugas Amazon ECS untuk jenis peluncuran Fargate.

awsvpcConfiguration

Tipe: Objek

Wajib: Tidak

Sebuah objek yang menunjukkan subnet dan grup keamanan untuk tugas atau layanan.

subnets

Tipe: Array string

Wajib: Ya

Subnet yang terkait dengan tugas atau layanan. Ada batas 16 subnet yang dapat ditentukan sesuai denganawsvpcConfiguration.

securityGroups

Tipe: Array string

Wajib: Tidak

Grup keamanan yang terkait dengan tugas atau layanan. Jika Anda tidak menentukan grup keamanan, grup keamanan default untuk VPC akan digunakan. Ada batas lima grup keamanan yang dapat ditentukan berdasarkanawsvpcConfiguration.

assignPublicIP

Tipe: String

Nilai yang valid: ENABLED | DISABLED

Wajib: Tidak

Apakah antarmuka jaringan elastis tugas menerima alamat IP publik. Jika nilai tidak ditentukan, maka digunakan nilai default DISABLED.

healthCheckGracePeriodSeconds

Tipe: Integer

Wajib: Tidak

Periode waktu, dalam hitungan detik, bahwa penjadwal layanan Amazon ECS mengabaikan Elastic Load Balancing, VPC Lattice, dan pemeriksaan kesehatan kontainer yang tidak sehat setelah tugas pertama kali dimulai. Jika Anda tidak menentukan nilai tenggang pemeriksaan kesehatan, nilai default 0 digunakan. Jika Anda tidak menggunakan salah satu pemeriksaan kesehatan, maka tidak healthCheckGracePeriodSeconds digunakan.

Jika tugas layanan Anda membutuhkan waktu cukup lama untuk memulai dan merespons, Anda dapat menentukan masa tenggang pemeriksaan kesehatan hingga 2.147.483.647 detik (sekitar 69 tahun). Selama waktu itu, penjadwal layanan Amazon ECS mengabaikan status pemeriksaan kesehatan. Masa tenggang ini dapat mencegah penjadwal layanan menandai tugas sebagai tidak sehat dan menghentikan mereka sebelum mereka memiliki waktu untuk muncul.

loadBalancers

Tipe: Array objek

Wajib: Tidak

Sebuah objek penyeimbang beban menunjukkan penyeimbang beban untuk digunakan dengan layanan Anda. Untuk layanan yang menggunakan Application Load Balancer atau Network Load Balancer, ada batasan lima grup target yang dapat Anda lampirkan ke layanan.

Setelah Anda membuat layanan, konfigurasi penyeimbang beban tidak dapat diubah dari. AWS Management Console Anda dapat menggunakan AWS Copilot, AWS CloudFormation, AWS CLI atau SDK untuk memodifikasi konfigurasi penyeimbang beban hanya untuk pengontrol penerapan ECS bergulir, bukan biru/hijau atau eksternal. AWS CodeDeploy Saat Anda menambahkan, memperbarui, atau menghapus konfigurasi penyeimbang beban, Amazon ECS memulai penerapan baru dengan konfigurasi Elastic Load Balancing yang diperbarui. Hal ini menyebabkan tugas mendaftar dan membatalkan pendaftaran dari penyeimbang beban. Kami menyarankan Anda memverifikasi ini di lingkungan pengujian sebelum memperbarui konfigurasi Elastic Load Balancing. Untuk informasi tentang cara mengubah konfigurasi, lihat UpdateServicedi Referensi API Amazon Elastic Container Service.

Untuk Application Load Balancers dan Network Load Balancers, objek ini harus berisi kelompok target load balancer ARN, nama kontainer (seperti yang muncul dalam definisi kontainer), dan port kontainer untuk mengakses dari penyeimbang beban. Ketika tugas dari layanan ini ditempatkan pada instance kontainer, instance kontainer dan kombinasi port terdaftar sebagai target dalam kelompok target yang ditentukan.

targetGroupArn

Tipe: String

Wajib: Tidak

Nama Sumber Daya Amazon (ARN) lengkap dari grup target Elastic Load Balancing yang terkait dengan layanan.

ARN grup target hanya ditentukan saat menggunakan Application Load Balancer atau Penyeimbang Beban Jaringan.

loadBalancerName

Tipe: String

Wajib: Tidak

Nama penyeimbang beban untuk dikaitkan dengan layanan.

Jika Anda menggunakan Application Load Balancer atau Network Load Balancer, hilangkan parameter nama load balancer.

containerName

Tipe: String

Wajib: Tidak

Nama kontainer (seperti yang muncul dalam ketentuan kontainer) untuk dikaitkan dengan penyeimbang beban.

containerPort

Tipe: Bilangan bulat

Wajib: Tidak

Port pada kontainer untuk dikaitkan dengan penyeimbang beban. Port ini harus sesuai dengan containerPort dalam ketentuan tugas yang digunakan oleh tugas dalam layanan. Untuk tugas yang menggunakan tipe EC2 peluncuran, instance container harus mengizinkan lalu lintas masuk pada hostPort pemetaan port.

role

Tipe: String

Wajib: Tidak

Nama pendek atau ARN lengkap dari peran IAM yang memungkinkan Amazon ECS melakukan panggilan ke penyeimbang beban Anda atas nama Anda. Parameter ini hanya diizinkan jika Anda menggunakan penyeimbang beban dengan satu grup target untuk layanan Anda, dan definisi tugas Anda tidak menggunakan mode awsvpc jaringan. Jika Anda menentukan role parameter, Anda juga harus menentukan objek penyeimbang beban dengan loadBalancers parameter.

Jika peran yang Anda tentukan memiliki jalur selain /, maka Anda harus menentukan ARN peran penuh (dianjurkan) atau awalan nama peran dengan jalur. Misalnya, jika peran dengan nama bar memiliki jalur dari /foo/ maka Anda akan menentukan /foo/bar sebagai nama peran. Untuk informasi selengkapnya, lihat Nama dan Jalur Ramah di Panduan Pengguna IAM.

penting

Jika akun Anda telah membuat peran terkait layanan Amazon ECS, peran tersebut digunakan secara default untuk layanan Anda kecuali Anda menentukan peran di sini. Peran terkait layanan diperlukan jika definisi tugas Anda menggunakan mode jaringan awsvpc, dalam hal ini Anda tidak boleh menentukan peran di sini. Untuk informasi selengkapnya, lihat Menggunakan peran terkait layanan untuk Amazon ECS.

serviceConnectConfiguration

Tipe: Objek

Wajib: Tidak

Konfigurasi untuk layanan ini untuk menemukan dan terhubung ke layanan, dan ditemukan oleh, dan terhubung dari, layanan lain dalam namespace.

Untuk informasi selengkapnya, lihat Gunakan Service Connect untuk menghubungkan layanan Amazon ECS dengan nama pendek.

enabled

Jenis: Boolean

Wajib: Ya

Menentukan apakah akan menggunakan Service Connect dengan layanan ini.

namespace

Tipe: String

Wajib: Tidak

Nama pendek atau nama sumber daya Amazon lengkap (ARN) dari AWS Cloud Map namespace untuk digunakan dengan Service Connect. Namespace harus Wilayah AWS sama dengan layanan Amazon ECS dan cluster. Jenis namespace tidak memengaruhi Service Connect. Untuk informasi selengkapnya AWS Cloud Map, lihat Bekerja dengan Layanan di Panduan AWS Cloud Map Pengembang.

services

Tipe: Array objek

Wajib: Tidak

Array objek layanan Service Connect. Ini adalah nama dan alias (juga dikenal sebagai titik akhir) yang digunakan oleh layanan Amazon ECS lainnya untuk terhubung ke layanan ini.

Bidang ini tidak diperlukan untuk layanan Amazon ECS “klien” yang merupakan anggota namespace hanya untuk terhubung ke layanan lain di dalam namespace. Contohnya adalah aplikasi frontend yang menerima permintaan masuk dari penyeimbang beban yang dilampirkan ke layanan atau dengan cara lain.

Objek memilih port dari definisi tugas, menetapkan nama untuk AWS Cloud Map layanan, dan array alias (juga dikenal sebagai titik akhir) dan port untuk aplikasi klien untuk merujuk ke layanan ini.

portName

Tipe: String

Diperlukan: Ya

portNameHarus cocok dengan name salah satu portMappings dari semua wadah dalam definisi tugas layanan Amazon ECS ini.

discoveryName

Tipe: String

Wajib: Tidak

discoveryNameItu adalah nama AWS Cloud Map layanan baru yang dibuat Amazon ECS untuk layanan Amazon ECS ini. Ini harus unik di dalam AWS Cloud Map namespace.

Jika bidang ini tidak ditentukan, portName digunakan.

clientAliases

Tipe: Array objek

Wajib: Tidak

Daftar alias klien untuk layanan koneksi layanan ini. Anda menggunakan ini untuk menetapkan nama yang dapat digunakan oleh aplikasi klien. Jumlah maksimum alias klien yang dapat Anda miliki dalam daftar ini adalah 1.

Setiap alias (“endpoint”) adalah nama DNS dan nomor port yang dapat digunakan layanan Amazon ECS lainnya (“klien”) untuk terhubung ke layanan ini.

Setiap kombinasi nama dan port harus unik di dalam namespace.

Nama-nama ini dikonfigurasi dalam setiap tugas layanan klien, bukan di AWS Cloud Map. Permintaan DNS untuk menyelesaikan nama-nama ini tidak meninggalkan tugas, dan tidak dihitung terhadap kuota permintaan DNS per detik per elastic network interface.

port

Jenis: Integer

Wajib: Ya

Nomor port mendengarkan untuk proxy koneksi layanan. Port ini tersedia di dalam semua tugas dalam namespace yang sama.

Untuk menghindari perubahan aplikasi Anda di layanan Amazon ECS klien, atur ini ke port yang sama yang digunakan aplikasi klien secara default.

dnsName

Tipe: String

Wajib: Tidak

Itu dnsName adalah nama yang Anda gunakan dalam aplikasi tugas klien untuk terhubung ke layanan ini. Nama harus berupa label DNS yang valid.

Nilai default adalah discoveryName.namespace jika bidang ini tidak ditentukan. Jika discoveryName tidak ditentukan, definisi portName dari tugas digunakan.

Untuk menghindari perubahan aplikasi Anda di layanan Amazon ECS klien, atur ini ke nama yang sama dengan yang digunakan aplikasi klien secara default. Misalnya, beberapa nama umum adalahdatabase,db, atau nama huruf kecil dari database, seperti mysql atau. redis

ingressPortOverride

Tipe: Integer

Wajib: Tidak

(Opsional) Nomor port untuk proxy Service Connect untuk mendengarkan.

Gunakan nilai bidang ini untuk melewati proxy untuk lalu lintas pada nomor port yang ditentukan dalam nama portMapping dalam definisi tugas aplikasi ini, lalu gunakan di grup keamanan Amazon VPC Anda untuk mengizinkan lalu lintas ke proxy untuk layanan Amazon ECS ini.

Dalam awsvpc mode, nilai default adalah nomor port kontainer yang ditentukan dalam nama portMapping dalam definisi tugas aplikasi ini. Dalam bridge mode, nilai default adalah port singkat dinamis dari proxy Service Connect.

logConfiguration

Jenis: LogConfigurationObjek

Wajib: Tidak

Ini menentukan di mana log proxy Service Connect dipublikasikan. Gunakan log untuk debugging selama kejadian tak terduga. Konfigurasi ini menetapkan logConfiguration parameter dalam wadah proxy Service Connect di setiap tugas di layanan Amazon ECS ini. Kontainer proxy tidak ditentukan dalam definisi tugas.

Kami menyarankan Anda menggunakan konfigurasi log yang sama dengan wadah aplikasi definisi tugas untuk layanan Amazon ECS ini. Untuk FireLens, ini adalah konfigurasi log dari wadah aplikasi. Bukan wadah router FireLens log yang menggunakan gambar fluent-bit atau fluentd kontainer.

serviceRegistries

Tipe: Array objek

Wajib: Tidak

Detail konfigurasi pencari layanan untuk layanan Anda. Untuk informasi selengkapnya, lihat Gunakan penemuan layanan untuk menghubungkan layanan Amazon ECS dengan nama DNS.

registryArn

Tipe: String

Wajib: Tidak

Nama Sumber Daya Amazon (ARN) dari registri layanan. Registri layanan yang saat ini didukung adalah AWS Cloud Map. Untuk informasi selengkapnya, lihat Bekerja dengan Layanan di Panduan AWS Cloud Map Pengembang.

port

Tipe: Integer

Wajib: Tidak

Nilai port yang digunakan jika layanan penemuan layanan Anda menentukan catatan SRV. Kolom ini wajib diisi jika mode jaringan awsvpc dan catatan SRV digunakan.

containerName

Tipe: String

Wajib: Tidak

Nilai nama kontainer yang akan digunakan untuk layanan penemuan layanan Anda. Nilai ini ditentukan dalam definisi tugas. Jika ketentuan tugas yang menentukan tugas layanan Anda menggunakan mode jaringan bridge atau host, Anda harus menentukan kombinasi containerName dan containerPort dari ketentuan tugas. Jika ketentuan tugas yang ditentukan oleh tugas layanan Anda menggunakan mode jaringan awsvpc dan tipe catatan SRV DNS digunakan, Anda harus menentukan apakah akan menggunakan salah satu kombinasi containerName dan containerPort atau nilai port, tetapi tidak keduanya.

containerPort

Tipe: Integer

Wajib: Tidak

Nilai port yang akan digunakan untuk layanan penemuan layanan Anda. Nilai ini ditentukan dalam definisi tugas. Jika ketentuan tugas yang ditentukan oleh tugas layanan Anda menggunakan mode jaringan bridge atau host, Anda harus menentukan kombinasi containerName dan containerPort dari ketentuan tugas. Jika ketentuan tugas yang ditentukan oleh tugas layanan Anda menggunakan mode jaringan awsvpc dan tipe catatan SRV DNS digunakan, Anda harus menentukan apakah akan menggunakan salah satu kombinasi containerName dan containerPort atau nilai port, tetapi tidak keduanya.

Token klien

clientToken

Tipe: String

Wajib: Tidak

Pengenal unik dan peka huruf besar/kecil yang Anda berikan untuk memastikan idempotensi permintaan. Panjangnya bisa mencapai 32 karakter ASCII.

Rebalancing Zona Ketersediaan

availabilityZoneRebalancing

Tipe: String

Wajib: Tidak

Menunjukkan apakah layanan menggunakan penyeimbangan kembali Availability Zone. Nilai yang valid adalah dan. ENABLED DISABLED Untuk informasi selengkapnya tentang penyeimbangan kembali Availability Zone, lihat. Menyeimbangkan layanan Amazon ECS di seluruh Availability Zone

Konfigurasi volume

volumeConfigurations

Tipe: Objek

Wajib: Tidak

Konfigurasi yang akan digunakan untuk membuat volume untuk tugas-tugas yang dikelola oleh layanan. Hanya volume yang ditandai seperti configuredAtLaunch dalam definisi tugas yang dapat dikonfigurasi dengan menggunakan objek ini.

Objek ini diperlukan untuk melampirkan volume Amazon EBS ke tugas yang dikelola oleh layanan. Untuk informasi selengkapnya, lihat Gunakan volume Amazon EBS dengan Amazon ECS.

name

Tipe: String

Diperlukan: Ya

Nama volume yang dikonfigurasi saat membuat atau memperbarui layanan. Hingga 255 huruf (huruf besar dan kecil), angka, garis bawah (), dan tanda hubung (_) diperbolehkan. - Nilai ini harus cocok dengan nama volume yang ditentukan dalam definisi tugas.

managedEBSVolume

Tipe: Objek

Wajib: Tidak

Konfigurasi volume yang digunakan untuk membuat volume Amazon EBS yang dilampirkan ke tugas yang dikelola oleh layanan saat layanan dibuat atau diperbarui. Satu volume dilampirkan per tugas.

encrypted

Tipe: Boolean

Wajib: Tidak

Nilai yang valid: true | false

Menentukan apakah akan mengenkripsi setiap volume Amazon EBS dibuat. Jika Anda telah mengaktifkan enkripsi Amazon EBS secara default untuk yang khusus Wilayah AWS untuk Anda Akun AWS tetapi menetapkan parameter inifalse, parameter ini akan diganti, dan volume akan dienkripsi dengan kunci KMS yang ditentukan untuk enkripsi secara default. Untuk informasi selengkapnya tentang enkripsi Amazon EBS secara default, lihat Mengaktifkan enkripsi Amazon EBS secara default di Panduan Pengguna Amazon EBS. Untuk informasi selengkapnya tentang mengenkripsi volume Amazon EBS yang dilampirkan ke tugas Amazon ECS, lihat. Enkripsi data yang disimpan dalam volume Amazon EBS yang dilampirkan ke tugas Amazon ECS

kmsKeyId

Tipe: String

Wajib: Tidak

Pengenal kunci AWS Key Management Service (AWS KMS) yang akan digunakan untuk enkripsi Amazon EBS. Jika kmsKeyId ditentukan, status terenkripsi harus true.

Kunci yang ditentukan menggunakan parameter ini akan menggantikan default Amazon EBS atau kunci KMS tingkat cluster apa pun untuk enkripsi penyimpanan terkelola Amazon ECS yang mungkin telah Anda tentukan. Untuk informasi selengkapnya, lihat Enkripsi data yang disimpan dalam volume Amazon EBS yang dilampirkan ke tugas Amazon ECS.

Anda dapat menentukan kunci KMS dengan menggunakan salah satu dari berikut ini:

  • ID Kunci — Misalnya,1234abcd-12ab-34cd-56ef-1234567890ab.

  • Alias kunci — Misalnya,alias/ExampleAlias.

  • ARN Kunci — Misalnya,. arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias ARN — Misalnya,. arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias

penting

AWS mengautentikasi kunci KMS secara asinkron. Oleh karena itu, jika Anda menentukan ID, alias, atau ARN yang tidak valid, tindakan dapat tampak berhasil, tetapi akhirnya gagal. Untuk informasi selengkapnya, lihat Memecahkan masalah lampiran volume Amazon EBS.

volumeType

Tipe: String

Wajib: Tidak

Nilai yang valid: gp2 gp3 | io1 | io2 | sc1 | st1 | standard

Jenis volume Amazon EBS. Untuk informasi selengkapnya tentang jenis volume, lihat Jenis volume Amazon EBS di Panduan Pengguna Amazon EBS. Jenis volume default adalah gp3.

catatan

Jenis standard volume tidak didukung untuk tugas Fargate.

sizeInGiB

Tipe: Integer

Wajib: Tidak

Rentang yang valid: Bilangan bulat antara 1 dan 16.384

Ukuran volume EBS dalam gibibytes (GiB). Jika Anda tidak memberikan ID snapshot untuk mengonfigurasi volume lampiran, Anda harus memberikan nilai ukuran. Jika Anda mengonfigurasi volume untuk lampiran menggunakan snapshot, nilai defaultnya adalah ukuran snapshot. Anda kemudian dapat menentukan ukuran yang lebih besar dari atau sama dengan ukuran snapshot.

Untuk gp2 dan jenis gp3 volume, kisaran yang valid adalah 1-16.384.

Untuk io1 dan jenis io2 volume, kisaran yang valid adalah 4-16.384.

Untuk st1 dan jenis sc1 volume, kisaran yang valid adalah 125-16.384.

Untuk jenis standard volume, kisaran yang valid adalah 1-1.024.

snapshotId

Tipe: String

Wajib: Tidak

ID snapshot volume Amazon EBS yang ada yang digunakan Amazon ECS untuk membuat volume baru untuk lampiran. Anda harus menentukan snapshotId atau sizeInGiB.

volumeInitializationRate

Tipe: Integer

Wajib: Tidak

Tingkat, dalam MIB/s, di mana data diambil dari snapshot volume Amazon EBS yang ada untuk membuat volume baru untuk lampiran. Properti ini dapat ditentukan hanya jika Anda menentukansnapshotId. Untuk informasi selengkapnya tentang tingkat inisialisasi volume ini, termasuk rentang tarif yang didukung untuk inisialisasi, lihat Menginisialisasi volume Amazon EBS di Panduan Pengguna Amazon EBS.

iops

Tipe: Integer

Wajib: Tidak

Jumlah I/O operasi per detik (IOPS). Untuk volume gp3, io1, dan io2, ini mewakili jumlah IOPS yang disediakan untuk volume. Untuk gp2 volume, nilai ini mewakili kinerja dasar volume dan tingkat di mana volume mengakumulasi I/O kredit untuk meledak. Parameter ini diperlukan untuk volume io1 dan io2. Parameter ini tidak didukung untukgp2,st1,sc1, atau standard volume.

Untuk gp3 volume, kisaran nilai yang valid adalah 3.000 hingga 16.000.

Untuk io1 volume, kisaran nilai yang valid adalah 100 hingga 64.000.

Untuk io2 volume, kisaran nilai yang valid adalah 100 hingga 64.000.

throughput

Tipe: Integer

Wajib: Tidak

Throughput untuk penyediaan volume yang melekat pada tugas-tugas yang dikelola oleh layanan.

penting

Parameter ini hanya didukung untuk gp3 volume.

roleArn

Tipe: String

Diperlukan: Ya

Amazon Resource ARN (ARN) dari peran infrastruktur AWS Identity and Access Management (IAM) yang menyediakan izin Amazon ECS untuk mengelola sumber daya Amazon EBS untuk tugas Anda. Untuk informasi selengkapnya, lihat Peran IAM infrastruktur Amazon ECS.

tagSpecifications

Tipe: Objek

Wajib: Tidak

Spesifikasi tag yang akan diterapkan pada setiap volume Amazon EBS.

resourceType

Tipe: String

Diperlukan: Ya

Nilai yang valid: volume

Jenis sumber daya untuk menandai pada penciptaan.

tags

Tipe: Array objek

Wajib: Tidak

Metadata yang Anda terapkan pada volume untuk membantu Anda mengkategorikan dan mengaturnya. Setiap tag terdiri dari kunci dan nilai opsional, yang keduanya Anda tentukan. AmazonECSCreateddan AmazonECSManaged merupakan tag cadangan yang ditambahkan oleh Amazon ECS atas nama Anda, sehingga Anda dapat menentukan maksimum 48 tag Anda sendiri. Ketika volume dihapus, tag dihapus juga. Untuk informasi selengkapnya, lihat Menandai sumber daya Amazon ECS.

key

Tipe: String

Batasan Panjang: Panjang minimum 1. Panjang maksimum 128.

Wajib: Tidak

Salah satu bagian dari pasangan kunci-nilai yang membentuk tag. Kunci adalah label umum yang bertindak seperti kategori untuk nilai tanda yang lebih spesifik.

value

Tipe: String

Batasan Panjang: Panjang minimum 0. Panjang maksimum 256.

Wajib: Tidak

Bagian opsional dari pasangan kunci-nilai yang membentuk tag. Nilai bertindak sebagai deskriptor dalam kategori tanda (kunci).

propagateTags

Tipe: String

Nilai yang valid: TASK_DEFINITION | SERVICE | NONE

Wajib: Tidak

Menentukan apakah akan menyalin tag dari definisi tugas atau layanan ke volume. Jika NONE ditentukan atau tidak ada nilai yang ditentukan, tag tidak disalin.

fileSystemType

Tipe: String

Wajib: Tidak

Nilai yang valid: xfs | ext3 | ext4 | NTFS

Jenis sistem file pada volume. Jenis sistem file volume menentukan bagaimana data disimpan dan diambil dalam volume. Untuk volume yang dibuat dari snapshot, Anda harus menentukan jenis sistem file yang sama dengan volume yang digunakan saat snapshot dibuat. Jika ada ketidakcocokan tipe sistem file, tugas akan gagal dimulai.

Nilai yang valid untuk Linux adalahxfs, ext3, and ext4. Default untuk volume yang dilampirkan ke tugas Linux adalahXFS.

Nilai yang valid untuk Windows adalahNTFS. Default untuk volume yang dilampirkan ke tugas Windows adalahNTFS.