View a markdown version of this page

Parameter definisi tugas Amazon ECS untuk Amazon EC2 - 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 tugas Amazon ECS untuk Amazon EC2

Definisi tugas dibagi menjadi bagian-bagian terpisah: keluarga tugas, peran tugas AWS Identity and Access Management (IAM), mode jaringan, definisi wadah, volume, batasan penempatan tugas, dan kapasitas. Definisi keluarga dan wadah diperlukan dalam definisi tugas. Sebaliknya, peran tugas, mode jaringan, volume, batasan penempatan tugas, dan jenis peluncuran adalah opsional.

Anda dapat menggunakan parameter ini dalam file JSON untuk mengkonfigurasi definisi tugas Anda.

Berikut ini adalah deskripsi yang lebih rinci untuk setiap parameter definisi tugas untuk Amazon EC2

Rangkaian

family

Tipe: String

Diperlukan: Ya

Ketika Anda mendaftarkan ketentuan tugas, Anda memberikan sebuah famili, yang mirip dengan nama untuk beberapa versi ketentuan tugas, yang ditentukan dengan nomor revisi. Definisi tugas pertama yang terdaftar ke dalam keluarga tertentu diberi revisi 1, dan setiap definisi tugas yang terdaftar setelah itu diberi nomor revisi berurutan.

Kapasitas

Saat mendaftarkan definisi tugas, Anda dapat menentukan kapasitas yang harus divalidasi definisi tugas oleh Amazon ECS. Jika definisi tugas tidak divalidasi terhadap kompatibilitas yang ditentukan, pengecualian klien dikembalikan.

Parameter berikut diperbolehkan dalam definisi tugas.

requiresCompatibilities

Tipe: Array string

Wajib: Tidak

Nilai yang Valid: EC2

Kapasitas untuk memvalidasi definisi tugas terhadap. Ini memulai pemeriksaan untuk memastikan bahwa semua parameter yang digunakan dalam definisi tugas memenuhi persyaratan Amazon EC2.

Peran tugas

taskRoleArn

Tipe: String

Wajib: Tidak

Ketika mendaftarkan ketentuan tugas, Anda dapat memberikan peran tugas untuk IAM role yang mengizinkan kontainer dalam izin tugas untuk atas nama Anda memanggil API AWS yang ditentukan dalam kebijakan terkait. Untuk informasi selengkapnya, lihat Peran IAM tugas Amazon ECS.

Saat Anda meluncurkan Amazon ECS-optimized Windows Server AMI, peran IAM untuk tugas di Windows mengharuskan -EnableTaskIAMRole opsi diatur. Kontainer Anda juga harus menjalankan beberapa kode konfigurasi untuk menggunakan fitur ini. Untuk informasi selengkapnya, lihat Konfigurasi tambahan instans Windows Amazon EC2.

Peran eksekusi tugas

executionRoleArn

Tipe: String

Wajib: Bersyarat

Nama Sumber Daya Amazon (ARN) dari peran eksekusi tugas yang memberikan izin agen kontainer Amazon ECS untuk melakukan panggilan AWS API atas nama Anda.

catatan

IAM role eksekusi tugas diperlukan sesuai dengan persyaratan tugas Anda. Untuk informasi selengkapnya, lihat Peran IAM pelaksanaan tugas Amazon ECS.

Mode jaringan

networkMode

Tipe: String

Wajib: Tidak

Mode jaringan Docker digunakan untuk kontainer dalam tugas. Untuk tugas Amazon ECS yang dihosting di instans Amazon EC2 Linux, nilai yang valid adalahnone,, bridgeawsvpc, dan. host Jika tidak ada mode jaringan yang ditentukan, mode jaringan default adalahbridge. Untuk tugas Amazon ECS yang dihosting di instans Amazon EC2 Windows, nilai yang valid adalahdefault, dan. awsvpc Jika tidak ada mode jaringan yang ditentukan, mode default jaringan digunakan.

Jika mode jaringan disetel kenone, wadah tugas tidak memiliki konektivitas eksternal dan pemetaan port tidak dapat ditentukan dalam definisi kontainer.

Jika mode jaringan adalahbridge, tugas menggunakan jaringan virtual built-in Docker di Linux, yang berjalan di dalam setiap instans Amazon EC2 yang menghosting tugas. Jaringan virtual bawaan di Linux menggunakan driver jaringan bridge Docker.

Jika mode jaringan adalahhost, tugas menggunakan jaringan host yang melewati jaringan virtual bawaan Docker dengan memetakan port kontainer langsung ke ENI instans Amazon EC2 yang menghosting tugas. Pemetaan port dinamis tidak dapat digunakan dalam mode jaringan ini. Sebuah wadah dalam definisi tugas yang menggunakan mode ini harus menentukan hostPort nomor tertentu. Nomor port pada host tidak dapat digunakan oleh beberapa tugas. Akibatnya, Anda tidak dapat menjalankan beberapa tugas dengan definisi tugas yang sama pada satu instans Amazon EC2.

penting

Saat menjalankan tugas yang menggunakan mode host jaringan, jangan jalankan wadah menggunakan pengguna root (UID 0) untuk keamanan yang lebih baik. Sebagai praktik terbaik keamanan, selalu gunakan pengguna non-root.

Jika mode jaringan adalah awsvpc, tugas dialokasikan sebagai antarmuka jaringan elastis, dan Anda harus menentukan NetworkConfiguration ketika Anda membuat layanan atau menjalankan tugas dengan ketentuan tugas. Untuk informasi selengkapnya, lihat Opsi Jaringan Tugas Amazon ECS untuk EC2.

Jika mode jaringan adalahdefault, tugas menggunakan jaringan virtual bawaan Docker di Windows, yang berjalan di dalam setiap instans Amazon EC2 yang menghosting tugas. Jaringan virtual bawaan di Windows menggunakan driver jaringan nat Docker.

Mode awsvpc jaringan host dan menawarkan kinerja jaringan tertinggi untuk kontainer karena mereka menggunakan tumpukan jaringan Amazon EC2. Dengan mode host dan awsvpc jaringan, port kontainer terbuka dipetakan langsung ke port host yang sesuai (untuk mode host jaringan) atau port antarmuka jaringan elastis terpasang (untuk mode awsvpc jaringan). Karena itu, Anda tidak dapat menggunakan pemetaan port host dinamis.

Mode jaringan yang diijinkan tergantung pada sistem operasi instans EC2 yang mendasarinya. Jika Linux, mode jaringan apa pun bisa digunakan. Jika Windows, hanya dapat menggunakan mode jaringan default, dan awsvpc.

Platform runtime

operatingSystemFamily

Tipe: String

Wajib: Bersyarat

Standar: LINUX

Saat Anda mendaftarkan definisi tugas, Anda menentukan keluarga sistem operasi.

Nilai yang valid adalahLINUX,WINDOWS_SERVER_2025_FULL,WINDOWS_SERVER_2025_CORE,WINDOWS_SERVER_2022_CORE,WINDOWS_SERVER_2022_FULL,WINDOWS_SERVER_2019_FULL, danWINDOWS_SERVER_2019_CORE,WINDOWS_SERVER_2016_FULL,WINDOWS_SERVER_2004_CORE, danWINDOWS_SERVER_20H2_CORE.

Semua definisi tugas yang digunakan dalam layanan harus memiliki nilai yang sama untuk parameter ini.

Ketika definisi tugas adalah bagian dari layanan, nilai ini harus sesuai dengan platformFamily nilai layanan.

cpuArchitecture

Tipe: String

Wajib: Bersyarat

Saat Anda mendaftarkan definisi tugas, Anda dapat menentukan arsitektur CPU. Nilai yang valid adalah X86_64 dan ARM64. Jika Anda tidak menentukan nilai, Amazon ECS akan mencoba menempatkan tugas pada arsitektur CPU yang tersedia berdasarkan konfigurasi penyedia kapasitas. Untuk memastikan bahwa tugas ditempatkan pada arsitektur CPU tertentu, tentukan nilai untuk cpuArchitecture dalam definisi tugas.

Semua definisi tugas yang digunakan dalam layanan harus memiliki nilai yang sama untuk parameter ini.

Ketika Anda memiliki tugas Linux, Anda dapat mengatur nilainya keARM64. Untuk informasi selengkapnya, lihat Definisi tugas Amazon ECS untuk beban kerja ARM 64-bit.

Ukuran tugas

Saat Anda mendaftarkan definisi tugas, Anda dapat menentukan total CPU dan memori yang digunakan untuk tugas tersebut. Hal ini terpisah dari nilai cpu dan memory pada tingkat ketentuan kontainer. Untuk tugas yang dihosting di instans Amazon EC2, bidang ini bersifat opsional.

catatan

Task-level Parameter CPU dan memori diabaikan untuk wadah Windows. Kami merekomendasikan penentuan sumber daya tingkat kontainer untuk Windows kontainer.

cpu

Tipe: String

Wajib: Bersyarat

catatan

Parameter ini tidak didukung untuk kontainer Windows.

Batas tegas unit CPU untuk hadir untuk tugas tersebut. Anda dapat menentukan nilai CPU dalam file JSON sebagai string dalam unit CPU atau CPU virtual (vCPU). Misalnya, Anda dapat menentukan nilai CPU baik seperti 1024 pada unit CPU atau 1 vCPU di vCPU. Ketika ketentuan tugas terdaftar, nilai vCPU dikonversi ke integer yang menunjukkan unit CPU.

Ini adalah bidang opsional. Jika klaster Anda tidak memiliki instans kontainer yang terdaftar dengan unit CPU yang diminta, tugas akan gagal. Nilai yang didukung adalah antara 0.125 vCPU dan 192 vCPU.

memory

Tipe: String

Wajib: Bersyarat

catatan

Parameter ini tidak didukung untuk kontainer Windows.

Batas memori yang sulit untuk disajikan pada tugas. Anda dapat menentukan nilai memori dalam definisi tugas sebagai string dalam mebibytes (MiB) atau gigabytes (GB). Misalnya, Anda dapat menentukan nilai memori baik seperti 3072 di MiB atau 3 GB dalam GB. Ketika ketentuan tugas terdaftar, nilai GB dikonversi ke integer menunjukkan MiB.

Bidang ini bersifat opsional dan nilai apapun dapat digunakan. Jika nilai memori tingkat tugas ditentukan, maka nilai memori tingkat kontainer adalah opsional. Jika cluster Anda tidak memiliki instans kontainer terdaftar dengan memori yang diminta tersedia, tugas gagal. Anda dapat memaksimalkan pemanfaatan sumber daya dengan menyediakan tugas sebanyak mungkin memori untuk jenis instans tertentu. Untuk informasi selengkapnya, lihat Memesan memori instance wadah Amazon ECS Linux.

Definisi kontainer

Saat Anda mendaftarkan definisi tugas, Anda harus menentukan daftar definisi kontainer yang diteruskan ke Docker daemon pada instance kontainer. Parameter berikut diizinkan dalam ketentuan kontainer.

Parameter definisi wadah standar

Parameter ketentuan tugas berikut diperlukan atau digunakan di sebagian besar ketentuan kontainer.

Nama

name

Tipe: String

Diperlukan: Ya

Nama kontainer. Mengizinkan hingga 255 huruf (huruf besar dan huruf kecil), angka, tanda hubung, dan garis bawah. Jika Anda menghubungkan beberapa kontainer dalam definisi tugas, name satu wadah dapat dimasukkan ke dalam links wadah lain. Ini untuk menghubungkan wadah.

Citra

image

Tipe: String

Diperlukan: Ya

Citra yang digunakan untuk memulai kontainer. String ini diteruskan langsung ke Docker daemon. Secara default, gambar dalam Docker Hub registri tersedia. Anda juga dapat menentukan repositori lain dengan salah satu repository-url/image:tag ataurepository-url/image@digest. Maksimal 255 huruf (huruf besar dan kecil), angka, tanda hubung, garis bawah, titik dua, titik, garis miring, dan tanda angka diizinkan. Parameter ini dipet Image akan ke dalam perintah docker create-container dan IMAGE parameter perintah Docker run.

  • Ketika tugas baru dimulai, agen kontainer Amazon ECS menarik versi terbaru dari citra yang ditentukan dan tanda untuk kontainer yang akan digunakan. Namun, pembaruan berikutnya ke gambar repositori tidak disebarkan ke tugas yang sudah berjalan.

  • Jika Anda tidak menentukan tag atau ringkasan di jalur gambar dalam definisi tugas, agen kontainer Amazon ECS menggunakan latest tag untuk menarik gambar yang ditentukan.

  • Pembaruan berikutnya ke gambar repositori tidak disebarkan ke tugas yang sudah berjalan.

  • Citra di registri privat didukung. Untuk informasi selengkapnya, lihat Menggunakan non-AWS gambar kontainer di Amazon ECS.

  • Gambar di repositori Amazon ECR dapat ditentukan dengan menggunakan konvensi lengkap registry/repository:tag atau registry/repository@digest penamaan (misalnya, aws_account_id.dkr.ecr.region.amazonaws.com /my-web-app:latest atau aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE).

  • Gambar di repositori resmi Docker Hub menggunakan satu nama (misalnya, ubuntu ataumongo).

  • Gambar di repositori lain memenuhi Docker Hub syarat dengan nama organisasi (misalnya,amazon/amazon-ecs-agent).

  • Gambar di repositori online lainnya memenuhi syarat lebih lanjut dengan nama domain (misalnya, quay.io/assemblyline/ubuntu).

