Tentukan instance kontainer mana yang ECS digunakan Amazon untuk tugas - Amazon Elastic Container Service

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

Tentukan instance kontainer mana yang ECS digunakan Amazon untuk tugas

Batasan penempatan tugas adalah aturan tentang instance container yang ECS digunakan Amazon untuk menentukan apakah tugas diizinkan untuk dijalankan pada instance. Setidaknya satu instance kontainer harus cocok dengan kendala. Jika tidak ada instance yang cocok dengan kendala, tugas tetap dalam keadaan. PENDING Saat membuat layanan baru atau memperbarui layanan yang sudah ada, Anda dapat menentukan batasan penempatan tugas untuk tugas layanan.

Anda dapat menentukan batasan penempatan tugas dalam definisi layanan, definisi tugas, atau tugas menggunakan parameter. placementConstraint

"placementConstraints": [ { "expression": "The expression that defines the task placement constraints", "type": "The placement constraint type to use" } ]

Tabel berikut menjelaskan cara menggunakan parameter.

Jenis kendala Dapat ditentukan kapan
distinctInstance

Tempatkan setiap tugas aktif pada instance kontainer yang berbeda.

Amazon ECS melihat status tugas yang diinginkan untuk penempatan tugas. Misalnya, jika status yang diinginkan dari tugas yang ada adalahSTOPPED, (tetapi status terakhir tidak), tugas masuk baru dapat ditempatkan pada instance yang sama meskipun ada kendala distinctInstance penempatan. Oleh karena itu, Anda mungkin melihat 2 tugas dengan status terakhir RUNNING pada instance yang sama.

penting

Kami menyarankan agar pelanggan yang mencari isolasi yang kuat untuk tugas mereka menggunakan Fargate. Fargate menjalankan setiap tugas dalam lingkungan virtualisasi perangkat keras. Ini memastikan bahwa beban kerja kontainer ini tidak berbagi antarmuka jaringan, penyimpanan CPU sementara Fargate, atau memori dengan tugas lain. Untuk informasi selengkapnya, lihat Gambaran Umum Keamanan AWS Fargate.

memberOf

Tempatkan tugas pada instans kontainer yang memenuhi ekspresi.

Bila menggunakan tipe memberOf constraint, Anda dapat membuat ekspresi menggunakan bahasa kueri klaster yang menentukan instance container tempat ECS Amazon dapat menempatkan tugas. Ekspresi adalah cara bagi Anda untuk mengelompokkan instance container Anda berdasarkan atribut. Ekspresi masuk dalam expression parameterplacementConstraint.

Atribut contoh ECS wadah Amazon

Anda dapat menambahkan metadata kustom ke instans kontainer Anda, yang dikenal sebagai atribut. Tiap atribut memiliki nama dan nilai string opsional. Anda dapat menggunakan atribut bawaan yang disediakan oleh Amazon ECS atau menentukan atribut khusus.

Bagian berikut berisi contoh built-in, opsional, dan atribut kustom.

Atribut bawaan

Amazon ECS secara otomatis menerapkan atribut berikut ke instance container Anda.

ecs.ami-id

ID yang AMI digunakan untuk meluncurkan instance. Nilai contoh untuk atribut ini adalah ami-1234abcd.

ecs.availability-zone

Availability Zone untuk instans. Nilai contoh untuk atribut ini adalah us-east-1a.

ecs.instance-type

Jenis instans untuk instans tersebut. Nilai contoh untuk atribut ini adalah g2.2xlarge.

ecs.os-type

Sistem operasi untuk instans. Nilai yang mungkin untuk atribut ini adalah linux dan windows.

ecs.os-family

Versi sistem operasi untuk contoh.

Untuk contoh Linux, nilai yang valid adalahLINUX. Untuk instance Windows, ECS tetapkan nilai dalam WINDOWS_SERVER_<OS_Release>_<FULL or CORE> format. Nilai yang valid adalahWINDOWS_SERVER_2022_FULL,WINDOWS_SERVER_2022_CORE,WINDOWS_SERVER_20H2_CORE,WINDOWS_SERVER_2019_FULL,WINDOWS_SERVER_2019_CORE, danWINDOWS_SERVER_2016_FULL.

Ini penting untuk wadah Windows dan Windows containers on AWS Fargate karena versi OS dari setiap wadah Windows harus cocok dengan host. Jika versi Windows dari gambar kontainer berbeda dari host, penampung tidak dimulai. Untuk informasi selengkapnya, lihat Kompatibilitas versi penampung Windows di situs web dokumentasi Microsoft.

Jika klaster Anda menjalankan beberapa versi Windows, Anda dapat memastikan bahwa tugas ditempatkan pada EC2 instance yang berjalan pada versi yang sama dengan menggunakan batasan penempatan:. memberOf(attribute:ecs.os-family == WINDOWS_SERVER_<OS_Release>_<FULL or CORE>) Untuk informasi selengkapnya, lihat Mengambil metadata Windows yang ECS dioptimalkan Amazon AMI.

ecs.cpu-architecture

CPUArsitektur misalnya. Nilai contoh untuk atribut ini adalah x86_64 dan ARM64.

ecs.vpc-id

VPCInstance diluncurkan ke. Nilai contoh untuk atribut ini adalah vpc-1234abcd.

ecs.subnet-id

Subnet yang digunakan instans. Nilai contoh untuk atribut ini adalah subnet-1234abcd.

Atribut opsional

Amazon ECS dapat menambahkan atribut berikut ke instance container Anda.

ecs.awsvpc-trunk-id

Jika atribut ini ada, instans memiliki antarmuka jaringan trunk. Untuk informasi selengkapnya, lihat Meningkatkan antarmuka jaringan instans penampung Amazon ECS Linux.

ecs.outpost-arn

Jika atribut ini ada, itu berisi Amazon Resource Name (ARN) dari Outpost. Untuk informasi selengkapnya, lihat Layanan Kontainer Elastis Amazon aktif AWS Outposts.

ecs.capability.external

Jika atribut ini ada, instans diidentifikasi sebagai instans eksternal. Untuk informasi selengkapnya, lihat ECSCluster Amazon untuk jenis peluncuran eksternal.

Atribut kustom

Anda dapat menerapkan atribut kustom ke instans kontainer Anda. Misalnya, Anda dapat menentukan atribut dengan nama “stack” dan nilai “prod”.

Saat menentukan atribut khusus, Anda harus mempertimbangkan hal berikut.

  • name harus berisi antara 1 hingga 128 karakter dan nama boleh berisi huruf (huruf besar dan huruf kecil), angka, tanda hubung, garis bawah, garis miring ke depan, garis miring belakang, atau titik.

  • value harus berisi antara 1 hingga 128 karakter dan boleh berisi huruf (huruf besar dan huruf kecil), angka, tanda hubung, garis bawah, titik, tanda (@), garis miring ke depan, garis miring belakang, titik dua, atau spasi. Nilai tidak dapat berisi spasi putih utama atau di belakang.