versionConsistency

Tipe: String

Nilai yang valid: enabled | disabled

Wajib: Tidak

Menentukan apakah Amazon ECS akan menyelesaikan tag gambar kontainer yang disediakan dalam definisi wadah ke ringkasan gambar. Secara default, perilaku ini adalahenabled. Jika Anda menetapkan nilai untuk wadah sebagaidisabled, Amazon ECS tidak akan menyelesaikan tag gambar kontainer ke ringkasan dan akan menggunakan URI gambar asli yang ditentukan dalam definisi wadah untuk penerapan. Untuk informasi selengkapnya tentang resolusi gambar kontainer, lihatPenerjemahan image kontainer.

Memori

memory

Tipe: Integer

Wajib: Tidak

Jumlah (dalam MiB) memori yang akan ditampilkan ke kontainer. Jika kontainer Anda mencoba untuk melebihi memori yang ditentukan di sini, kontainer akan dimatikan. Jumlah total memori yang disimpan untuk semua kontainer dalam tugas harus lebih rendah dari nilai memory tugas, jika ada yang ditentukan. Parameter ini dipet Memory akan ke dalam perintah docker create-container dan --memory opsi untuk menjalankan docker.

Anda harus menentukan nilai memori tingkat tugas atau nilai memori tingkat kontainer. Jika Anda menentukan tingkat kontainer memory dan memoryReservation nilai, nilainya harus lebih besar dari nilainya. memory memoryReservation Jika Anda menentukanmemoryReservation, maka nilai tersebut dikurangi dari sumber daya memori yang tersedia untuk instance kontainer tempat wadah ditempatkan. Jika tidak, nilai memory digunakan.

Daemon Docker 20.10.0 atau yang lebih baru menyimpan minimal 6 MiB memori untuk sebuah wadah. Jadi, jangan tentukan kurang dari 6 MiB memori untuk wadah Anda.

Docker 19.03.13-ce atau daemon sebelumnya menyimpan minimal 4 MiB memori untuk sebuah wadah. Jadi, jangan tentukan kurang dari 4 MiB memori untuk wadah Anda.

catatan

Jika Anda mencoba memaksimalkan pemanfaatan sumber daya dengan menyediakan tugas sebanyak mungkin memori untuk jenis instans tertentu, lihatMemesan memori instance wadah Amazon ECS Linux.

memoryReservation

Tipe: Integer

Wajib: Tidak

Batas lunak (di MiB) memori untuk menyimpan kontainer. Ketika memori sistem sedang diperdebatkan, Docker cobalah untuk menjaga memori wadah ke batas lunak ini. Namun, wadah Anda dapat menggunakan lebih banyak memori saat dibutuhkan. Wadah dapat menggunakan hingga batas keras yang ditentukan dengan memory parameter (jika berlaku) atau semua memori yang tersedia pada instance container, mana saja yang lebih dulu. Parameter ini dipet MemoryReservation akan ke dalam perintah docker create-container dan --memory-reservation opsi untuk menjalankan docker.

Jika nilai memori tingkat tugas tidak ditentukan, Anda harus menentukan bilangan bulat bukan nol untuk satu atau keduanya memory atau memoryReservation dalam definisi wadah. Jika Anda menentukan keduanya, memory harus lebih besar dari memoryReservation. Jika Anda menentukanmemoryReservation, maka nilai tersebut dikurangi dari sumber daya memori yang tersedia untuk instance kontainer tempat wadah ditempatkan. Jika tidak, nilai memory digunakan.

Misalnya, kontainer Anda biasanya menggunakan memori 128 MiB, tetapi kadang-kadang meledak hingga 256 MiB memori untuk waktu yang singkat. Anda dapat mengatur 128 MiB, dan batas memory keras 300 MiB. memoryReservation Konfigurasi ini memungkinkan wadah untuk hanya mencadangkan 128 MiB memori dari sumber daya yang tersisa pada instance kontainer. Pada saat yang sama, konfigurasi ini juga memungkinkan wadah untuk menggunakan lebih banyak sumber daya memori bila diperlukan.

catatan

Parameter ini tidak didukung untuk wadah Windows.

Daemon Docker 20.10.0 atau yang lebih baru menyimpan minimal 6 MiB memori untuk sebuah wadah. Jadi, jangan tentukan kurang dari 6 MiB memori untuk wadah Anda.

Docker 19.03.13-ce atau daemon sebelumnya menyimpan minimal 4 MiB memori untuk sebuah wadah. Jadi, jangan tentukan kurang dari 4 MiB memori untuk wadah Anda.

catatan

Jika Anda mencoba memaksimalkan pemanfaatan sumber daya dengan menyediakan tugas sebanyak mungkin memori untuk jenis instans tertentu, lihatMemesan memori instance wadah Amazon ECS Linux.

Pemetaan port

portMappings

Tipe: Array objek

Wajib: Tidak

Pemetaan port mengekspos port jaringan kontainer Anda ke dunia luar. ini memungkinkan klien untuk mengakses aplikasi Anda. Ini juga digunakan untuk komunikasi antar kontainer dalam tugas yang sama.

Untuk definisi tugas yang menggunakan mode awsvpc jaringan, hanya tentukancontainerPort. Sel hostPort alu diabaikan, dan port kontainer secara otomatis dipetakan ke port acak bernomor tinggi pada host.

Pemetaan port pada Windows menggunakan alamat gateway NetNAT daripada localhost. Tidak ada loopback untuk pemetaan port di Windows, jadi Anda tidak dapat mengakses port yang dipetakan wadah dari host itu sendiri.

Sebagian besar bidang parameter ini (termasukcontainerPort,hostPort,protocol) dipetakan ke PortBindings dalam perintah thedocker create-container dan opsi untuk menjalankan docker. --publish Jika mode jaringan dari definisi tugas diatur kehost, port host harus tidak ditentukan atau cocok dengan port kontainer dalam pemetaan port.

catatan

Setelah tugas mencapai status RUNNING , tugas port kontainer dan host manual dan otomatis akan terlihat di lokasi-lokasi berikut:

  • Konsol: bagian Pengikatan jaringan dari deskripsi kontainer untuk tugas yang dipilih.

  • AWS CLI: Bagian networkBindings dari output perintah describe-tasks .

  • API: Respons DescribeTasks .

  • Metadata: Titik akhir metadata tugas.

appProtocol

Tipe: String

Wajib: Tidak

Protokol aplikasi yang digunakan untuk pemetaan port. Parameter ini hanya berlaku untuk Service Connect. Sebaiknya atur parameter ini agar konsisten dengan protokol yang digunakan aplikasi Anda. Jika Anda menyetel parameter ini, Amazon ECS menambahkan penanganan koneksi khusus protokol ke proxy koneksi layanan. Jika Anda menyetel parameter ini, Amazon ECS menambahkan telemetri khusus protokol di konsol Amazon ECS dan. CloudWatch

Jika Anda tidak menetapkan nilai untuk parameter ini, maka TCP digunakan. Namun, Amazon ECS tidak menambahkan telemetri khusus protokol untuk TCP.

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

Nilai protokol yang valid: "http" | "http2" | "grpc"

containerPort

Jenis: Integer

Diperlukan: Ya, saat portMappings digunakan

Nomor port pada wadah yang terikat ke port host yang ditentukan pengguna atau ditetapkan secara otomatis.

Untuk tugas yang menggunakan mode awsvpc jaringan, Anda gunakan containerPort untuk menentukan port yang terbuka.

Misalkan Anda menggunakan kontainer dalam tugas dengan penyedia kapasitas EC2 dan Anda menentukan port kontainer dan bukan port host. Kemudian, wadah Anda secara otomatis menerima port host dalam rentang port sementara. Untuk informasi selengkapnya, lihat hostPort. Pemetaan port yang ditetapkan secara otomatis dengan cara ini tidak dihitung dalam kuota 100 port cadangan dari instance kontainer.

containerPortRange

Tipe: String

Wajib: Tidak

Rentang nomor port pada wadah yang terikat ke rentang port host yang dipetakan secara dinamis.

Anda hanya dapat mengatur parameter ini dengan menggunakan register-task-definition API. Opsi ini tersedia di portMappings parameter. Untuk informasi selengkapnya, lihat register-task-definition di Referensi. AWS Command Line Interface

Aturan berikut berlaku saat Anda menentukancontainerPortRange:

  • Anda harus menggunakan mode bridge jaringan atau mode awsvpc jaringan.

  • Parameter ini tersedia untuk sistem operasi Linux dan Windows.

  • Instance kontainer harus memiliki setidaknya versi 1.67.0 dari agen kontainer dan setidaknya versi 1.67.0-1 dari paket. ecs-init

  • Anda dapat menentukan maksimum 100 rentang port untuk setiap kontainer.

  • Anda tidak menentukan ahostPortRange. Nilai hostPortRange ditetapkan sebagai berikut:

    • Untuk wadah dalam tugas dengan mode awsvpc jaringan, hostPort diatur ke nilai yang sama dengancontainerPort. Ini adalah strategi pemetaan statis.

    • Untuk kontainer dalam tugas dengan mode bridge jaringan, agen Amazon ECS menemukan port host terbuka dari rentang sementara default dan meneruskannya ke Docker untuk mengikatnya ke port kontainer.

  • Nilai containerPortRange yang valid adalah antara 1 dan 65535.

  • Sebuah port hanya dapat dimasukkan dalam satu pemetaan port untuk setiap kontainer.

  • Anda tidak dapat menentukan rentang port yang tumpang tindih.

  • Port pertama dalam kisaran harus kurang dari port terakhir dalam kisaran.

  • Dockermerekomendasikan agar Anda mematikan file konfigurasi Docker daemon ketika Anda memiliki sejumlah besar port. Docker-proxy

    Untuk informasi selengkapnya, lihat Edisi #11185 di GitHub.

    Untuk informasi tentang cara mematikan docker-proxy di file konfigurasi daemon, lihat Docker Docker daemon di Panduan Pengembang Amazon ECS.

Anda dapat memang DescribeTasks gil untuk melihathostPortRange, yang merupakan port host yang terikat ke port kontainer.

Rentang port tidak termasuk dalam acara tugas Amazon ECS, yang dikirim ke EventBridge. Untuk informasi selengkapnya, lihat Mengotomatiskan respons terhadap kesalahan Amazon ECS menggunakan EventBridge.

hostPortRange

Tipe: String

Wajib: Tidak

Rentang nomor port pada host yang digunakan dengan pengikatan jaringan. Ini ditugaskan oleh Docker dan disampaikan oleh agen Amazon ECS.

hostPort

Tipe: Integer

Wajib: Tidak

Nomor port pada instans kontainer untuk menyimpan kontainer Anda.

Anda dapat menentukan port host non-cadangan untuk pemetaan port kontainer Anda. Ini disebut sebagai pemetaan port host statis. Atau, Anda dapat menghilangkan hostPort (atau mengaturnya ke0) sambil menentukan acontainerPort. Kontainer Anda secara otomatis menerima port dalam rentang port sementara untuk sistem operasi dan Docker versi instance kontainer Anda. Ini disebut sebagai pemetaan port host dinamis.

Rentang port sementara default Docker versi 1.6.0 dan yang lebih baru tercantum pada instance di bawah. /proc/sys/net/ipv4/ip_local_port_range Jika parameter kernel ini tidak tersedia, port sementara default berkisar sejak 49153–65535 digunakan. Jangan mencoba menentukan port host dalam rentang port sementara. Ini karena ini dicadangkan untuk penugasan otomatis. Secara umum, port di bawah 32768 berada di luar jangkauan port sementara. Anda dapat menggunakan ECS_DYNAMIC_HOST_PORT_RANGE pengaturan dalam konfigurasi agen kontainer ECS untuk menentukan rentang kustom untuk port host yang ditetapkan secara dinamis. Itu mungkin membantu jika tugas Anda gagal dimulai karena konflik port dengan proses lain pada instance kontainer seperti koneksi keluar yang juga menggunakan port dari rentang port sementara. Untuk informasi selengkapnya, lihat Konfigurasi agen kontainer Amazon ECS.

Port cadangan default adalah 22 untuk SSH, Docker port 2375 dan2376, dan port 51678-51680 agen kontainer Amazon ECS. Setiap port host yang sebelumnya ditentukan pengguna untuk tugas yang sedang berjalan juga dicadangkan saat tugas sedang berjalan. Setelah tugas berhenti, port host dilepaskan. Port cadangan saat ini ditampilkan remainingResources di describe-container-instances output. Instans kontainer mungkin memiliki hingga 100 port cadangan sekaligus, termasuk port cadangan default. Port yang ditetapkan secara otomatis tidak dihitung dalam kuota 100 port cadangan.

name

Tipe: String

Diperlukan: Tidak, diperlukan agar Service Connect dan VPC Lattice dikonfigurasi dalam layanan

Nama yang digunakan untuk pemetaan port. Parameter ini hanya berlaku untuk Service Connect dan VPC Lattice. Parameter ini adalah nama yang Anda gunakan dalam konfigurasi Service Connect dan VPC Lattice dari suatu layanan.

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

Dalam contoh berikut, kedua bidang wajib untuk Service Connect dan VPC Lattice digunakan.

"portMappings": [ { "name": string, "containerPort": integer } ]
protocol

Tipe: String

Wajib: Tidak

Protokol yang digunakan untuk pemetaan port. Nilai yang valid adalah tcp dan udp. Default adalah tcp.

penting

Hanya tcp didukung untuk Service Connect. Ingat tcp itu tersirat jika bidang ini tidak disetel.

penting

Dukungan UDP hanya tersedia pada instans kontainer yang diluncurkan dengan versi 1.2.0 dari agen kontainer Amazon ECS (seperti amzn-ami-2015.03.c-amazon-ecs-optimized AMI) atau yang lebih baru, atau dengan agen kontainer yang telah diperbarui ke versi 1.3.0 atau yang lebih baru. Untuk memperbarui agen kontainer ke versi terbaru, lihat Memperbarui agen kontainer Amazon ECS.

Jika Anda menentukan port host, gunakan sintaks berikut.

"portMappings": [ { "containerPort": integer, "hostPort": integer } ... ]

Jika Anda ingin port host yang ditetapkan secara otomatis, gunakan sintaks berikut.

"portMappings": [ { "containerPort": integer } ... ]

Kredentif Repositori Pribadi

repositoryCredentials

Tipe: Objek RepositoryCredentials

Wajib: Tidak

KredenSIAL repositori untuk otentikasi registri pribadi.

Untuk informasi selengkapnya, lihat Menggunakan non-AWS gambar kontainer di Amazon ECS.

credentialsParameter

Tipe: String

Diperlukan: Ya, saat repositoryCredentials digunakan

Amazon Resource Name (ARN) dari rahasia yang berisi kredensial repositori privat.

Untuk informasi selengkapnya, lihat Menggunakan non-AWS gambar kontainer di Amazon ECS.

catatan

Saat Anda menggunakan Amazon ECS API, AWS CLI, atau AWS SDK, jika rahasia ada di Wilayah yang sama dengan tugas yang Anda luncurkan maka Anda dapat menggunakan ARN lengkap atau nama rahasia. Saat Anda menggunakan Konsol Manajemen AWS, Anda harus menentukan ARN penuh rahasia.

Berikut ini adalah cuplikan definisi tugas yang menunjukkan parameter yang diperlukan:

"containerDefinitions": [ { "image": "private-repo/private-image", "repositoryCredentials": { "credentialsParameter": "arn:aws:secretsmanager:region:aws_account_id:secret:secret_name" } } ]

Parameter definisi wadah lanjutan

Parameter definisi kontainer lanjutan berikut menyediakan kemampuan tambahan untuk perintah Docker run yang digunakan untuk meluncurkan wadah pada instans kontainer Amazon ECS Anda.

Kebijakan Mulai Ulang

restartPolicy

Kebijakan restart kontainer dan parameter konfigurasi terkait. Saat Anda menyiapkan kebijakan restart untuk wadah, Amazon ECS dapat memulai ulang wadah tanpa perlu mengganti tugas. Untuk informasi selengkapnya, lihat Mulai ulang wadah individu dalam tugas Amazon ECS dengan kebijakan restart kontainer.

enabled

Jenis: Boolean

Wajib: Ya

Menentukan apakah kebijakan restart diaktifkan untuk wadah.

ignoredExitCodes

Jenis: himpunan integer

Wajib: Tidak

Daftar kode keluar yang akan diabaikan Amazon ECS dan tidak mencoba memulai ulang. Anda dapat menentukan maksimum 50 kode keluar kontainer. Secara default, Amazon ECS tidak mengabaikan kode keluar apa pun.

restartAttemptPeriod

Tipe: Integer

Wajib: Tidak

Jangka waktu (dalam detik) yang harus dijalankan wadah sebelum restart dapat dicoba. Sebuah wadah dapat dimulai ulang hanya sekali setiap restartAttemptPeriod detik. Jika wadah tidak dapat berjalan untuk periode waktu ini dan keluar lebih awal, itu tidak akan dimulai ulang. Anda dapat mengatur minimal restartAttemptPeriod 60 detik dan restartAttemptPeriod maksimum 1800 detik. Secara default, wadah harus berjalan selama 300 detik sebelum dapat dimulai ulang.

Pemeriksaan kondisi

healthCheck

Perintah pemeriksaan kesehatan kontainer dan parameter konfigurasi terkait untuk wadah. Untuk informasi selengkapnya, lihat Menentukan Kondisi Tugas Amazon ECS Menggunakan Pemeriksaan Kondisi Kontainer.

command

Sebuah array string yang mewakili perintah yang dijalankan wadah untuk menentukan apakah itu sehat. Array string dapat dimulai CMD dengan menjalankan argumen perintah secara langsung, atau CMD-SHELL menjalankan perintah dengan shell default container. Jika tidak ada yang CMD ditentukan, digunakan.

Saat mendaftarkan definisi tugas di Konsol Manajemen AWS, gunakan daftar perintah yang dipisahkan koma. Perintah ini dikonversi ke string setelah definisi tugas dibuat. Contoh masukan untuk pemeriksaan kesehatan adalah sebagai berikut.

CMD-SHELL, curl -f http://localhost/ || exit 1

Saat mendaftarkan definisi tugas menggunakan panel Konsol Manajemen AWS JSON, AWS CLI, atau API, lampirkan daftar perintah dalam tanda kurung. Contoh masukan untuk pemeriksaan kesehatan adalah sebagai berikut.

[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]

Kode keluar 0, tanpa stderr output, menunjukkan keberhasilan, dan kode keluar bukan nol menunjukkan kegagalan.

interval

Periode waktu (dalam detik) antara setiap pemeriksaan kesehatan. Anda dapat menentukan antara 5 dan 300 detik. Nilai default-nya adalah 30 detik.

timeout

Periode waktu (dalam detik) untuk menunggu pemeriksaan kesehatan berhasil sebelum dianggap gagal. Anda dapat menentukan antara 2 dan 60 detik. Nilai defaultnya adalah 5 detik.

retries

Jumlah raktu untuk mencoba kembali pemeriksaan kondisi yang gagal sebelum kontainer dianggap tidak sehat. Anda dapat menentukan antara 1 dan 10 percobaan ulang. Nilai default-nya adalah tiga kali percobaan ulang.

startPeriod

Masa tenggang opsional untuk memberikan waktu kontainer untuk melakukan bootstrap sebelum pemeriksaan kesehatan yang gagal dihitung dalam jumlah maksimum percobaan ulang. Anda dapat menentukan antara 0 dan 300 detik. Secara default, din startPeriod onaktifkan.

Jika pemeriksaan kondisi berhasil dalam startPeriod, maka kontainer dianggap sehat dan kegagalan berikutnya dihitung terhadap jumlah maksimum percobaan kembali.

Lingkungan

cpu

Tipe: Integer

Wajib: Tidak

Jumlah cpu unit yang disediakan agen kontainer Amazon ECS untuk wadah tersebut. Di Linux, parameter ini di CpuShares petakan ke bagian Buat wadah.

catatan

Anda dapat menentukan jumlah unit CPU yang tersedia untuk setiap jenis instans Amazon EC2. Untuk melakukan ini, kalikan jumlah vCPU yang tercantum untuk jenis instans tersebut di halaman detail Instans EC2 Amazon dengan 1.024.

Linuxkontainer berbagi unit CPU yang tidak terisi dengan wadah lain pada instance kontainer dengan rasio yang sama dengan jumlah yang dialokasikan. Misalnya, Anda menjalankan tugas wadah tunggal pada tipe instance single-core dengan 512 unit CPU yang ditentukan untuk wadah tersebut. Selain itu, tugas itu adalah satu-satunya tugas yang berjalan pada instance container. Dalam contoh ini, wadah dapat menggunakan 1.024 unit share CPU penuh pada waktu tertentu. Namun, asumsikan bahwa Anda meluncurkan salinan lain dari tugas yang sama pada instance kontainer itu. Setiap tugas dijamin minimal 512 unit CPU bila diperlukan. Demikian pula, jika wadah lain tidak menggunakan CPU yang tersisa, setiap wadah dapat mengambang ke penggunaan CPU yang lebih tinggi. Namun, jika kedua tugas tersebut 100% aktif sepanjang waktu, mereka dibatasi hingga 512 unit CPU.

Pada instance Linux kontainer, Docker daemon pada instance container menggunakan nilai CPU untuk menghitung rasio berbagi CPU relatif untuk menjalankan container. Nilai berbagi CPU valid minimum yang diizinkan oleh kernel Linux adalah 2, dan nilai berbagi CPU valid maksimum yang diizinkan oleh kernel Linux adalah 262144. Namun, parameter CPU tidak diperlukan, dan Anda dapat menggunakan nilai CPU di bawah dua dan di atas 262144 dalam definisi wadah Anda. Untuk nilai CPU di bawah dua (termasuk nol) dan di atas 262144, perilaku bervariasi berdasarkan versi agen kontainer Amazon ECS Anda:

  • Versi agen <= 1.1.0: Nilai CPU nol dan nol diteruskan Docker sebagai 0. Dockerkemudian mengubah nilai ini menjadi 1,024 saham CPU. Nilai CPU satu diteruskan Docker sebagai satu, yang dikonversi Linux kernel menjadi dua saham CPU.

  • Versi agen >= 1.2.0: Nilai nol, nol, dan CPU dari satu diteruskan Docker sebagai dua saham CPU.

  • Versi agen>= 1.84.0: Nilai CPU yang lebih besar dari 256 vCPU diteruskan ke Docker 256, yang setara dengan 262144 saham CPU.

Pada instance Windows kontainer, kuota CPU diberlakukan sebagai kuota absolut. Windowskontainer hanya memiliki akses ke jumlah CPU yang ditentukan yang ditentukan dalam definisi tugas. Nilai CPU nol atau nol diteruskan ke Docker as0. Windowskemudian menafsirkan nilai ini sebagai 1% dari satu CPU.

Untuk contoh selengkapnya, lihat Bagaimana Amazon ECS mengelola sumber daya CPU dan memori.

gpu

Tipe: Objek ResourceRequirement

Wajib: Tidak

Jumlah fisik GPUs yang disediakan oleh agen kontainer Amazon ECS untuk wadah. Anda dapat menentukan nilai integer, nilai desimal untuk GPU pecahan, atau. ALL Saat Anda menentukanALL, semua GPU pada instance kontainer dialokasikan ke wadah. Saat Anda menentukan nilai desimal (seperti0.125,, atau0.5)0.25, Amazon ECS menempatkan tugas pada instans GPU fraksional (G6f) yang menyediakan kapasitas GPU yang diminta. Jumlah GPU yang dicadangkan untuk semua kontainer dalam tugas tidak boleh melebihi jumlah GPU yang tersedia pada instance kontainer tempat tugas diluncurkan. Untuk informasi selengkapnya, lihat Definisi tugas Amazon ECS untuk beban kerja GPU.

catatan

Parameter ini tidak didukung untuk Windows kontainer.

Elastic Inference accelerator

Tipe: Objek ResourceRequirement

Wajib: Tidak

Untuk InferenceAccelerator tipe, value cocok dengan deviceName untuk yang InferenceAccelerator ditentukan dalam definisi tugas. Untuk informasi selengkapnya, lihat Nama akselerator inferensi elastis (tidak digunakan lagi).

catatan

Parameter ini tidak didukung untuk Windows kontainer.

essential

Tipe: Boolean

Wajib: Tidak

Misalkan essential parameter wadah ditandai sebagaitrue, dan wadah itu gagal atau berhenti karena alasan apa pun. Kemudian, semua wadah lain yang merupakan bagian dari tugas dihentikan. Jika essential parameter wadah ditandai sebagaifalse, maka kegagalannya tidak mempengaruhi wadah lainnya dalam tugas. Jika parameter ini dihilangkan, kontainer diasumsikan menjadi penting.

Semua tugas harus memiliki setidaknya satu kontainer penting. Misalkan Anda memiliki aplikasi yang terdiri dari beberapa wadah. Kemudian, kelompokkan wadah yang digunakan untuk tujuan umum menjadi komponen, dan pisahkan komponen yang berbeda menjadi beberapa definisi tugas. Untuk informasi selengkapnya, lihat Merancang Aplikasi Anda untuk Amazon ECS.

"essential": true|false
entryPoint
penting

Versi awal agen kontainer Amazon ECS tidak menangani entryPoint parameter dengan benar. Jika Anda memiliki masalah menggunakan entryPoint, perbarui agen kontainer Anda atau masukkan perintah dan argumen Anda sebagai item array command sebagai gantinya.

Tipe: Array string

Wajib: Tidak

Titik masuk yang diteruskan ke wadah.

"entryPoint": ["string", ...]
command

Tipe: Array string

Wajib: Tidak

Perintah yang diteruskan ke kontainer. Parameter ini memet Cmd akan ke dalam perintah create-container dan COMMAND parameter ke docker run. Jika ada beberapa argumen, pastikan bahwa setiap argumen adalah string terpisah dalam array.

"command": ["string", ...]
workingDirectory

Tipe: String

Wajib: Tidak

Direktori kerja untuk menjalankan perintah di dalam wadah. Parameter ini sesuai dengan WorkingDir di bagian Buat kontainer di Docker Remote API dan opsi --workdir untuk docker run.

"workingDirectory": "string"
environmentFiles

Tipe: Array objek

Wajib: Tidak

Daftar file yang berisi variabel lingkungan untuk diteruskan ke kontainer. Parameter ini memetakan ke --env-file opsi ke perintah Docker run.

Saat FIPS diaktifkan, nama bucket yang memiliki titik (.) (misalnya, amzn-s3-demo-bucket1.name.example) tidak didukung. Memiliki titik (.) dalam nama bucket mencegah tugas dimulai karena agen tidak dapat menarik file variabel lingkungan dari Amazon S3.

Ini tidak tersedia untuk Windows kontainer.

Anda dapat menentukan hingga 10 file lingkungan. File harus memiliki ekstensi file .env. Setiap baris dalam file lingkungan berisi variabel lingkungan dalam VARIABLE=VALUE format. Baris yang dimulai dengan # diperlakukan sebagai komentar dan diabaikan.

Jika ada variabel lingkungan individu yang ditentukan dalam ketentuan kontainer, maka akan lebih diutamakan daripada variabel yang ada di dalam file lingkungan. Jika beberapa file lingkungan ditentukan yang berisi variabel yang sama, mereka diproses dari atas ke bawah. Kami merekomendasikan agar Anda menggunakan nama variabel yang unik. Untuk informasi selengkapnya, lihat Meneruskan variabel lingkungan individu ke wadah Amazon ECS.

value

Tipe: String

Wajib: Ya

Amazon Resource Name (ARN) dari objek Amazon S3 yang berisi variabel lingkungan file.

type

Tipe: String

Wajib: Ya

Tipe file yang akan digunakan. Satu-satunya nilai yang didukung adalah s3.

environment

Tipe: Array objek

Wajib: Tidak

Variabel lingkungan untuk disampaikan ke kontainer. Parameter ini dipet Env akan ke dalam perintah docker create-container dan --env opsi ke perintah docker run.

penting

Kami tidak menyarankan menggunakan variabel lingkungan teks biasa untuk informasi sensitif, seperti data kredensial.

name

Tipe: String

Diperlukan: Ya, saat environment digunakan

Nama variabel lingkungan.

value

Tipe: String

Diperlukan: Ya, saat environment digunakan

Nilai dari variabel lingkungan.

"environment" : [ { "name" : "string", "value" : "string" }, { "name" : "string", "value" : "string" } ]
secrets

Tipe: Object array

Wajib: Tidak

Objek yang mewakili rahasia untuk diekspos ke wadah Anda. Untuk informasi selengkapnya, lihat Meneruskan data sensitif ke wadah Amazon ECS.

name

Tipe: String

Wajib: Ya

Nilai untuk ditetapkan sebagai variabel lingkungan pada kontainer.

valueFrom

Tipe: String

Wajib: Ya

Secret untuk mengekspos ke kontainer. Nilai yang didukung adalah Nama Sumber Daya Amazon (ARN) lengkap dari AWS Secrets Manager rahasia atau ARN lengkap dari parameter di Penyimpanan AWS Systems Manager Parameter.

catatan

Jika parameter Penyimpanan Parameter Manajer Sistem atau parameter Manajer Rahasia ada Wilayah AWS sama dengan tugas yang Anda luncurkan, Anda dapat menggunakan ARN lengkap atau nama rahasia. Jika parameter ada di Wilayah yang berbeda, ARN lengkap harus disebutkan.

"secrets": [ { "name": "environment_variable_name", "valueFrom": "arn:aws:ssm:region:aws_account_id:parameter/parameter_name" } ]

Pengaturan jaringan

disableNetworking

Tipe: Boolean

Wajib: Tidak

Ketika parameter ini benar, jaringan mati di dalam wadah.

catatan

Parameter ini tidak didukung untuk Windows wadah atau tugas menggunakan mode awsvpc jaringan.

Nilai default-nya false.

"disableNetworking": true|false

Tipe: Array string

Wajib: Tidak

Parameter link mengizinkan kontainer untuk berkomunikasi satu sama lain tanpa perlu port pemetaan. Parameter ini hanya didukung jika mode jaringan dari definisi tugas diatur kebridge. Konstruk name:internalName si ini analog dengan name:alias di Docker tautan. Hingga 255 huruf (huruf besar dan kecil), angka, tanda hubung, dan garis bawah diperbolehkan..

catatan

Parameter ini tidak didukung untuk Windows wadah atau tugas menggunakan mode awsvpc jaringan.

penting

Kontainer yang dikolokasikan pada instance kontainer yang sama dapat berkomunikasi satu sama lain tanpa memerlukan tautan atau pemetaan port host. Isolasi jaringan pada instans kontainer dikendalikan oleh grup keamanan dan pengaturan VPC.

"links": ["name:internalName", ...]
hostname

Tipe: String

Wajib: Tidak

Nama host yang digunakan untuk kontainer Anda. Parameter ini dipetakan ke Hostname dalam docker create-container dan --hostname opsi untuk menjalankan docker.

catatan

Jika Anda menggunakan mode awsvpc jaringan, hostname parameter tidak didukung.

"hostname": "string"
dnsServers

Tipe: Array string

Wajib: Tidak

Daftar server DNS yang disajikan untuk kontainer.

catatan

Parameter ini tidak didukung untuk Windows wadah atau tugas menggunakan mode awsvpc jaringan.

"dnsServers": ["string", ...]
dnsSearchDomains

Tipe: Array string

Wajib: Tidak

Pola: ^ [a-z A-Z0-9 -.] {0,253} [a- A-Z0-9 z] $

Daftar domain pencarian DNS yang disajikan untuk kontainer. Parameter ini memetakan ke DnsSearch dalam perintah docker create-container --dns-search opsi untuk menjalankan docker.

catatan

Parameter ini tidak didukung untuk wadah atau tugas Windows yang menggunakan mode awsvpc jaringan.

"dnsSearchDomains": ["string", ...]
extraHosts

Tipe: Array objek

Wajib: Tidak

Daftar nama host dan pemetaan alamat IP untuk ditambahkan ke file /etc/hosts di kontainer.

Parameter ini dipet ExtraHosts akan ke dalam perintah docker create-container dan --add-host opsi untuk menjalankan docker.

catatan

Parameter ini tidak didukung untuk wadah atau tugas Windows yang menggunakan mode awsvpc jaringan.

"extraHosts": [ { "hostname": "string", "ipAddress": "string" } ... ]
hostname

Tipe: String

Diperlukan: Ya, saat extraHosts digunakan

Nama host yang akan digunakan dalam entri /etc/hosts.

ipAddress

Tipe: String

Diperlukan: Ya, saat extraHosts digunakan

Alamat IP yang akan digunakan dalam /etc/hosts entri.

Penyimpanan dan pencatatan log

readonlyRootFilesystem

Tipe: Boolean

Wajib: Tidak

Jika parameter ini betul, kontainer diberikan akses hanya-baca ke sistem file asalnya. Parameter ini memetakan ke ReadonlyRootfs dalam perintah docker create-container --read-only opsi untuk menjalankan docker.

catatan

Parameter ini tidak didukung untuk kontainer Windows.

Nilai default-nya false.

"readonlyRootFilesystem": true|false
mountPoints

Tipe: Array objek

Wajib: Tidak

Titik pemasangan untuk volume data dalam wadah Anda. Parameter ini dipet Volumes akan ke dalam Create-container Docker API dan --volume opsi untuk menjalankan docker.

Kontainer Windows dapat memasang seluruh direktori pada drive yang sama dengan $env:ProgramData. Wadah Windows tidak dapat memasang direktori pada drive yang berbeda, dan titik pemasangan tidak dapat digunakan di seluruh drive. Anda harus menentukan titik pemasangan untuk melampirkan volume Amazon EBS langsung ke tugas Amazon ECS.

sourceVolume

Tipe: String

Diperlukan: Ya, saat mountPoints digunakan

Nama volume yang akan dipasang.

containerPath

Tipe: String

Diperlukan: Ya, saat mountPoints digunakan

Jalur di wadah tempat volume akan dipasang.

readOnly

Tipe: Boolean

Wajib: Tidak

Jika nilai ini adalah true, kontainer memiliki akses hanya-baca ke volume. Jika nilai ini adalah false, maka kontainer dapat menulis ke volume. Nilai default-nya adalah false.

Untuk tugas yang menjalankan sistem operasi Windows, biarkan nilainya sebagai defaultfalse.

volumesFrom

Tipe: Array objek

Wajib: Tidak

Volume data untuk memasang dari kontainer lain. Parameter ini dipet VolumesFrom akan ke dalam perintah docker create-container dan --volumes-from opsi untuk menjalankan docker.

sourceContainer

Tipe: String

Diperlukan: Ya, saat volumesFrom digunakan

Nama kontainer untuk memasang volume.

readOnly

Tipe: Boolean

Wajib: Tidak

Jika nilai ini adalah true, kontainer memiliki akses hanya-baca ke volume. Jika nilai ini adalah false, maka kontainer dapat menulis ke volume. Nilai default-nya adalah false.

"volumesFrom": [ { "sourceContainer": "string", "readOnly": true|false } ]
logConfiguration

Jenis: Ob LogConfiguration jek

Wajib: Tidak

Spesifikasi konfigurasi log untuk kontainer.

Misalnya definisi tugas yang menggunakan konfigurasi log, lihatContoh definisi tugas Amazon ECS.

Parameter ini dipet LogConfig akan ke dalam perintah docker create-container dan --log-driver opsi untuk menjalankan docker. Secara default, kontainer menggunakan driver logging yang sama dengan yang digunakan Docker daemon. Namun, container mungkin menggunakan driver logging yang berbeda dari Docker daemon dengan menentukan driver log dengan parameter ini dalam definisi container. Untuk menggunakan driver penlog yang berbeda untuk kontainer, sistem log harus dikonfigurasi dengan benar pada instans kontainer (atau pada server log yang berbeda untuk opsi penlog jarak jauh).

Pertimbangkan hal berikut saat menentukan konfigurasi log untuk kontainer Anda:

  • Amazon ECS mendukung subset driver logging yang tersedia untuk daemon. Docker

  • Parameter ini memerlukan versi 1.18 atau yang lebih baru dari Docker Remote API pada instance kontainer Anda.

  • Agen kontainer Amazon ECS yang berjalan pada instance kontainer harus mendaftarkan driver logging yang tersedia pada instans tersebut dengan variabel ECS_AVAILABLE_LOGGING_DRIVERS lingkungan sebelum kontainer yang ditempatkan pada instans tersebut dapat menggunakan opsi konfigurasi log ini. Untuk informasi selengkapnya, lihat Konfigurasi agen kontainer Amazon ECS.

"logConfiguration": { "logDriver": "awslogs","fluentd","gelf","json-file","journald","splunk","syslog","awsfirelens", "options": {"string": "string" ...}, "secretOptions": [{ "name": "string", "valueFrom": "string" }] }
logDriver

Tipe: String

Nilai yang valid: "awslogs","fluentd","gelf","json-file","journald","splunk","syslog","awsfirelens"

Diperlukan: Ya, saat logConfiguration digunakan

Driver log yang digunakan untuk kontainer. Secara default, nilai valid yang tercantum sebelumnya adalah driver log yang dapat berkomunikasi dengan agen kontainer Amazon ECS.

Driver log yang didukung adalah awslogs, fluentd, gelf, json-file, journald, syslog, splunk, dan awsfirelens.

Untuk informasi selengkapnya tentang cara menggunakan driver awslogs log dalam definisi tugas untuk mengirim log kontainer Anda ke CloudWatch Log, lihatKirim log Amazon ECS ke CloudWatch.

Untuk informasi selengkapnya tentang penggunaan driver log awsfirelens, lihat Perutean Log Kustom.

catatan

Jika Anda memiliki driver khusus yang tidak terdaftar, Anda dapat melakukan fork proyek agen kontainer Amazon ECS yang tersedia GitHub dan menyesuaikannya agar berfungsi dengan driver tersebut. Kami mendorong Anda untuk mengirim permintaan tarik untuk perubahan yang ingin Anda sertakan. Namun, saat ini kami tidak mendukung menjalankan salinan modifikasi dari perangkat lunak ini.

Parameter ini memerlukan Docker Remote API versi 1.18 atau lebih besar pada instans kontainer Anda.

options

Tipe: Peta antar string

Wajib: Tidak

Peta key/value opsi konfigurasi untuk dikirim ke driver log.

Opsi yang dapat Anda tentukan tergantung pada driver log. Beberapa opsi yang dapat Anda tentukan ketika Anda menggunakan awslogs router untuk merutekan log ke Amazon CloudWatch termasuk yang berikut:

awslogs-create-group

Wajib: Tidak

Tentukan apakah Anda ingin grup log dibuat secara otomatis. Jika opsi ini tidak ditentukan, default-nya adalah false.

catatan

Kebijakan IAM Anda harus menyertakan logs:CreateLogGroup izin sebelum Anda mencoba menggunakannyaawslogs-create-group.

awslogs-region

Wajib: Ya

Tentukan Wilayah AWS ke mana driver awslogs log akan mengirim log Docker Anda. Anda dapat memilih untuk mengirim semua log Anda dari cluster di Wilayah yang berbeda ke satu wilayah di CloudWatch Log. Ini agar mereka semua terlihat di satu lokasi. Jika tidak, Anda dapat memisahkannya berdasarkan Wilayah untuk perincian lebih lanjut. Pastikan grup log yang ditentukan ada di Wilayah yang Anda tentukan dengan opsi ini.

awslogs-group

Wajib: Ya

Pastikan untuk menentukan grup log tempat driver awslogs log mengirimkan aliran lognya.

awslogs-stream-prefix

Diperlukan: Opsional

Gunakan awslogs-stream-prefix opsi untuk mengaitkan aliran log dengan awalan yang ditentukan, nama wadah, dan ID tugas Amazon ECS yang dimiliki wadah tersebut. Jika Anda menentukan awalan dengan opsi ini, maka aliran log mengambil format berikut.

prefix-name/container-name/ecs-task-id

Jika Anda tidak menentukan awalan dengan opsi ini, maka aliran log dinamai berdasarkan ID container yang ditetapkan oleh daemon Docker pada instance container. Karena sulit untuk melacak log kembali ke wadah yang mengirimnya hanya dengan ID container Docker (yang hanya tersedia pada instance container), kami sarankan Anda menentukan awalan dengan opsi ini.

Untuk layanan Amazon ECS, Anda dapat menggunakan nama layanan sebagai awalan. Dengan demikian, Anda dapat melacak aliran log ke layanan milik wadah, nama wadah yang mengirimnya, dan ID tugas yang dimiliki wadah tersebut.

Anda harus menentukan awalan aliran untuk log agar log Anda muncul di panel Log saat menggunakan konsol Amazon ECS.

awslogs-datetime-format

Wajib: Tidak

Opsi ini mendefinisikan pola mulai multiline di Python format strftime. Pesan log terdiri dari baris yang cocok dengan pola dan baris berikut yang tidak cocok dengan pola. Baris yang cocok adalah pembatas antara pesan log.

Salah satu contoh kasus penggunaan format ini adalah untuk penguraian output seperti buangan tumpukan, yang mungkin bisa tercatat dalam beberapa entri. Pola yang benar akan memungkinkannya ditangkap dalam satu entri.

Untuk informasi lebih lanjut, lihat awslogs-datetime-format.

Anda tidak dapat mengonfigurasi awslogs-multiline-pattern opsi awslogs-datetime-format dan.

catatan

Pencatatan multibaris melakukan penguraian dan pencocokan ekspresi reguler dari semua pesan log. Ini mungkin berdampak negatif pada performa pencatatan.

awslogs-multiline-pattern

Wajib: Tidak

Opsi ini mendefinisikan pola awal multiline yang menggunakan ekspresi reguler. Pesan log terdiri dari baris yang cocok dengan pola dan baris berikut yang tidak cocok dengan pola. Baris yang cocok adalah pembatas antara pesan log.

Untuk informasi selengkapnya, lihat awslogs-multiline-pola.

Pilihan ini diabaikan jika awslogs-datetime-format juga dikonfigurasi.

Anda tidak dapat mengonfigurasi awslogs-multiline-pattern opsi awslogs-datetime-format dan.

catatan

Pencatatan multibaris melakukan penguraian dan pencocokan ekspresi reguler dari semua pesan log. Ini mungkin berdampak negatif pada performa pencatatan.

Opsi berikut berlaku untuk semua driver log yang didukung.

mode

Wajib: Tidak

Nilai yang valid: non-blocking | blocking

Opsi ini mendefinisikan mode pengiriman pesan log dari wadah ke driver log yang ditentukan menggunakanlogDriver. Mode pengiriman yang Anda pilih memengaruhi ketersediaan aplikasi ketika aliran log dari wadah terganggu.

Jika Anda menggunakan blocking mode dan aliran log terganggu, panggilan dari kode kontainer untuk menulis ke stderr stream stdout dan akan diblokir. Utas logging aplikasi akan diblokir sebagai hasilnya. Hal ini dapat menyebabkan aplikasi menjadi tidak responsif dan menyebabkan kegagalan pemeriksaan kesehatan wadah.

Jika Anda menggunakan non-blocking mode, log wadah malah disimpan dalam buffer perantara dalam memori yang dikonfigurasi dengan max-buffer-size opsi tersebut. Ini mencegah aplikasi menjadi tidak responsif ketika log tidak dapat dikirim. Sebaiknya gunakan mode ini jika Anda ingin memastikan ketersediaan layanan dan tidak masalah dengan kehilangan log. Untuk informasi selengkapnya, lihat M encegah kehilangan log dengan mode non-pemblokiran di driver log awslogs kontainer.

Anda dapat mengatur default mode untuk semua kontainer dalam wadah tertentu Wilayah AWS dengan menggunakan pengaturan defaultLogDriverMode akun. Jika Anda tidak menentukan mode opsi di logConfiguration atau mengkonfigurasi pengaturan akun, Amazon ECS akan secara default ke non-blocking mode. Untuk informasi selengkapnya tentang pengaturan akun, lihatMode driver log default.

Saat non-blocking mode digunakan, opsi max-buffer-size log mengontrol ukuran buffer yang digunakan untuk penyimpanan pesan perantara. Pastikan untuk menentukan ukuran buffer yang memadai berdasarkan aplikasi Anda. Jumlah total memori yang dialokasikan pada tingkat tugas harus lebih besar dari jumlah memori yang dialokasikan untuk semua wadah selain buffer memori driver log.

catatan

Pada 25 Juni 2025, Amazon ECS mengubah mode driver log default dari blocking non-blocking ke untuk memprioritaskan ketersediaan tugas daripada logging. Untuk terus menggunakan blocking mode setelah perubahan ini, lakukan salah satu hal berikut:

  • Tetapkan mode opsi dalam definisi wadah Anda logConfiguration sebagaiblocking.

  • Atur pengaturan defaultLogDriverMode akun keblocking.

max-buffer-size

Wajib: Tidak

Nilai default: 10 m

Saat non-blocking mode digunakan, opsi max-buffer-size log mengontrol ukuran buffer yang digunakan untuk penyimpanan pesan perantara. Pastikan untuk menentukan ukuran buffer yang memadai berdasarkan aplikasi Anda. Ketika buffer terisi, log lebih lanjut tidak dapat disimpan. Log yang tidak dapat disimpan hilang.

Untuk merutekan splunk log menggunakan router log, Anda perlu menentukan a splunk-token dan asplunk-url.

Saat Anda menggunakan router awsfirelens log untuk merutekan log ke AWS Partner Network tujuan Layanan AWS atau untuk penyimpanan log dan analitik, Anda dapat mengatur log-driver-buffer-limit opsi untuk membatasi jumlah baris log yang disangga dalam memori, sebelum dikirim ke wadah router log. Ini dapat membantu menyelesaikan potensi masalah kehilangan log karena throughput tinggi dapat mengakibatkan kehabisan memori untuk buffer di dalamnyaDocker. Untuk informasi selengkapnya, lihat Mengkonfigurasi log Amazon ECS untuk throughput tinggi.

Opsi lain yang dapat Anda tentukan saat menggunakan awsfirelens untuk merutekan log tergantung pada tujuan. Saat mengekspor log ke Amazon Data Firehose, Anda dapat menentukan Wilayah AWS dengan region dan nama untuk aliran log dengandelivery_stream.

Saat mengekspor log ke Amazon Kinesis Data Streams, Anda dapat menentukan Wilayah AWS dengan region dan nama aliran data denganstream.

Saat mengekspor log ke Amazon OpenSearch Service, Anda dapat menentukan opsi sepertiName, Host (T OpenSearch itik akhir layanan tanpa protokol)Port,Index,Type,Aws_auth,Aws_region,Suppress_Type_Name, dantls.

Saat mengekspor log ke Amazon S3, Anda dapat menentukan bucket menggunakan bucket opsi. Anda juga dapat menentukanregion,total_file_size,upload_timeout, dan use_put_object sebagai opsi.

Parameter ini memerlukan API Docker Remote versi 1.19 atau lebih besar pada instans kontainer Anda.

secretOptions

Tipe: Array objek

Wajib: Tidak

Objek yang mewakili rahasia untuk diteruskan ke konfigurasi log. Rahasia yang digunakan dalam konfigurasi log dapat mencakup token otentikasi, sertifikat, atau kunci enkripsi. Untuk informasi selengkapnya, lihat Meneruskan data sensitif ke wadah Amazon ECS.

name

Tipe: String

Wajib: Ya

Nilai untuk ditetapkan sebagai variabel lingkungan pada kontainer.

valueFrom

Tipe: String

Wajib: Ya

Secret untuk diekspos ke konfigurasi log kontainer.

"logConfiguration": { "logDriver": "splunk", "options": { "splunk-url": "https://cloud.splunk.com:8080", "splunk-token": "...", "tag": "...", ... }, "secretOptions": [{ "name": "splunk-token", "valueFrom": "/ecs/logconfig/splunkcred" }] }
firelensConfiguration

Jenis: Ob FirelensConfiguration jek

Wajib: Tidak

FireLens Konfigurasi untuk wadah. Digunakan untuk menentukan dan mengonfigurasi router log untuk log kontainer. Untuk informasi selengkapnya, lihat Kirim log Amazon ECS ke AWS layanan atau AWS Partner.

{ "firelensConfiguration": { "type": "fluentd", "options": { "KeyName": "" } } }
options

Tipe: Peta antar string

Wajib: Tidak

Peta key/value opsi untuk digunakan saat mengkonfigurasi router log. Bidang ini opsional dan dapat digunakan untuk menentukan file konfigurasi kustom atau untuk menambahkan metadata tambahan, seperti tugas, ketentuan tugas, klaster, dan detail instans kontainer ke log acara. Jika ditentukan, sintaksis yang digunakan adalah "options":{"enable-ecs-log-metadata":"true|false","config-file-type:"s3|file","config-file-value":"arn:aws:s3:::amzn-s3-demo-bucket/fluent.conf|filepath"}. Untuk informasi selengkapnya, lihat Contoh definisi tugas Amazon ECS: Rute log ke FireLens.

type

Tipe: String

Wajib: Ya

Router log yang akan digunakan. Nilai yang valid adalah fluentd atau fluentbit.

Keamanan

Untuk informasi selengkapnya tentang keamanan kontainer, lihat praktik terbaik keamanan tugas dan wadah Amazon ECS.

credentialSpecs

Tipe: Array string

Wajib: Tidak

Daftar ARN di SSM atau Amazon S3 ke file spesifikasi kredensia (CredSpec) yang mengonfigurasi wadah untuk otentikasi Active Directory. Kami menyarankan Anda menggunakan parameter ini alih-alihdockerSecurityOptions. Jumlah maksimum ARN adalah 1.

Ada dua format untuk setiap ARN.

KredensialSpecDomainless: myarn

Anda gunakan credentialspecdomainless:MyARN untuk menyediakan CredSpec bagian tambahan untuk rahasia di Manajer Rahasia. Anda memberikan kredenSIAL login ke domain di rahasia.

Setiap tugas yang berjalan pada instance kontainer apa pun dapat bergabung dengan domain yang berbeda.

Anda dapat menggunakan format ini tanpa menggabungkan instance kontainer ke domain.

Spesifikasi kredensial:MYARN

Anda credentialspec:MyARN gunakan CredSpec untuk menyediakan domain tunggal.

Anda harus menggabungkan instance kontainer ke domain sebelum memulai tugas apa pun yang menggunakan definisi tugas ini.

Dalam kedua format, ganti MyARN dengan ARN di SSM atau Amazon S3.

credspecHarus memberikan ARN di Secrets Manager untuk rahasia yang berisi nama pengguna, kata sandi, dan domain untuk terhubung. Untuk keamanan yang lebih baik, instance tidak digabungkan ke domain untuk otentikasi tanpa domain. Aplikasi lain pada instance tidak dapat menggunakan kredensional tanpa domain. Anda dapat menggunakan parameter ini untuk menjalankan tugas pada instance yang sama, bahkan tugas perlu bergabung dengan domain yang berbeda. Untuk informasi selengkapnya, lihat Menggunakan GMSA untuk Wadah Windows dan Menggunakan GMSA untuk Kontainer Linux.

privileged

Tipe: Boolean

Wajib: Tidak

Jika parameter ini betul, kontainer diberikan hak istimewa yang lebih tinggi pada instans kontainer host misalnya (mirip dengan pengguna root). Kami merekomendasikan untuk tidak menjalankan wadah denganprivileged. Dalam kebanyakan kasus, Anda dapat menentukan hak istimewa yang tepat yang Anda butuhkan dengan menggunakan parameter tertentu alih-alih menggunakanprivileged.

Parameter ini dipet Privileged akan ke dalam perintah docker create-container dan --privileged opsi untuk menjalankan docker.

catatan

Parameter ini tidak didukung untuk wadah atau tugas Windows menggunakan jenis peluncuran Fargate.

Default-nya adalah false.

"privileged": true|false
user

Tipe: String

Wajib: Tidak

Pengguna yang akan digunakan di dalam kontainer. Parameter ini dipet User akan ke dalam perintah docker create-container dan --user opsi untuk menjalankan docker.

penting

Saat menjalankan tugas yang menggunakan mode host jaringan, jangan jalankan wadah menggunakan pengguna root (UID 0). Sebagai praktik terbaik keamanan, selalu gunakan pengguna non-root.

Anda dapat menentukan user dengan menggunakan format berikut. Jika menentukan UID atau GID, Anda harus menentukannya sebagai bilangan bulat positif.

  • user

  • user:group

  • uid

  • uid:gid

  • user:gid

  • uid:group

catatan

Parameter ini tidak didukung untuk kontainer Windows.

"user": "string"
dockerSecurityOptions

Tipe: Array string

Nilai yang valid: “no-new-rights” | “apparmor:profile” | “label:value" | “credentialspec:” CredentialSpecFilePath

Wajib: Tidak

Daftar string untuk menyediakan konfigurasi khusus untuk beberapa sistem keamanan.

Untuk Linux tugas, parameter ini dapat digunakan untuk mereferensikan label khusus untuk SELinux dan sistem keamanan AppArmor multi-level.

Parameter ini dapat digunakan untuk mereferensikan file spesifikasi kredensi yang mengonfigurasi wadah untuk otentikasi Active Directory. Untuk informasi selengkapnya, lihat Pelajari cara menggunakan GMSAs untuk wadah Windows EC2 untuk Amazon ECS dan Penggunaan gMSA untuk EC2 Linux kontainer di Amazon ECS.

Parameter ini dipet SecurityOpt akan ke dalam perintah docker create-container dan --security-opt opsi untuk menjalankan docker.

"dockerSecurityOptions": ["string", ...]
catatan

Agen kontainer Amazon ECS yang berjalan pada instance kontainer harus mendaftar dengan variabel ECS_APPARMOR_CAPABLE=true lingkungan ECS_SELINUX_CAPABLE=true atau sebelum kontainer yang ditempatkan pada instans tersebut dapat menggunakan opsi keamanan ini. Untuk informasi selengkapnya, lihat Konfigurasi agen kontainer Amazon ECS.

Batas sumber daya

ulimits

Tipe: Array objek

Wajib: Tidak

Daftar nilai ulimit yang harus ditentukan untuk kontainer. Nilai ini mengganti setelan kuota sumber daya default untuk sistem operasi. Parameter ini dipet Ulimits akan ke dalam perintah docker create-container dan --ulimit opsi untuk menjalankan docker.

Parameter ini memerlukan Docker Remote API versi 1.18 atau lebih besar pada instans kontainer Anda.

catatan

Parameter ini tidak didukung untuk kontainer Windows.

"ulimits": [ { "name": "core"|"cpu"|"data"|"fsize"|"locks"|"memlock"|"msgqueue"|"nice"|"nofile"|"nproc"|"rss"|"rtprio"|"rttime"|"sigpending"|"stack", "softLimit": integer, "hardLimit": integer } ... ]
name

Tipe: String

Nilai yang valid: "core" | "cpu" | "data" | "fsize" | "locks" | "memlock" | "msgqueue" | "nice" | "nofile" | "nproc" | "rss" | "rtprio" | "rttime" | "sigpending" | "stack"

Diperlukan: Ya, saat ulimits digunakan

type dari ulimit.

hardLimit

Jenis: Integer

Diperlukan: Ya, saat ulimits digunakan

Batas keras untuk tipe ulimit. Nilai dapat ditentukan dalam byte, detik, atau sebagai hitungan, tergantung pada typeulimit.

softLimit

Jenis: Integer

Diperlukan: Ya, saat ulimits digunakan

Batas lunak untuk tipe ulimit. Nilai dapat ditentukan dalam byte, detik, atau sebagai hitungan, tergantung pada typeulimit.

Label docker

dockerLabels

Tipe: Peta antar string

Wajib: Tidak

Peta key/value label untuk ditambahkan ke wadah. Parameter ini dipet Labels akan ke dalam perintah docker create-container dan --label opsi untuk menjalankan docker.

Parameter ini memerlukan Docker Remote API versi 1.18 atau lebih besar pada instans kontainer Anda.

"dockerLabels": {"string": "string" ...}

Parameter definisi wadah lainnya

Parameter definisi wadah berikut dapat digunakan saat mendaftarkan definisi tugas di konsol Amazon ECS dengan menggunakan opsi Konfigurasi melalui JSON. Untuk informasi selengkapnya, lihat Membuat definisi tugas Amazon ECS menggunakan konsol.

Parameter Linux

linuxParameters

Tipe: Objek LinuxParameters

Wajib: Tidak

Linux-opsi spesifik yang diterapkan ke wadah, seperti KernelCapabilities.

catatan

Parameter ini tidak didukung untuk Windows kontainer.

"linuxParameters": { "capabilities": { "add": ["string", ...], "drop": ["string", ...] } }
capabilities

Tipe: Objek KernelCapabilities

Wajib: Tidak

Kem Linux ampuan untuk wadah yang ditambahkan atau dihapus dari konfigurasi default yang disediakan olehDocker. Untuk informasi selengkapnya tentang Linux kemampuan ini, lihat halaman manual kapabilitas (7) Linux.

add

Tipe: Array string

Nilai yang valid: "ALL" | "AUDIT_CONTROL" | "AUDIT_READ" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"

Wajib: Tidak

Kem Linux ampuan wadah untuk ditambahkan ke konfigurasi default yang disediakan olehDocker. Parameter ini dipet CapAdd akan ke dalam perintah docker create-container dan --cap-add opsi untuk menjalankan docker.

add

Tipe: Array string

Nilai yang valid: "SYS_PTRACE"

Wajib: Tidak

Kem Linux ampuan wadah untuk ditambahkan ke konfigurasi default yang disediakan olehDocker. Parameter ini dipet CapAdd akan ke dalam perintah docker create-container dan --cap-add opsi untuk menjalankan docker.

drop

Tipe: Array string

Nilai yang valid: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"

Wajib: Tidak

Kem Linux ampuan wadah untuk menghapus dari konfigurasi default yang disediakan olehDocker. Parameter ini dipet CapDrop akan ke dalam perintah docker create-container dan --cap-drop opsi untuk menjalankan docker.

devices

Perangkat host apa pun yang akan diekspos ke kontainer. Parameter ini dipet Devices akan ke dalam perintah docker create-container dan --device opsi untuk menjalankan Docker.

Tipe: Array objek Perangkat

Wajib: Tidak

hostPath

Jalur untuk perangkat pada instans kontainer host.

Tipe: String

Diperlukan: Ya

containerPath

Jalur di dalam wadah untuk mengekspos perangkat host di.

Tipe: String

Wajib: Tidak

permissions

Izin eksplisit untuk diberikan ke kontainer untuk perangkat. Secara default, kontainer memiliki izin untukread, write, dan mknod pada perangkat.

Tipe: Array string

Nilai yang Valid: read | write | mknod

initProcessEnabled

Jalankan proses init di dalam kontainer yang meneruskan sinyal dan melakukan proses kembali. Parameter ini memetakan ke --init opsi untuk docker run.

Parameter ini memerlukan API Docker Remote versi 1.25 atau lebih besar pada instans kontainer Anda.

maxSwap

Jumlah total memori tukar (dalam MiB) yang dapat digunakan oleh kontainer. Parameter ini diterjemahkan ke --memory-swap opsi untuk docker run di mana nilainya adalah jumlah memori kontainer ditambah nil maxSwap ainya.

Jika nilai maxSwap sebesar 0 ditentukan, kontainer tidak menggunakan swap. Nilai yang diterima adalah 0 atau bilangan bulat positif. Jika maxSwap parameter diabaikan, kontainer menggunakan konfigurasi swap untuk instans kontainer tempatnya berjalan. Nilai maxSwap harus ditetapkan untuk parameter swappiness yang akan digunakan.

sharedMemorySize

Nilai untuk ukuran (dalam MiB) volume /dev/shm. Parameter ini memetakan ke --shm-size opsi untuk docker run.

Jenis: Integer

swappiness

Anda dapat menggunakan parameter ini untuk menyetel perilaku pertukaran memori wadah. Nilai swappiness 0 mencegah pertukaran terjadi kecuali diperlukan. Nilai swappiness 100 menyebabkan halaman sering ditukar. Nilai yang diterima adalah bilangan bulat antara 0 dan 100. Jika Anda tidak menentukan nilai, nilai default 60 digunakan. Selain itu, jika Anda tidak menentukan nilai untukmaxSwap, maka parameter ini diabaikan. Parameter ini memetakan ke --memory-swappiness opsi untuk docker run.

catatan

Jika Anda menggunakan tugas di Amazon Linux 2023, swappiness parameter tidak didukung.

tmpfs

Jalur kontainer, opsi pemasangan, dan ukuran maksimum (dalam MiB) tmpfs pemasangan. Parameter ini memetakan ke --tmpfs opsi untuk docker run.

Tipe: Array objek Tmpfs

Wajib: Tidak

containerPath

Jalur file absolut tempat tmpfs volume akan dipasang.

Tipe: String

Diperlukan: Ya

mountOptions

Daftar opsi pemasangan volume tmpfs.

Tipe: Array string

Wajib: Tidak

Nilai yang Valid: "defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" | "exec" | "noexec" | "sync" | "async" | "dirsync" | "remount" | "mand" | "nomand" | "atime" | "noatime" | "diratime" | "nodiratime" | "bind" | "rbind" | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime" | "norelatime" | "strictatime" | "nostrictatime" | "mode" | "uid" | "gid" | "nr_inodes" | "nr_blocks" | "mpol"

size

Ukuran maksimum (dalam MiB) tmpfs volume.

Jenis: Integer

Wajib: Ya

Dependensi kontainer

dependsOn

Tipe: Array objek ContainerDependency

Wajib: Tidak

Dependensi yang ditentukan untuk pemulaian dan penonaktifan kontainer. Kontainer dapat berisi beberapa dependensi. Ketika dependensi ditentukan untuk memulai kontainer, maka akan dibalik jika ingin menonaktifkan kontainer. Misalnya, lihat Dependensi kontainer.

catatan

Jika wadah tidak memenuhi batasan ketergantungan atau batas waktu sebelum memenuhi batasan, Amazon ECS tidak memajukan wadah dependen ke status berikutnya.

Instans memerlukan setidaknya versi agen 1.26.0 kontainer untuk mengaktifkan dependensi kontainer. Namun, kami menyarankan untuk menggunakan versi agen kontainer terbaru. Untuk informasi tentang memeriksa versi agen Anda dan memperbarui ke versi terbaru, lihat Memperbarui agen kontainer Amazon ECS. Jika Anda menggunakan AMI Amazon ECS-optimized Amazon Linux, instans Anda memerlukan setidaknya 1.26.0-1 versi ecs-init paket. Jika instance kontainer Anda diluncurkan dari versi 20190301 atau yang lebih baru, instans tersebut berisi versi agen kontainer yang diperlukan danecs-init. Untuk informasi selengkapnya, lihat AMI Amazon ECS-optimized Linux.

"dependsOn": [ { "containerName": "string", "condition": "string" } ]
containerName

Tipe: String

Wajib: Ya

Nama kontainer yang harus memenuhi syarat yang ditentukan.

condition

Tipe: String

Wajib: Ya

Syarat dependensi kontainer. Berikut ini adalah syarat yang tersedia dan perilakunya:

  • START— Kondisi ini meniru perilaku tautan dan volume hari ini. Kondisi memvalidasi bahwa wadah dependen dimulai sebelum mengizinkan kontainer lain untuk memulai.

  • COMPLETE- Kondisi ini memvalidasi bahwa wadah dependen berjalan hingga selesai (keluar) sebelum mengizinkan kontainer lain untuk memulai. Ini dapat berguna untuk wadah non-esensial yang menjalankan skrip dan kemudian keluar. Kondisi ini tidak dapat diatur pada kontainer penting.

  • SUCCESS— Kondisi ini sama denganCOMPLETE, tetapi juga mengharuskan wadah keluar dengan zero status. Kondisi ini tidak dapat diatur pada kontainer penting.

  • HEALTHY- Kondisi ini memvalidasi bahwa wadah dependen melewati pemeriksaan kesehatan wadahnya sebelum mengizinkan wadah lain untuk memulai. Ini mengharuskan wadah dependen memiliki pemeriksaan kesehatan yang dikonfigurasi dalam definisi tugas. Syarat ini dikonfirmasi hanya pada memulai tugas.

Waktu habis kontainer

startTimeout

Tipe: Integer

Wajib: Tidak

Nilai contoh: 120

Durasi waktu (dalam detik) untuk menunggu sebelum menyerah pada penyelesaian dependensi untuk kontainer.

Misalnya, Anda menentukan dua kontainer dalam ketentuan tugas dengan containerA yang memiliki dependensi untuk containerB yang mencapai status COMPLETE, SUCCESS, atau HEALTHY. Jika startTimeout nilai ditentukan untuk containerB dan tidak mencapai status yang diinginkan dalam waktu itu, maka containerA tidak dimulai.

catatan

Jika wadah tidak memenuhi batasan ketergantungan atau batas waktu sebelum memenuhi batasan, Amazon ECS tidak memajukan wadah dependen ke status berikutnya.

Nilai maksimum adalah 120 detik.

stopTimeout

Tipe: Integer

Wajib: Tidak

Nilai contoh: 120

Durasi waktu (dalam detik) untuk menunggu sebelum kontainer dimatikan secara paksa jika tidak keluar dengan sendirinya secara normal.

Jika stopTimeout parameter tidak ditentukan, nilai yang ditetapkan untuk variabel konfigurasi agen kontainer Amazon ECS ECS_CONTAINER_STOP_TIMEOUT digunakan. Jika stopTimeout parameter atau variabel konfigurasi ECS_CONTAINER_STOP_TIMEOUT agen tidak disetel, nilai default 30 detik untuk Linux kontainer dan 30 detik pada Windows kontainer digunakan. instans kontainer memerlukan setidaknya agen kontainer versi 1.26.0 untuk mengaktifkan nilai batas waktu penghentian kontainer. Akan tetapi, kami merekomendasikan untuk menggunakan versi agen kontainer terbaru. Untuk informasi tentang cara memeriksa versi agen Anda dan memperbarui ke versi terbaru, lihatMemperbarui agen kontainer Amazon ECS. Jika Anda menggunakan AMI Amazon ECS-optimized Amazon Linux, instans Anda memerlukan setidaknya versi 1.26.0-1 dari paket. ecs-init Jika instance kontainer Anda diluncurkan dari versi 20190301 atau yang lebih baru, instans tersebut berisi versi agen kontainer yang diperlukan danecs-init. Untuk informasi selengkapnya, lihat AMI Amazon ECS-optimized Linux.

Kontrol sistem

systemControls

Tipe: Objek SystemControl

Wajib: Tidak

Daftar parameter kernel namespace untuk diatur dalam wadah. Parameter ini dipetakan ke Sysctls dalam perintah docker create-container dan --sysctl opsi untuk menjalankan docker. Misalnya, Anda dapat mengonfigurasi net.ipv4.tcp_keepalive_time pengaturan untuk mempertahankan koneksi yang lebih lama.

Kami tidak menyarankan Anda menentukan systemControls parameter terkait jaringan untuk beberapa wadah dalam satu tugas yang juga menggunakan mode host jaringan awsvpc atau. Melakukan hal ini memiliki kelemahan sebagai berikut:

  • Untuk tugas yang menggunakan mode jaringan awsvpc, jika Anda mengatur systemControls untuk kontainer apa pun, maka akan berlaku untuk semua kontainer dalam tugas. Jika Anda menyet systemControls el berbeda untuk beberapa wadah dalam satu tugas, wadah yang dimulai terakhir menentukan mana systemControls yang berlaku.

  • Untuk tugas yang menggunakan mode host jaringan, namespace jaringan systemControls tidak didukung.

Jika Anda menyetel namespace sumber daya IPC untuk digunakan untuk wadah dalam tugas, kondisi berikut berlaku untuk kontrol sistem Anda. Untuk informasi selengkapnya, lihat Mode IPC.

  • Untuk tugas yang menggunakan mode host IPC, namespace IPC systemControls tidak didukung.

  • Untuk tugas yang menggunakan mode task IPC, systemControls nilai namespace IPC berlaku untuk semua wadah dalam tugas.

catatan

Parameter ini tidak didukung untuk kontainer Windows.

"systemControls": [ { "namespace":"string", "value":"string" } ]
namespace

Tipe: String

Wajib: Tidak

Parameter kernel namespace untuk menetapkan value untuk.

Nilai namespace IPC yang valid:"kernel.msgmax" | "kernel.msgmnb" | "kernel.msgmni" | "kernel.sem" | "kernel.shmall" | "kernel.shmmax" | "kernel.shmmni" | "kernel.shm_rmid_forced", dan Sysctls itu dimulai dengan "fs.mqueue.*"

Nilai namespace jaringan yang valid: Sysctls yang dimulai dengan "net.*"

value

Tipe: String

Wajib: Tidak

Nilai untuk parameter kernel namespace yang ditentukan dinamespace.

Interaktif

interactive

Tipe: Boolean

Wajib: Tidak

Ketika parameter initrue, Anda dapat menerapkan aplikasi kontainer yang memerlukan stdin atau akan dialok tty asikan. Parameter ini dipet OpenStdin akan ke dalam perintah docker create-container dan --interactive opsi untuk menjalankan docker.

Nilai default-nya false.

Terminal semu

pseudoTerminal

Tipe: Boolean

Wajib: Tidak

Jika parameter ini true, TTY dialokasikan. Parameter ini dipet Tty akan ke dalam perintah docker create-container dan --tty opsi untuk menjalankan docker.

Nilai default-nya false.

Nama akselerator inferensi elastis (tidak digunakan lagi)

Persyaratan sumber daya akselerator inferensi elastis untuk definisi tugas Anda.

catatan

Amazon Elastic Inference (EI) sudah tidak tersedia bagi pelanggan.

Parameter berikut diizinkan dalam definisi tugas:

deviceName

Tipe: String

Diperlukan: Ya

Nama perangkat akselerator Elastic Inference. Itu juga deviceName harus direferensikan dalam definisi wadah lihatElastic Inference accelerator.

deviceType

Tipe: String

Diperlukan: Ya

Akselerator Inferensi Elastis untuk digunakan.

Batasan penempatan tugas

Saat mendaftarkan definisi tugas, Anda dapat memberikan batasan penempatan tugas yang menyesuaikan cara Amazon ECS menempatkan tugas.

Anda dapat menggunakan batasan untuk menempatkan tugas berdasarkan Zona Ketersediaan, jenis instans, atau atribut khusus. Untuk informasi selengkapnya, lihat Menentukan Instans Kontainer Mana yang Digunakan Amazon ECS untuk Tugas.

Parameter berikut diizinkan dalam ketentuan kontainer:

expression

Tipe: String

Wajib: Tidak

Ekspresi bahasa kueri klaster yang akan diterapkan pada batasan. Untuk informasi selengkapnya, lihat Buat ekspresi untuk menentukan instance kontainer untuk tugas Amazon ECS.

type

Tipe: String

Diperlukan: Ya

Tipe batasan. Gunakan memberOf untuk membatasi pemilihan ke grup kandidat yang valid.

Konfigurasi proxy

proxyConfiguration

Tipe: Objek ProxyConfiguration

Wajib: Tidak

Detail konfigurasi untuk proxy App Mesh.

Untuk tugas yang menggunakan EC2, instans kontainer memerlukan setidaknya versi 1.26.0 dari agen kontainer dan setidaknya versi 1.26.0-1 dari ecs-init paket untuk mengaktifkan konfigurasi proxy. Jika instance kontainer Anda diluncurkan dari versi Amazon ECS-optimized AMI 20190301 atau yang lebih baru, maka instans tersebut berisi versi agen kontainer yang diperlukan danecs-init. Untuk informasi selengkapnya, lihat AMI Amazon ECS-optimized Linux.

catatan

Parameter ini tidak didukung untuk kontainer Windows.

"proxyConfiguration": { "type": "APPMESH", "containerName": "string", "properties": [ { "name": "string", "value": "string" } ] }
type

Tipe: String

Nilai nilai: APPMESH

Wajib: Tidak

Tipe proxy. Satu-satunya nilai yang didukung adalah APPMESH.

containerName

Tipe: String

Diperlukan: Ya

Nama wadah yang berfungsi sebagai proxy App Mesh.

properties

Tipe: Array objek KeyValuePair

Wajib: Tidak

Set parameter konfigurasi jaringan berfungsi untuk menyediakan plugin Container Network Interface (CNI), yang ditetapkan sebagai pasangan nilai kunci.

  • IgnoredUID— (Diperlukan) ID pengguna (UID) dari wadah proxy seperti yang didefinisikan oleh user parameter dalam definisi wadah. Ini digunakan untuk memastikan bahwa proksi mengabaikan lalu lintasnya sendiri. Jika IgnoredGID ditentukan, bidang ini tidak boleh kosong.

  • IgnoredGID— (Diperlukan) ID grup (GID) dari wadah proxy seperti yang didefinisikan oleh user parameter dalam definisi wadah. Ini digunakan untuk memastikan bahwa proksi mengabaikan lalu lintasnya sendiri. Jika IgnoredUID ditentukan, bidang ini tidak boleh kosong.

  • AppPorts— (Wajib) Daftar port yang digunakan aplikasi. Lalu lintas jaringan ke port ini diteruskan ke ProxyIngressPort dan ProxyEgressPort.

  • ProxyIngressPort— (Wajib) Menentukan port tempat lalu lintas masuk diarahkan. AppPorts

  • ProxyEgressPort— (Wajib) Menentukan port tempat lalu lintas keluar diarahkan. AppPorts

  • EgressIgnoredPorts— (Wajib) Lalu lintas keluar menuju port yang ditentukan ini diabaikan dan tidak diarahkan keProxyEgressPort. Ia bisa berupa daftar kosong.

  • EgressIgnoredIPs— (Wajib) Lalu lintas keluar menuju alamat IP yang ditentukan ini diabaikan dan tidak diarahkan keProxyEgressPort. Ia bisa berupa daftar kosong.

name

Tipe: String

Wajib: Tidak

Nama pasangan nilai kunci.

value

Tipe: String

Wajib: Tidak

Nilai pasangan nilai kunci.

volume

Saat Anda mendaftarkan definisi tugas, Anda dapat secara opsional menentukan daftar volume yang akan diteruskan ke Docker daemon pada instance kontainer, yang kemudian tersedia untuk diakses oleh kontainer lain pada instance kontainer yang sama.

Berikut ini adalah jenis volume data yang dapat digunakan:

  • Volume Amazon EBS — Menyediakan penyimpanan blok yang hemat biaya, tahan lama, dan berkinerja tinggi untuk beban kerja kontainer intensif data. Anda dapat melampirkan 1 volume Amazon EBS per tugas Amazon ECS saat menjalankan tugas mandiri, atau saat membuat atau memperbarui layanan. Volume Amazon EBS didukung untuk tugas Linux. Untuk informasi selengkapnya, lihat Gunakan volume Amazon EBS dengan Amazon ECS.

  • Volume Amazon EFS — Menyediakan penyimpanan file yang sederhana, dapat diskalakan, dan persisten untuk digunakan dengan tugas Amazon ECS Anda. Kapasitas penyimpanan Amazon EFS bersifat elastis. Hal ini bertumbuh dan menyusut secara otomatis seiring Anda menambahkan dan menghapus file. Aplikasi Anda dapat memiliki penyimpanan yang mereka butuhkan dan kapan pun mereka membutuhkannya. Volume Amazon EFS didukung. Untuk informasi selengkapnya, lihat Gunakan volume Amazon EFS dengan Amazon ECS.

  • FSx untuk Windows File Server volume - Menyediakan server file Microsoft Windows yang dikelola sepenuhnya. Server file ini didukung oleh sistem file Windows. Saat menggunakan FSx untuk Windows File Server bersama dengan Amazon ECS, Anda dapat menyediakan tugas Windows Anda dengan penyimpanan file persisten, terdistribusi, bersama, dan statis. Untuk informasi selengkapnya, lihat Gunakan FSx untuk volume Server File Windows dengan Amazon ECS.

    Wadah Windows di Fargate tidak mendukung opsi ini.

  • Volume Docker — Docker-managed Volume yang dibuat /var/lib/docker/volumes di bawah instans host Amazon EC2. Driver volume Docker (juga disebut sebagai plugin) digunakan untuk mengintegrasikan volume dengan sistem penyimpanan eksternal, seperti Amazon EBS. Built-in driver volume local atau driver volume pihak ke tiga dapat digunakan. Volume Docker hanya didukung saat menjalankan tugas di instans Amazon EC2. Kontainer Windows hanya mendukung penggunaan driver local. Untuk menggunakan volume Docker, tentukan dockerVolumeConfiguration dalam ketentuan tugas Anda.

  • Bind mount — File atau direktori pada mesin host yang dipasang ke dalam wadah. Volume host mount bind didukung. Untuk menggunakan bind mount host volume, tentukan sourcePath nilai host dan opsional dalam definisi tugas Anda.

Untuk informasi selengkapnya, lihat Opsi penyimpanan untuk tugas Amazon ECS.

Parameter berikut diizinkan dalam ketentuan kontainer.

name

Tipe: String

Wajib: Tidak

Nama volume. Hingga 255 huruf (huruf besar dan kecil), angka, tanda hubung (), dan garis bawah (-) diperbolehkan. _ Nama ini direferensikan dalam sourceVolume parameter mountPoints objek definisi wadah.

host

Wajib: Tidak

hostParameter ini digunakan untuk mengikat siklus proses pemasangan bind ke instans host Amazon EC2, bukan tugas, dan tempat penyimpanan. Jika host parameter kosong, maka daemon Docker menetapkan jalur host untuk volume data Anda, tetapi data tidak dijamin akan bertahan setelah wadah yang terkait dengannya berhenti berjalan.

Kontainer Windows dapat memasang seluruh direktori pada drive yang sama dengan $env:ProgramData.

catatan

sourcePathParameter ini hanya didukung saat menggunakan tugas yang dihosting di instans Amazon EC2 atau Instans Terkelola Amazon ECS.

sourcePath

Tipe: String

Wajib: Tidak

Saat host parameter digunakan, tentukan a sourcePath untuk mendeklarasikan jalur pada instans host Amazon EC2 yang disajikan ke wadah. Jika parameter ini kosong, daemon Docker akan menetapkan jalur host untuk Anda. Jika host parameter berisi lokasi sourcePath file, volume data tetap ada di lokasi yang ditentukan pada instans Amazon EC2 host sampai Anda menghapusnya secara manual. Jika sourcePath nilai tidak ada pada instans host Amazon EC2, daemon Docker membuatnya. Jika lokasinya memang ada, konten dari folder jalur sumber diekspor.

configuredAtLaunch

Tipe: Boolean

Wajib: Tidak

Menentukan apakah volume dapat dikonfigurasi saat peluncuran. Saat diset true el ke, Anda dapat mengonfigurasi volume saat menjalankan tugas mandiri, atau saat membuat atau memperbarui layanan. Saat diset true el ke, Anda tidak akan dapat memberikan konfigurasi volume lain dalam definisi tugas. Parameter ini harus diatur untuk true mengonfigurasi volume Amazon EBS untuk lampiran pada tugas. Men configuredAtLaunch yet true el ke dan menunda konfigurasi volume ke fase peluncuran memungkinkan Anda membuat definisi tugas yang tidak dibatasi pada jenis volume atau pengaturan volume tertentu. Melakukan hal ini membuat definisi tugas Anda dapat digunakan kembali di lingkungan eksekusi yang berbeda. Untuk informasi selengkapnya, lihat volume https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-volumes.html Amazon EBS.

dockerVolumeConfiguration

Jenis: Ob DockerVolumeConfiguration jek

Wajib: Tidak

Parameter ini ditentukan saat menggunakan volume Docker. Volume Docker hanya didukung saat menjalankan tugas pada instans EC2. Kontainer Windows hanya mendukung penggunaan driver local. Untuk menggunakan pemasangan mengikat, tentukan host saja.

scope

Tipe: String

Nilai Valid: task | shared

Wajib: Tidak

Ruang lingkup untuk volume Docker, yang menentukan siklus hidupnya. Volume Docker yang tercakup ke task secara otomatis disediakan saat tugas dimulai dan dihancurkan saat tugas berhenti. Volume Docker yang tercakup sebagai shared dipertahankan setelah tugas berhenti.

autoprovision

Jenis: Boolean

Nilai default: false

Wajib: Tidak

Jika nilai initrue, volume Docker dibuat jika belum ada. Bidang ini hanya digunakan jika scope adashared. Jika yatask, scope maka parameter ini harus dihilangkan.

driver

Tipe: String

Wajib: Tidak

Driver volume Docker yang digunakan. Nilai driver harus sesuai dengan nama driver yang disediakan oleh Docker karena nama ini digunakan untuk penempatan tugas. Jika driver diinstal dengan menggunakan plugin Docker CLI, gunakan docker plugin ls untuk mengambil nama driver dari instance container Anda. Jika driver diinstal dengan menggunakan metode lain, gunakan penemuan plugin Docker untuk mengambil nama driver.

driverOpts

Tipe: String

Wajib: Tidak

Peta opsi khusus driver Docker untuk dilewati. Parameter ini di DriverOpts petakan ke dalam bagian Buat volume Docker.

labels

Tipe: String

Wajib: Tidak

Metadata kustom untuk ditambahkan ke volume Docker.

efsVolumeConfiguration

Jenis: Ob EFSVolumeConfiguration jek

Wajib: Tidak

Parameter ini ditentukan saat menggunakan volume Amazon EFS.

fileSystemId

Tipe: String

Diperlukan: Ya

ID sistem file Amazon EFS yang akan digunakan.

rootDirectory

Tipe: String

Wajib: Tidak

Direktori dalam sistem file Amazon EFS untuk dipasang sebagai direktori root di dalam host. Jika parameter ini dihilangkan, root volume Amazon EFS akan digunakan. Menentukan / memiliki efek yang sama seperti mengabaikan parameter ini.

penting

Jika titik akses EFS ditentukan dalamauthorizationConfig, parameter direktori root harus dihilangkan atau disetel ke/, yang akan menerapkan jalur yang ditetapkan pada titik akses EFS.

transitEncryption

Tipe: String

Nilai yang valid: ENABLED | DISABLED

Wajib: Tidak

Menentukan apakah akan mengaktifkan enkripsi untuk data Amazon EFS yang sedang transit antara host Amazon ECS dan server Amazon EFS. Jika otorisasi Amazon EFS IAM digunakan, enkripsi transit harus diaktifkan. Jika parameter ini diabaikan, nilai default DISABLED akan digunakan. Untuk informasi lebih lanjut, lihat Pengenkripsian Data Saat Transit di Panduan Pengguna Amazon Elastic File System.

transitEncryptionPort

Tipe: Integer

Wajib: Tidak

Port yang akan digunakan saat mengirim data terenkripsi antara host Amazon ECS dan server Amazon EFS. Jika Anda tidak menentukan port enkripsi transit, tugas akan menggunakan strategi pemilihan port yang digunakan pembantu pemasangan Amazon EFS. Untuk informasi lebih lanjut, lihat Pembantu Pemasangan EFS dalam Panduan Pengguna Amazon Elastic File System.

authorizationConfig

Jenis: Ob EFSAuthorizationConfig jek

Wajib: Tidak

Detail konfigurasi otorisasi untuk sistem file Amazon EFS.

accessPointId

Tipe: String

Wajib: Tidak

ID titik akses yang akan digunakan. Jika titik akses ditentukan, nilai direktori root di dalam efsVolumeConfiguration harus dihilangkan atau disetel ke/, yang akan menerapkan jalur yang ditetapkan pada titik akses EFS. Jika titik akses digunakan, enkripsi transit harus diaktifkan di EFSVolumeConfiguration. Untuk informasi lebih lanjut, lihat Bekerja dengan Titik Akses Amazon EFS dalam Panduan Pengguna Amazon Elastic File System.

iam

Tipe: String

Nilai yang valid: ENABLED | DISABLED

Wajib: Tidak

Menentukan apakah akan menggunakan peran IAM tugas Amazon ECS yang ditentukan dalam definisi tugas saat memasang sistem file Amazon EFS. Jika diaktifkan, enkripsi transit harus diaktifkan di EFSVolumeConfiguration. Jika Anda menghilangkan parameter ini, nilai default DISABLED akan digunakan. Untuk informasi selengkapnya, lihat IAM Role pada Tugas.

FSxWindowsFileServerVolumeConfiguration

Jenis: Ob FSxWindowsFileServerVolumeConfiguration jek

Wajib: Ya

Parameter ini ditentukan saat Anda menggunakan sistem file Amazon FSx untuk Windows File Server untuk penyimpanan tugas.

fileSystemId

Tipe: String

Diperlukan: Ya

ID sistem file FSx untuk Windows File Server untuk digunakan.

rootDirectory

Tipe: String

Diperlukan: Ya

Direktori dalam FSx untuk sistem file Server File Windows untuk dipasang sebagai direktori root di dalam host.

authorizationConfig
credentialsParameter

Tipe: String

Diperlukan: Ya

Opsi kredensi otorisasi.

pilihan:
domain

Tipe: String

Diperlukan: Ya

Nama domain yang memenuhi syarat yang dihosting oleh direktori AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD) atau Direktori Aktif EC2 yang di-host sendiri.

Tag

Ketika mendaftarkan ketentuan tugas, Anda secara opsional dapat menentukan tanda metadata yang diterapkan ke ketentuan tugas. Tanda membantu mengategorikan dan mengatur ketentuan tugas Anda. Setiap tanda terdiri dari kunci dan nilai opsional. Anda mendefinisikan keduanya. Untuk informasi selengkapnya, lihat Menandai sumber daya Amazon ECS.

penting

Jangan menambahkan informasi identitas pribadi atau informasi rahasia atau sensitif lainnya dalam tag. Tag dapat diakses oleh banyak AWS layanan, termasuk penagihan. Tag tidak dimaksudkan untuk digunakan untuk data pribadi atau sensitif.

Parameter berikut diperbolehkan dalam objek tanda.

key

Tipe: String

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

Wajib: Tidak

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

Parameter ketentuan tugas lainnya

Parameter definisi tugas berikut dapat digunakan saat mendaftarkan definisi tugas di konsol Amazon ECS dengan menggunakan opsi Konfigurasi melalui JSON. Untuk informasi selengkapnya, lihat Membuat definisi tugas Amazon ECS menggunakan konsol.

Mode IPC

ipcMode

Tipe: String

Wajib: Tidak

Namespace sumber daya IPC yang digunakan untuk kontainer dalam tugas. Nilai yang valid adalah host, task, atau none. Jika host ditentukan, maka semua wadah yang berada dalam tugas yang menentukan mode host IPC pada instans kontainer yang sama berbagi sumber daya IPC yang sama dengan instans Amazon EC2 host. Jika task ditentukan, semua wadah yang berada dalam tugas yang ditentukan berbagi sumber daya IPC yang sama. Jika none ditentukan, maka sumber daya IPC dalam kontainer tugas bersifat privat dan tidak dibagi dengan kontainer lain dalam tugas atau pada instans kontainer. Jika tidak ada nilai yang ditentukan, maka berbagi namespace sumber daya IPC tergantung pada pengaturan daemon Docker pada instans kontainer.

Jika mode host IPC digunakan, ada risiko tinggi paparan namespace IPC yang tidak diinginkan.

Jika Anda menyetel parameter kernel spasi nama yang digunakan systemControls untuk wadah dalam tugas, berikut ini berlaku untuk namespace sumber daya IPC Anda.

  • Untuk tugas yang menggunakan mode host IPC, namespace IPC yang terkait systemControls tidak didukung.

  • Untuk tugas yang menggunakan mode task IPC, systemControls yang berhubungan dengan namespace IPC berlaku untuk semua wadah dalam tugas.

Mode PID

pidMode

Tipe: String

Nilai Valid: host | task

Wajib: Tidak

Namspace proses yang akan digunakan untuk kontainer dalam tugas. Nilai yang valid adalah host atau task. Misalnya, pemantauan sidecar mungkin pidMode perlu mengakses informasi tentang wadah lain yang berjalan dalam tugas yang sama.

Jika host ditentukan, semua wadah dalam tugas yang menentukan mode host PID pada instance kontainer yang sama berbagi namespace proses yang sama dengan instans host Amazon EC2.

Jika task ditentukan, semua kontainer dalam tugas tertentu berbagi namespace proses yang sama.

Jika tidak ada nilai yang ditentukan, defaultnya adalah namespace pribadi untuk setiap wadah.

Jika mode host PID digunakan, ada risiko tinggi paparan namespace proses yang tidak diinginkan.

catatan

Parameter ini tidak didukung untuk kontainer Windows.

Injeksi kesalahan

enableFaultInjection

Jenis: Boolean

Nilai Valid: true | false

Wajib: Tidak

Jika parameter ini disetel ketrue, dalam payload tugas, Amazon ECS menerima permintaan injeksi kesalahan dari wadah tugas. Secara default, parameter ini diatur kefalse.