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 jenis EC2 peluncuran
Definisi tugas dibagi menjadi beberapa bagian terpisah: keluarga tugas, peran tugas AWS Identity and Access Management (IAM), mode jaringan, definisi wadah, volume, batasan penempatan tugas, dan jenis peluncuran. Definisi keluarga dan wadah diperlukan dalam definisi tugas. Sebaliknya, peran tugas, mode jaringan, volume, kendala penempatan tugas, dan jenis peluncuran bersifat opsional.
Anda dapat menggunakan parameter ini dalam file JSON untuk mengonfigurasi definisi tugas Anda.
Berikut ini adalah deskripsi yang lebih rinci untuk setiap parameter definisi tugas untuk jenis EC2 peluncuran.
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 diberikan revisi 1, dan definisi tugas apa pun yang terdaftar setelah itu diberi nomor revisi berurutan.
Jenis peluncuran
Saat mendaftarkan definisi tugas, Anda dapat menentukan jenis peluncuran yang harus divalidasi oleh Amazon ECS terhadap definisi tugas. Jika definisi tugas tidak memvalidasi terhadap kompatibilitas yang ditentukan, pengecualian klien dikembalikan. Untuk informasi selengkapnya, lihat Jenis peluncuran Amazon ECS.
Parameter berikut diperbolehkan dalam definisi tugas.
requiresCompatibilities-
Tipe: Array string
Wajib: Tidak
Nilai yang Valid:
EC2Tipe peluncuran untuk memvalidasi ketentuan tugas. Ini memulai pemeriksaan untuk memastikan bahwa semua parameter yang digunakan dalam definisi tugas memenuhi persyaratan jenis peluncuran.
Peran tugas
taskRoleArn-
Tipe: String
Wajib: Tidak
Saat mendaftarkan definisi tugas, Anda dapat memberikan peran tugas untuk peran IAM yang memungkinkan kontainer dalam izin tugas memanggil AWS APIs yang ditentukan dalam kebijakan terkait atas nama Anda. Untuk informasi selengkapnya, lihat Peran IAM tugas Amazon ECS.
Saat Anda meluncurkan AMI Windows Server Amazon ECS yang dioptimalkan, peran IAM untuk tugas di Windows mengharuskan
-EnableTaskIAMRoleopsi disetel. Container Anda juga harus menjalankan beberapa kode konfigurasi untuk menggunakan fitur tersebut. Untuk informasi selengkapnya, lihat Konfigurasi tambahan instans Amazon EC2 Windows.
Peran eksekusi tugas
executionRoleArn-
Tipe: String
Wajib: Bersyarat
Nama Sumber Daya Amazon (ARN) dari peran eksekusi tugas yang memberikan izin agen penampung 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 eksekusi tugas Amazon ECS.
Mode jaringan
networkMode-
Tipe: String
Wajib: Tidak
Mode jaringan Docker digunakan untuk kontainer dalam tugas. Untuk tugas Amazon ECS yang di-host di instans Amazon EC2 Linux, nilai yang valid adalah
none,,bridgeawsvpc, dan.hostJika 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.awsvpcJika tidak ada mode jaringan yang ditentukan, modedefaultjaringan digunakan.Jika mode jaringan disetel ke
none, kontainer tugas tidak memiliki konektivitas eksternal dan pemetaan port tidak dapat ditentukan dalam definisi kontainer.Jika mode jaringan
bridge, tugas menggunakan jaringan virtual bawaan Docker di Linux, yang berjalan di dalam setiap EC2 instans Amazon yang menghosting tugas. Jaringan virtual bawaan di Linux menggunakan driver jaringanbridgeDocker.Jika mode jaringan
host, tugas menggunakan jaringan host yang melewati jaringan virtual bawaan Docker dengan memetakan port kontainer langsung ke ENI EC2 instance Amazon yang menghosting tugas tersebut. Pemetaan port dinamis tidak dapat digunakan dalam mode jaringan ini. Wadah dalam definisi tugas yang menggunakan mode ini harus menentukanhostPortnomor tertentu. Nomor port pada host tidak dapat digunakan oleh banyak tugas. Akibatnya, Anda tidak dapat menjalankan beberapa tugas dengan definisi tugas yang sama pada satu EC2 instans Amazon.penting
Saat menjalankan tugas yang menggunakan mode
hostjaringan, jangan jalankan kontainer 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 menentukanNetworkConfigurationketika Anda membuat layanan atau menjalankan tugas dengan ketentuan tugas. Untuk informasi selengkapnya, lihat Opsi jaringan tugas Amazon ECS untuk jenis EC2 peluncuran.Jika mode jaringan
default, tugas menggunakan jaringan virtual bawaan Docker di Windows, yang berjalan di dalam setiap EC2 instans Amazon yang menghosting tugas. Jaringan virtual bawaan pada Windows menggunakan driver jaringannatDocker.Mode
hostdanawsvpcjaringan menawarkan kinerja jaringan tertinggi untuk kontainer karena mereka menggunakan tumpukan EC2 jaringan Amazon. Dengan modehostdanawsvpcjaringan, port kontainer yang terbuka dipetakan langsung ke port host yang sesuai (untuk modehostjaringan) atau port antarmuka elastis network yang terpasang (untuk modeawsvpcjaringan). Karena itu, Anda tidak dapat menggunakan pemetaan port host dinamis.Mode jaringan yang diijinkan tergantung pada sistem operasi EC2 instans yang mendasarinya. Jika Linux, mode jaringan apa pun bisa digunakan. Jika Windows, hanya dapat menggunakan mode jaringan
default, danawsvpc.
Platform runtime
operatingSystemFamily-
Tipe: String
Wajib: Bersyarat
Standar: LINUX
Saat Anda mendaftarkan definisi tugas, Anda menentukan keluarga sistem operasi.
Nilai yang valid adalah
LINUX,WINDOWS_SERVER_2025_FULL,WINDOWS_SERVER_2025_COREWINDOWS_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
platformFamilynilai layanan. cpuArchitecture-
Tipe: String
Wajib: Bersyarat
Standar: X86_64
Saat Anda mendaftarkan definisi tugas, Anda menentukan arsitektur CPU. Nilai yang valid adalah
X86_64danARM64.Semua definisi tugas yang digunakan dalam layanan harus memiliki nilai yang sama untuk parameter ini.
Ketika Anda memiliki tugas Linux, Anda dapat mengatur nilainya
ARM64. 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 di-host di EC2 instans Amazon, bidang ini bersifat opsional.
catatan
Tingkat tugas CPU dan memori parameter diabaikan untuk Windows kontainer. 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 virtual CPUs (vCPUs). Misalnya, Anda dapat menentukan nilai CPU baik seperti
1024dalam unit CPU atau1 vCPUdi vCPUs. Ketika definisi tugas terdaftar, nilai vCPU dikonversi ke bilangan bulat yang menunjukkan unit CPU.Bidang ini bersifat opsional. Jika klaster Anda tidak memiliki instance kontainer terdaftar dengan unit CPU yang diminta tersedia, tugas gagal. Nilai yang didukung adalah antara
0.125v CPUs dan192vCPUs.
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 gigabyte (GB). Misalnya, Anda dapat menentukan nilai memori baik seperti
3072di MiB atau3 GBGB. 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 klaster Anda tidak memiliki instance kontainer terdaftar dengan memori yang diminta tersedia, tugas gagal. Anda dapat memaksimalkan pemanfaatan sumber daya Anda dengan menyediakan tugas Anda sebanyak mungkin memori untuk jenis instans tertentu. Untuk informasi selengkapnya, lihat Memesan memori instans wadah Amazon ECS Linux.
Definisi kontainer
Saat Anda mendaftarkan definisi tugas, Anda harus menentukan daftar definisi kontainer yang diteruskan ke Docker daemon pada instance container. Parameter berikut diizinkan dalam ketentuan kontainer.
Topik
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 menautkan beberapa kontainer dalam definisi tugas,
namesatu kontainer dapat dimasukkan ke dalamlinkswadah 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 atau
.repository-url/image:tagMaksimal 255 huruf (huruf besar dan kecil), angka, tanda hubung, garis bawah, titik dua, titik, garis miring, dan tanda angka diizinkan. Parameter ini memetakan kerepository-url/image@digestImagedalam perintah docker create-container dan parameterIMAGEdari 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.
-
Ketika Anda tidak menentukan tag atau intisari di jalur gambar dalam definisi tugas, agen penampung Amazon ECS menarik versi terbaru dari gambar yang ditentukan.
-
Namun, pembaruan berikutnya ke gambar repositori tidak disebarkan ke tugas yang sudah berjalan.
-
Citra di registri privat didukung. Untuk informasi selengkapnya, lihat Menggunakan gambar AWS non-kontainer di Amazon ECS.
-
Gambar di repositori Amazon ECR dapat ditentukan dengan menggunakan konvensi lengkap
registry/repository:tagatauregistry/repository@digestpenamaan (misalnya,aws_account_id.dkr.ecr.region.amazonaws.com/atau).my-web-app:latestaws_account_id.dkr.ecr.region.amazonaws.com/my-web-app@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE -
Gambar di repositori resmi Docker Hub menggunakan satu nama (misalnya,
ubuntuataumongo). -
Gambar di repositori lain di Docker Hub memenuhi 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|disabledWajib: Tidak
Menentukan apakah Amazon ECS akan menyelesaikan tag image container yang disediakan dalam definisi container ke image digest. Secara default, perilaku ini adalah
enabled. Jika Anda menetapkan nilai untuk container sebagaidisabled, Amazon ECS tidak akan menyelesaikan tag image container ke intisari dan akan menggunakan URI gambar asli yang ditentukan dalam definisi container untuk penerapan. Untuk informasi selengkapnya tentang resolusi gambar kontainer, lihatResolusi gambar 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
memorytugas, jika ada yang ditentukan. Parameter ini memetakan keMemorydalam perintah docker create-container dan opsi--memoryuntuk docker run.Anda harus menentukan nilai memori tingkat tugas atau nilai memori tingkat kontainer. Jika Anda menentukan tingkat kontainer
memorydanmemoryReservationnilai, nilainya harus lebih besar darimemorynilainya.memoryReservationJika Anda menentukanmemoryReservation, maka nilai tersebut dikurangi dari sumber daya memori yang tersedia untuk instance wadah tempat penampung ditempatkan. Jika tidak, nilaimemorydigunakan.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 Anda dengan menyediakan memori sebanyak mungkin untuk jenis instans tertentu, lihatMemesan memori instans wadah Amazon ECS Linux.
memoryReservation-
Tipe: Integer
Wajib: Tidak
Batas lunak (di MiB) memori untuk menyimpan kontainer. Ketika memori sistem sedang diperdebatkan, Docker upaya untuk menjaga memori kontainer ke batas lunak ini. Namun, wadah Anda dapat menggunakan lebih banyak memori saat dibutuhkan. Wadah dapat menggunakan hingga batas keras yang ditentukan dengan
memoryparameter (jika ada) atau semua memori yang tersedia pada instance kontainer, mana yang lebih dulu. Parameter ini memetakan keMemoryReservationdalam perintah docker create-container dan opsi--memory-reservationuntuk docker run.Jika nilai memori tingkat tugas tidak ditentukan, Anda harus menentukan bilangan bulat bukan nol untuk salah satu atau keduanya
memoryataumemoryReservationdalam definisi wadah. Jika Anda menentukan keduanya,memoryharus lebih besar darimemoryReservation. Jika Anda menentukanmemoryReservation, maka nilai tersebut dikurangi dari sumber daya memori yang tersedia untuk instance wadah tempat penampung ditempatkan. Jika tidak, nilaimemorydigunakan.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
memorykeras 300 MiB.memoryReservationKonfigurasi ini memungkinkan penampung untuk hanya menyimpan 128 MiB memori dari sumber daya yang tersisa pada instance container. Pada saat yang sama, konfigurasi ini juga memungkinkan wadah untuk menggunakan lebih banyak sumber daya memori bila diperlukan.catatan
Parameter ini tidak didukung untuk kontainer 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 Anda dengan menyediakan memori sebanyak mungkin untuk jenis instans tertentu, lihatMemesan memori instans wadah Amazon ECS Linux.
Pemetaan pelabuhan
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
awsvpcjaringan, hanya tentukancontainerPort.hostPortItu selalu diabaikan, dan port kontainer secara otomatis dipetakan ke port acak bernomor tinggi pada host.Pemetaan port pada Windows menggunakan alamat gateway
NetNATdaripadalocalhost. Tidak ada loopback untuk pemetaan port di Windows, jadi Anda tidak dapat mengakses port yang dipetakan kontainer dari host itu sendiri.Sebagian besar bidang parameter ini (termasuk
containerPort,hostPort,protocol) dipetakan kePortBindingsdalam perintah create-container docker dan opsi--publishuntuk docker run. 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
networkBindingsdari 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. Kami menyarankan Anda mengatur parameter ini agar konsisten dengan protokol yang digunakan aplikasi Anda. Jika Anda menyetel parameter ini, Amazon ECS akan menambahkan penanganan koneksi khusus protokol ke proxy service connect. 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 Gunakan Service Connect untuk menghubungkan layanan Amazon ECS dengan nama pendek.
Nilai protokol yang valid:
"http" | "http2" | "grpc" containerPort-
Jenis: Integer
Diperlukan: Ya, kapan
portMappingsdigunakanNomor port pada kontainer yang terikat ke port host yang ditentukan pengguna atau secara otomatis ditetapkan.
Untuk tugas yang menggunakan mode
awsvpcjaringan, Anda gunakancontainerPortuntuk menentukan port yang terbuka.Misalkan Anda menggunakan kontainer dalam tugas dengan tipe EC2 peluncuran dan Anda menentukan port kontainer dan bukan port host. Kemudian, kontainer Anda secara otomatis menerima port host dalam rentang port sementara. Untuk informasi selengkapnya, lihat
hostPort. Pemetaan port yang secara otomatis ditetapkan dengan cara ini tidak dihitung terhadap kuota 100 port cadangan dari instance kontainer. containerPortRange-
Tipe: String
Wajib: Tidak
Rentang nomor port pada kontainer yang terikat pada rentang port host yang dipetakan secara dinamis.
Anda hanya dapat mengatur parameter ini dengan menggunakan
register-task-definitionAPI. Opsi ini tersedia dalamportMappingsparameter. Untuk informasi selengkapnya, lihat register-task-definition dalam Referensi AWS Command Line Interface .Aturan berikut berlaku saat Anda menentukan
containerPortRange:-
Anda harus menggunakan mode
bridgejaringan atau modeawsvpcjaringan. -
Parameter ini tersedia untuk sistem operasi Linux dan Windows.
-
Instance container 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
hostPortRange. NilaihostPortRangeditetapkan sebagai berikut:-
Untuk kontainer dalam tugas dengan mode
awsvpcjaringan,hostPortdiatur ke nilai yang sama dengancontainerPort. Ini adalah strategi pemetaan statis. -
Untuk kontainer dalam tugas dengan mode
bridgejaringan, agen Amazon ECS menemukan port host terbuka dari rentang singkat default dan meneruskannya ke docker untuk mengikatnya ke port kontainer.
-
-
Nilai yang
containerPortRangevalid 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 docker-proxy di file konfigurasi Docker daemon ketika Anda memiliki banyak port.
Untuk informasi selengkapnya, lihat Masalah #11185
di GitHub.
Anda dapat menelepon DescribeTasksuntuk melihat
hostPortRange, yang merupakan port host yang terikat ke port kontainer.Rentang port tidak disertakan dalam peristiwa tugas Amazon ECS, yang dikirim ke EventBridge. Untuk informasi selengkapnya, lihat Otomatiskan tanggapan 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 dikirim oleh agen Amazon ECS.
hostPort-
Tipe: Integer
Wajib: Tidak
Nomor port pada instans kontainer untuk menyimpan kontainer Anda.
Anda dapat menentukan port host yang tidak dicadangkan untuk pemetaan port kontainer Anda. Ini disebut sebagai pemetaan port host statis. Atau, Anda dapat menghilangkan
hostPort(atau mengaturnya ke0) sambil menentukan a.containerPortContainer Anda secara otomatis menerima port dalam rentang port sementara untuk sistem operasi dan Docker versi instans kontainer Anda. Ini disebut sebagai pemetaan port host dinamis.Rentang port fana default Docker versi 1.6.0 dan yang lebih baru tercantum pada instance di bawah.
/proc/sys/net/ipv4/ip_local_port_rangeJika parameter kernel ini tidak tersedia, port sementara default berkisar sejak49153–65535digunakan. Jangan mencoba menentukan port host dalam rentang port sementara. Ini karena ini dicadangkan untuk penugasan otomatis. Secara umum, port di bawah32768berada di luar jangkauan port fana.Port cadangan default adalah
22untuk SSH, Docker port2375dan2376, dan port agen kontainer Amazon ECS.51678-51680Port host apa pun 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 ditampilkanremainingResourcesdi describe-container-instances output. Instance kontainer mungkin memiliki hingga 100 port cadangan sekaligus, termasuk port cadangan default. Port yang ditetapkan secara otomatis tidak dihitung terhadap kuota 100 port cadangan. name-
Tipe: String
Wajib: Tidak, diperlukan agar Service Connect dan VPC Lattice dikonfigurasi dalam suatu 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 suatu layanan.
Untuk informasi selengkapnya, lihat Gunakan 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
tcpdanudp. Default adalahtcp.penting
Hanya
tcpdidukung untuk Service Connect. Ingat itutcptersirat jika bidang ini tidak disetel.penting
Dukungan UDP hanya tersedia pada instance kontainer yang diluncurkan dengan agen kontainer Amazon ECS versi 1.2.0 (seperti
amzn-ami-2015.03.c-amazon-ecs-optimizedAMI) 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 menginginkan port host yang ditetapkan secara otomatis, gunakan sintaks berikut.
"portMappings": [ { "containerPort": integer } ... ] -
Kredensyal Repositori Pribadi
repositoryCredentials-
Tipe: Objek RepositoryCredentials
Wajib: Tidak
Kredensyal repositori untuk otentikasi registri pribadi.
Untuk informasi selengkapnya, lihat Menggunakan gambar AWS non-kontainer di Amazon ECS.
-
credentialsParameter -
Tipe: String
Diperlukan: Ya, kapan
repositoryCredentialsdigunakanAmazon Resource Name (ARN) dari rahasia yang berisi kredensial repositori privat.
Untuk informasi selengkapnya, lihat Menggunakan gambar AWS non-kontainer di Amazon ECS.
catatan
Saat Anda menggunakan Amazon ECS API, AWS CLI, atau AWS SDKs, jika rahasia ada di Wilayah yang sama dengan tugas yang Anda luncurkan, maka Anda dapat menggunakan ARN lengkap atau nama rahasianya. Bila Anda menggunakan AWS Management Console, 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 kontainer tingkat lanjut
Parameter definisi kontainer lanjutan berikut memberikan kemampuan yang diperluas ke perintah docker run yang digunakan untuk meluncurkan kontainer di instans penampung Amazon ECS Anda.
Topik
Mulai ulang kebijakan
restartPolicy-
Kebijakan restart kontainer dan parameter konfigurasi terkait. Saat Anda menyiapkan kebijakan restart untuk penampung, Amazon ECS dapat memulai ulang penampung tanpa perlu mengganti tugas. Untuk informasi selengkapnya, lihat Mulai ulang kontainer individual 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
Periode waktu (dalam detik) wadah harus dijalankan sebelum restart dapat dicoba. Sebuah wadah dapat dimulai ulang hanya sekali setiap
restartAttemptPerioddetik. Jika kontainer tidak dapat berjalan untuk periode waktu ini dan keluar lebih awal, itu tidak akan dimulai ulang. Anda dapat mengatur minimalrestartAttemptPeriod60 detik dan maksimumrestartAttemptPeriod1800 detik. Secara default, kontainer 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 Tentukan kesehatan tugas Amazon ECS menggunakan pemeriksaan kesehatan kontainer.
command-
Array string yang mewakili perintah yang dijalankan kontainer untuk menentukan apakah itu sehat. Array string dapat dimulai dengan
CMDuntuk menjalankan argumen perintah secara langsung, atauCMD-SHELLuntuk menjalankan perintah dengan shell default container. Jika tidak ada yangCMDditentukan, digunakan.Saat mendaftarkan definisi tugas di AWS Management Console, 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 1Saat mendaftarkan definisi tugas menggunakan panel AWS Management Console JSON,, atau AWS CLI APIs, 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
stderroutput, 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 defaultnya adalah 30 detik.
timeout-
Periode waktu (dalam hitungan 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 menyediakan waktu kontainer untuk bootstrap sebelum pemeriksaan kesehatan yang gagal dihitung terhadap jumlah maksimum percobaan ulang. Anda dapat menentukan antara 0 dan 300 detik. Secara default,
startPerioddinonaktifkan.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
cpuunit cadangan agen kontainer Amazon ECS untuk kontainer. Di Linux, parameter ini dipetakanCpuSharesdi bagian Create a container. catatan
Anda dapat menentukan jumlah unit CPU yang tersedia untuk setiap jenis EC2 instans Amazon. Untuk melakukan ini, kalikan jumlah v yang CPUs terdaftar untuk jenis instance tersebut di halaman detail EC2Instans Amazon
dengan 1.024. Linuxkontainer berbagi unit CPU yang tidak terisi dengan kontainer lain pada instance kontainer dengan rasio yang sama dengan jumlah yang dialokasikan. Misalnya, asumsikan bahwa Anda menjalankan tugas kontainer tunggal pada tipe instans inti tunggal dengan 512 unit CPU yang ditentukan untuk kontainer tersebut. Selain itu, tugas itu adalah satu-satunya tugas yang berjalan pada instance container. Dalam contoh ini, wadah dapat menggunakan 1.024 pangsa unit 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 kontainer dapat mengambang ke penggunaan CPU yang lebih tinggi. Namun, jika kedua tugas tersebut 100% aktif sepanjang waktu, mereka terbatas pada 512 unit CPU.
Pada instance Linux container, Docker daemon pada instance container menggunakan nilai CPU untuk menghitung rasio pangsa CPU relatif untuk menjalankan container. Nilai pangsa CPU minimum yang valid yang diizinkan oleh kernel Linux adalah 2, dan nilai pangsa 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 container Anda. Untuk nilai CPU di bawah dua (termasuk null) dan di atas 262144, perilaku bervariasi berdasarkan versi agen penampung Amazon ECS Anda:
-
Versi agen <= 1.1.0: Nilai CPU nol dan nol diteruskan ke Docker 0. Dockerkemudian mengubah nilai ini menjadi 1.024 saham CPU. Nilai CPU dari satu diteruskan ke Docker sebagai satu, yang Linux kernel mengkonversi menjadi dua saham CPU.
-
Versi agen >= 1.2.0: Nilai nol, nol, dan CPU dari satu diteruskan Docker sebagai dua pembagian CPU.
-
Versi agen >= 1.84.0: Nilai CPU yang lebih besar dari 256 vCPU diteruskan ke Docker 256, yang setara dengan 262144 pangsa CPU.
Pada instance Windows kontainer, kuota CPU diberlakukan sebagai kuota absolut. Windowscontainer hanya memiliki akses ke jumlah CPU yang ditentukan yang ditentukan dalam definisi tugas. Nilai CPU nol atau nol diteruskan ke Docker as
0. Windowskemudian menafsirkan nilai ini sebagai 1% dari satu CPU.Untuk contoh selengkapnya, lihat Cara Amazon ECS mengelola sumber daya CPU dan memori
. -
gpu-
Tipe: Objek ResourceRequirement
Wajib: Tidak
Jumlah fisik
GPUsyang dicadangkan agen kontainer Amazon ECS untuk kontainer. Jumlah GPUs cadangan untuk semua kontainer dalam tugas tidak boleh melebihi jumlah yang tersedia GPUs 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
InferenceAcceleratorjenisnya,valuecocok dengan yangdeviceNameInferenceAcceleratorditentukan dalam definisi tugas. Untuk informasi selengkapnya, lihat Nama akselerator Elastic Inference.catatan
Parameter ini tidak didukung untuk Windows kontainer.
essential-
Tipe: Boolean
Wajib: Tidak
Misalkan
essentialparameter wadah ditandai sebagaitrue, dan wadah itu gagal atau berhenti karena alasan apa pun. Kemudian, semua wadah lain yang merupakan bagian dari tugas dihentikan. Jikaessentialparameter wadah ditandai sebagaifalse, maka kegagalannya tidak mempengaruhi sisa kontainer dalam suatu 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 kontainer. Kemudian, kelompokkan wadah yang digunakan untuk tujuan bersama menjadi komponen, dan pisahkan komponen yang berbeda menjadi beberapa definisi tugas. Untuk informasi selengkapnya, lihat Arsitek aplikasi Anda untuk Amazon ECS.
"essential": true|false entryPoint-
penting
Versi awal agen penampung Amazon ECS tidak menangani
entryPointparameter dengan benar. Jika Anda memiliki masalah menggunakanentryPoint, perbarui agen kontainer Anda atau masukkan perintah dan argumen Anda sebagai item arraycommandsebagai 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 memetakan ke
Cmddalam perintah create-container dan parameterCOMMANDke 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 di. Parameter ini sesuai dengan
WorkingDirdi bagian Buat kontainerdi Docker Remote API dan opsi --workdiruntuk 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-fileopsi ke perintah docker run.Saat FIPS diaktifkan, nama bucket yang memiliki periode (.) (misalnya, amzn-s3-demo-bucket1.name.example) tidak didukung. Memiliki period (.) 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 dalamVARIABLE=VALUEformat. 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 individual 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 memetakan ke
Envdalam perintah docker create-container dan opsi--envke perintah docker run.penting
Kami tidak menyarankan menggunakan variabel lingkungan teks biasa untuk informasi sensitif, seperti data kredensial.
name-
Tipe: String
Diperlukan: Ya, saat
environmentdigunakanNama variabel lingkungan.
value-
Tipe: String
Diperlukan: Ya, saat
environmentdigunakanNilai dari variabel lingkungan.
"environment" : [ { "name" : "string", "value" : "string" }, { "name" : "string", "value" : "string" } ] secrets-
Tipe: Object array
Wajib: Tidak
Objek yang mewakili rahasia untuk mengekspos 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 parameter di Parameter Store. AWS Systems Manager
catatan
Jika parameter Systems Manager Parameter Store atau parameter Secrets Manager 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 kontainer atau tugas yang menggunakan mode
awsvpcjaringan.Nilai default-nya
false."disableNetworking": true|false links-
Tipe: Array string
Wajib: Tidak
Parameter
linkmengizinkan kontainer untuk berkomunikasi satu sama lain tanpa perlu port pemetaan. Parameter ini hanya didukung jika mode jaringan dari definisi tugas diatur kebridge.name:internalNameKonstruk ini analog dengan dalam tautan.name:aliasDocker Hingga 255 huruf (huruf besar dan kecil), angka, tanda hubung, dan garis bawah diperbolehkan..catatan
Parameter ini tidak didukung untuk Windows kontainer atau tugas yang menggunakan mode
awsvpcjaringan.penting
Kontainer yang ditempatkan 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 memetakan ke
Hostnamedalam docker create-container dan opsi--hostnameuntuk docker run.catatan
Jika Anda menggunakan mode
awsvpcjaringan,hostnameparameter tidak didukung."hostname": "string" dnsServers-
Tipe: Array string
Wajib: Tidak
Daftar server DNS yang disajikan untuk kontainer.
catatan
Parameter ini tidak didukung untuk Windows kontainer atau tugas yang menggunakan mode
awsvpcjaringan."dnsServers": ["string", ...] dnsSearchDomains-
Tipe: Array string
Wajib: Tidak
Pola: ^[a-zA-Z0-9-.]{0,253}[a-zA-Z0-9]$
Daftar domain pencarian DNS yang disajikan untuk kontainer. Parameter ini memetakan ke
DnsSearchdalam perintah docker create-container opsi--dns-searchuntuk docker run.catatan
Parameter ini tidak didukung untuk wadah Windows atau tugas yang menggunakan mode
awsvpcjaringan."dnsSearchDomains": ["string", ...] extraHosts-
Tipe: Array objek
Wajib: Tidak
Daftar nama host dan pemetaan alamat IP untuk ditambahkan ke file
/etc/hostsdi kontainer.Parameter ini memetakan ke
ExtraHostsdalam perintah docker create-container dan opsi--add-hostuntuk docker run.catatan
Parameter ini tidak didukung untuk wadah Windows atau tugas yang menggunakan mode
awsvpcjaringan."extraHosts": [ { "hostname": "string", "ipAddress": "string" } ... ]hostname-
Tipe: String
Diperlukan: Ya, kapan
extraHostsdigunakanNama host yang akan digunakan dalam entri
/etc/hosts. ipAddress-
Tipe: String
Diperlukan: Ya, kapan
extraHostsdigunakanAlamat IP yang akan digunakan dalam
/etc/hostsentri.
Penyimpanan dan pencatatan
readonlyRootFilesystem-
Tipe: Boolean
Wajib: Tidak
Jika parameter ini betul, kontainer diberikan akses hanya-baca ke sistem file asalnya. Parameter ini memetakan ke
ReadonlyRootfsdalam perintah docker create-container opsi--read-onlyuntuk docker run.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 penampung Anda. Parameter ini memetakan ke
Volumesdalam create-container Docker API dan opsi--volumeuntuk docker run.Kontainer Windows dapat memasang seluruh direktori pada drive yang sama dengan
$env:ProgramData. Kontainer 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, kapan
mountPointsdigunakanNama volume yang akan dipasang.
containerPath-
Tipe: String
Diperlukan: Ya, kapan
mountPointsdigunakanJalur dalam 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 adalahfalse, maka kontainer dapat menulis ke volume. Nilai default-nya adalahfalse.Untuk tugas yang menjalankan sistem operasi Windows, biarkan nilai sebagai default
false.
volumesFrom-
Tipe: Array objek
Wajib: Tidak
Volume data untuk memasang dari kontainer lain. Parameter ini memetakan ke
VolumesFromdalam perintah docker create-container dan opsi--volumes-fromuntuk docker run.sourceContainer-
Tipe: String
Diperlukan: Ya, saat
volumesFromdigunakanNama kontainer untuk memasang volume.
readOnly-
Tipe: Boolean
Wajib: Tidak
Jika nilai ini adalah
true, kontainer memiliki akses hanya-baca ke volume. Jika nilai ini adalahfalse, maka kontainer dapat menulis ke volume. Nilai default-nya adalahfalse.
"volumesFrom": [ { "sourceContainer": "string", "readOnly": true|false } ] logConfiguration-
Jenis: LogConfigurationObjek
Wajib: Tidak
Spesifikasi konfigurasi log untuk kontainer.
Misalnya definisi tugas yang menggunakan konfigurasi log, lihatContoh definisi tugas Amazon ECS.
Parameter ini memetakan ke
LogConfigdalam perintah docker create-container dan opsi--log-driveruntuk docker run. Secara default, kontainer menggunakan driver logging yang sama dengan yang digunakan Docker daemon. Namun, penampung 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 Driver log tambahan mungkin tersedia di rilis mendatang agen kontainer Amazon ECS.
-
Parameter ini memerlukan Docker Remote API versi 1.18 atau yang lebih baru pada instance container Anda.
-
Agen penampung Amazon ECS yang berjalan pada instance container harus mendaftarkan driver logging yang tersedia pada instance tersebut dengan variabel
ECS_AVAILABLE_LOGGING_DRIVERSlingkungan sebelum container yang ditempatkan pada instance 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
logConfigurationdigunakanDriver log yang digunakan untuk kontainer. Secara default, nilai valid yang tercantum sebelumnya adalah driver log yang dapat berkomunikasi dengan agen penampung Amazon ECS.
Driver log yang didukung adalah
awslogs,fluentd,gelf,json-file,journald,syslog,splunk, danawsfirelens.Untuk informasi selengkapnya tentang cara menggunakan driver
awslogslog 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 penampung Amazon ECS yang tersedia GitHub
dan menyesuaikannya agar berfungsi dengan driver itu. 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
key/value Peta opsi konfigurasi untuk dikirim ke driver log.
Opsi yang dapat Anda tentukan tergantung pada driver log. Beberapa opsi yang dapat Anda tentukan saat Anda menggunakan
awslogsrouter untuk merutekan log ke Amazon CloudWatch meliputi 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:CreateLogGroupizin sebelum Anda mencoba menggunakannyaawslogs-create-group. awslogs-region-
Wajib: Ya
Tentukan Wilayah AWS driver
awslogslog untuk mengirim log Docker Anda. Anda dapat memilih untuk mengirim semua log Anda dari kluster 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
awslogslog mengirimkan aliran lognya. awslogs-stream-prefix-
Diperlukan: Opsional
Gunakan
awslogs-stream-prefixopsi untuk mengaitkan aliran log dengan awalan yang ditentukan, nama penampung, dan ID tugas Amazon ECS tempat penampung tersebut berada. Jika Anda menentukan awalan dengan opsi ini, maka aliran log mengambil format berikut.prefix-name/container-name/ecs-task-idJika Anda tidak menentukan awalan dengan opsi ini, maka aliran log dinamai sesuai dengan ID penampung yang ditetapkan oleh daemon Docker pada instance container. Karena sulit untuk melacak log kembali ke wadah yang mengirimnya hanya dengan ID wadah Docker (yang hanya tersedia pada instance penampung), kami sarankan Anda menentukan awalan dengan opsi ini.
Untuk layanan Amazon ECS, Anda dapat menggunakan nama layanan sebagai awalan. Dengan melakukannya, Anda dapat melacak aliran log ke layanan tempat penampung milik, nama penampung yang mengirimnya, dan ID tugas yang menjadi milik penampung tersebut.
Anda harus menentukan awalan aliran 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 selengkapnya, lihat awslogs-datetime-format
. Anda tidak dapat mengonfigurasi opsi
awslogs-datetime-formatdanawslogs-multiline-patternopsi.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 mulai 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-pattern
. Opsi ini diabaikan jika
awslogs-datetime-formatjuga dikonfigurasi.Anda tidak dapat mengonfigurasi opsi
awslogs-datetime-formatdanawslogs-multiline-patternopsi.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|blockingOpsi ini mendefinisikan mode pengiriman pesan log dari wadah ke driver log yang ditentukan menggunakan
logDriver. Mode pengiriman yang Anda pilih memengaruhi ketersediaan aplikasi saat aliran log dari kontainer terganggu.Jika Anda menggunakan
blockingmode dan aliran log terputus, panggilan dari kode kontainer untuk menulis kestdoutdanstderraliran akan diblokir. Thread logging aplikasi akan diblokir sebagai hasilnya. Hal ini dapat menyebabkan aplikasi menjadi tidak responsif dan menyebabkan kegagalan pemeriksaan kesehatan kontainer.Jika Anda menggunakan
non-blockingmode, log kontainer malah disimpan dalam buffer perantara dalam memori yang dikonfigurasi dengan opsi.max-buffer-sizeIni mencegah aplikasi menjadi tidak responsif ketika log tidak dapat dikirim. Kami merekomendasikan menggunakan mode ini jika Anda ingin memastikan ketersediaan layanan dan baik-baik saja dengan beberapa kehilangan log. Untuk informasi selengkapnya, lihat Mencegah kehilangan log dengan mode non-pemblokiran di driver logawslogskontainer. Anda dapat mengatur default
modeuntuk semua kontainer tertentu Wilayah AWS dengan menggunakan setelandefaultLogDriverModeakun. Jika Anda tidak menentukanmodeopsi dilogConfigurationatau mengonfigurasi pengaturan akun, Amazon ECS akan default kenon-blockingmode. Untuk informasi selengkapnya tentang pengaturan akun, lihatMode driver log default.Saat
non-blockingmode digunakan, opsimax-buffer-sizelog 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 menjadi
blockingnon-blockingmemprioritaskan ketersediaan tugas daripada logging. Untuk terus menggunakanblockingmode setelah perubahan ini, lakukan salah satu hal berikut:Tetapkan
modeopsi dalam definisi container AndalogConfigurationsebagaiblocking.Atur pengaturan
defaultLogDriverModeakun keblocking.
max-buffer-size-
Wajib: Tidak
Nilai default:
10 mSaat
non-blockingmode digunakan, opsimax-buffer-sizelog 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
splunklog menggunakan router log, Anda perlu menentukan asplunk-tokendan asplunk-url.Saat Anda menggunakan router
awsfirelenslog untuk merutekan log ke AWS Partner Network tujuan Layanan AWS atau penyimpanan log dan analitik, Anda dapat mengaturlog-driver-buffer-limitopsi untuk membatasi jumlah peristiwa yang di-buffer dalam memori, sebelum dikirim ke wadah router log. Ini dapat membantu menyelesaikan potensi masalah kehilangan log karena throughput yang tinggi dapat mengakibatkan memori habis untuk buffer di dalamnya. Docker Untuk informasi selengkapnya, lihat Mengkonfigurasi log Amazon ECS untuk throughput tinggi.Opsi lain yang dapat Anda tentukan saat menggunakan
awsfirelensuntuk merutekan log tergantung pada tujuan. Saat Anda mengekspor log ke Amazon Data Firehose, Anda dapat menentukan Wilayah AWS denganregiondan nama untuk aliran log.delivery_streamSaat Anda mengekspor log ke Amazon Kinesis Data Streams, Anda dapat Wilayah AWS menentukan dengan dan
regionnama aliran data dengan.streamSaat mengekspor log ke Amazon OpenSearch Service, Anda dapat menentukan opsi seperti
Name,Host(Titik akhir OpenSearch layanan tanpa protokol),,,Port,Index,Type,Aws_auth,Aws_regionSuppress_Type_Name, dantls.Saat mengekspor log ke Amazon S3, Anda dapat menentukan bucket menggunakan opsi.
bucketAnda juga dapat menentukanregion,total_file_size,upload_timeout, danuse_put_objectsebagai 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: FirelensConfigurationObjek
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
key/value Peta 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:::. Untuk informasi selengkapnya, lihat Contoh definisi tugas Amazon ECS: Rute log ke FireLens.amzn-s3-demo-bucket/fluent.conf|filepath"} type-
Tipe: String
Wajib: Ya
Router log yang akan digunakan. Nilai yang valid adalah
fluentdataufluentbit.
Keamanan
Untuk informasi selengkapnya tentang keamanan kontainer, lihat praktik terbaik tugas Amazon ECS dan keamanan kontainer.
credentialSpecs-
Tipe: Array string
Wajib: Tidak
Daftar ARNs di SSM atau Amazon S3 ke file credential spec
CredSpec() yang mengonfigurasi wadah untuk otentikasi Active Directory. Kami menyarankan Anda menggunakan parameter ini alih-alihdockerSecurityOptions. Jumlah maksimum ARNs adalah 1.Ada dua format untuk setiap ARN.
- CredentialSpecDomainless:mYarn
-
Anda gunakan
credentialspecdomainless:MyARNuntukCredSpecmenyediakan bagian tambahan untuk rahasia di Secrets Manager. Anda memberikan kredensyal login ke domain secara rahasia.Setiap tugas yang berjalan pada instance kontainer apa pun dapat bergabung dengan domain yang berbeda.
Anda dapat menggunakan format ini tanpa menggabungkan instance container ke domain.
- Spesifikasi kredensial:mYarn
-
Anda gunakan
credentialspec:MyARNuntuk menyediakanCredSpecuntuk satu domain.Anda harus menggabungkan instance penampung ke domain sebelum memulai tugas apa pun yang menggunakan definisi tugas ini.
Dalam kedua format, ganti
MyARNdengan ARN di SSM atau Amazon S3.credspecHarus menyediakan 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 kredensyal tanpa domain. Anda dapat menggunakan parameter ini untuk menjalankan tugas pada instance yang sama, bahkan tugas harus bergabung dengan domain yang berbeda. Untuk informasi selengkapnya, lihat Menggunakan g MSAs untuk Kontainer Windows dan Menggunakan g MSAs 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 agar tidak menjalankan kontainer denganprivileged. Dalam kebanyakan kasus, Anda dapat menentukan hak istimewa yang tepat yang Anda butuhkan dengan menggunakan parameter tertentu alih-alih menggunakanprivileged.Parameter ini memetakan ke
Privilegeddalam perintah docker create-container dan opsi--privilegeduntuk docker run.catatan
Parameter ini tidak didukung untuk wadah atau tugas Windows menggunakan tipe peluncuran Fargate.
Default-nya adalah
false."privileged": true|false user-
Tipe: String
Wajib: Tidak
Pengguna yang akan digunakan di dalam kontainer. Parameter ini memetakan ke
Userdalam perintah docker create-container dan opsi--useruntuk docker run.penting
Saat menjalankan tugas yang menggunakan mode
hostjaringan, jangan jalankan kontainer menggunakan pengguna root (UID 0). Sebagai praktik terbaik keamanan, selalu gunakan pengguna non-root.Anda dapat menentukan
userdengan 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 valid: "no-new-privileges" | “apparmor:profile” | “label:
value" | “credentialspec:”CredentialSpecFilePathWajib: 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 kredensyal yang mengonfigurasi wadah untuk otentikasi Active Directory. Untuk informasi selengkapnya, lihat Pelajari cara menggunakan g MSAs untuk wadah EC2 Windows untuk Amazon ECS dan Menggunakan gMSA untuk EC2 Linux wadah di Amazon ECS.
Parameter ini memetakan ke
SecurityOptdalam perintah docker create-container dan opsi--security-optuntuk docker run."dockerSecurityOptions": ["string", ...]catatan
Agen penampung Amazon ECS yang berjalan pada instance container harus mendaftar dengan variabel
ECS_APPARMOR_CAPABLE=truelingkunganECS_SELINUX_CAPABLE=trueatau sebelum container yang ditempatkan pada instance 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
ulimityang harus ditentukan untuk kontainer. Nilai ini menimpa pengaturan kuota sumber daya default untuk sistem operasi. Parameter ini memetakan keUlimitsdalam perintah docker create-container dan opsi--ulimituntuk docker run.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, kapan
ulimitsdigunakantypedariulimit. hardLimit-
Jenis: Integer
Diperlukan: Ya, kapan
ulimitsdigunakanBatas keras untuk tipe
ulimit. Nilai dapat ditentukan dalam byte, detik, atau sebagai hitungan, tergantungtypepadaulimit. softLimit-
Jenis: Integer
Diperlukan: Ya, kapan
ulimitsdigunakanBatas lunak untuk tipe
ulimit. Nilai dapat ditentukan dalam byte, detik, atau sebagai hitungan, tergantungtypepadaulimit.
Label docker
dockerLabels-
Tipe: Peta antar string
Wajib: Tidak
key/value Peta label untuk ditambahkan ke wadah. Parameter ini memetakan ke
Labelsdalam perintah docker create-container dan opsi--labeluntuk docker run.Parameter ini memerlukan Docker Remote API versi 1.18 atau lebih besar pada instans kontainer Anda.
"dockerLabels": {"string": "string" ...}
Parameter definisi kontainer lainnya
Parameter definisi kontainer berikut dapat digunakan saat mendaftarkan definisi tugas di konsol Amazon ECS dengan menggunakan opsi Configure via 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
LinuxKemampuan untuk wadah yang ditambahkan ke atau dijatuhkan dari konfigurasi default yang disediakan olehDocker. Untuk informasi lebih lanjut tentang Linux kemampuan ini, lihat halaman manual kemampuan (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
LinuxKemampuan wadah untuk ditambahkan ke konfigurasi default yang disediakan olehDocker. Parameter ini memetakan ke
CapAdddalam perintah docker create-container dan opsi--cap-adduntuk docker run. add-
Tipe: Array string
Nilai yang valid:
"SYS_PTRACE"Wajib: Tidak
LinuxKemampuan kontainer untuk ditambahkan ke konfigurasi default yang disediakan olehDocker. Parameter ini memetakan ke
CapAdddalam perintah docker create-container dan opsi--cap-adduntuk docker run. 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
LinuxKemampuan untuk wadah untuk menghapus dari konfigurasi default yang disediakan olehDocker. Parameter ini memetakan ke
CapDropdalam perintah docker create-container dan opsi--cap-dropuntuk docker run.
devices-
Perangkat host apa pun yang akan diekspos ke kontainer. Parameter ini memetakan ke
Devicesdalam perintah docker create-container dan opsi--deviceuntuk docker run.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 untuk
read,write, danmknodpada perangkat.Tipe: Array string
Nilai yang Valid:
read|write|mknod
initProcessEnabled-
Jalankan proses
initdi dalam kontainer yang meneruskan sinyal dan melakukan proses kembali. Parameter ini memetakan ke--initopsi 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-swapopsi untuk docker run di mana nilainya adalah jumlah memori kontainer ditambah nilainya.maxSwapJika nilai
maxSwapsebesar0ditentukan, kontainer tidak menggunakan swap. Nilai yang diterima adalah0atau bilangan bulat positif. JikamaxSwapparameter diabaikan, kontainer menggunakan konfigurasi swap untuk instans kontainer tempatnya berjalan. NilaimaxSwapharus ditetapkan untuk parameterswappinessyang akan digunakan. sharedMemorySize-
Nilai untuk ukuran (dalam MiB) volume
/dev/shm. Parameter ini memetakan ke--shm-sizeopsi untuk docker run.Jenis: Integer
swappiness-
Anda dapat menggunakan parameter ini untuk menyetel perilaku pertukaran memori kontainer.
swappinessNilai0mencegah pertukaran terjadi kecuali diperlukan.swappinessNilai100penyebab halaman sering ditukar. Nilai yang diterima adalah bilangan bulat antara0dan100. Jika Anda tidak menentukan nilai, nilai default60digunakan. Selain itu, jika Anda tidak menentukan nilai untukmaxSwap, maka parameter ini diabaikan. Parameter ini memetakan ke--memory-swappinessopsi untuk docker run.catatan
Jika Anda menggunakan tugas di Amazon Linux 2023,
swappinessparameter tidak didukung. tmpfs-
Jalur kontainer, opsi pemasangan, dan ukuran maksimum (dalam MiB) dudukan. tmpfs Parameter ini memetakan ke
--tmpfsopsi 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) volume. tmpfs
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 kontainer tidak memenuhi batasan ketergantungan atau waktu habis sebelum memenuhi batasan, Amazon ECS tidak memajukan kontainer dependen ke status berikutnya.
Instance memerlukan setidaknya versi
1.26.0agen 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 Amazon Linux AMI Amazon ECS yang dioptimalkan Amazon, instans Anda memerlukan setidaknya1.26.0-1versi paket.ecs-initJika instance penampung Anda diluncurkan dari versi20190301atau yang lebih baru, instance tersebut berisi versi yang diperlukan dari agen penampung danecs-init. Untuk informasi selengkapnya, lihat Linux Amazon ECS yang dioptimalkan AMIs."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:
-
STARTKondisi ini meniru perilaku link dan volume hari ini. Kondisi memvalidasi bahwa kontainer dependen dimulai sebelum mengizinkan kontainer lain untuk memulai. -
COMPLETE— Kondisi ini memvalidasi bahwa kontainer 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 wadah penting. -
SUCCESS— Kondisi ini sama denganCOMPLETE, tetapi juga mengharuskan wadah keluar denganzerostatus. Kondisi ini tidak dapat diatur pada wadah penting. -
HEALTHY- Kondisi ini memvalidasi bahwa wadah dependen melewati pemeriksaan kesehatan kontainer 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:
120Durasi waktu (dalam detik) untuk menunggu sebelum menyerah pada penyelesaian dependensi untuk kontainer.
Misalnya, Anda menentukan dua kontainer dalam ketentuan tugas dengan
containerAyang memiliki dependensi untukcontainerByang mencapai statusCOMPLETE,SUCCESS, atauHEALTHY. JikastartTimeoutnilai ditentukan untukcontainerBdan tidak mencapai status yang diinginkan dalam waktu itu, makacontainerAtidak dimulai.catatan
Jika kontainer tidak memenuhi batasan ketergantungan atau waktu habis sebelum memenuhi batasan, Amazon ECS tidak memajukan kontainer dependen ke status berikutnya.
Nilai maksimumnya adalah 120 detik.
stopTimeout-
Tipe: Integer
Wajib: Tidak
Nilai contoh:
120Durasi waktu (dalam detik) untuk menunggu sebelum kontainer dimatikan secara paksa jika tidak keluar dengan sendirinya secara normal.
Jika
stopTimeoutparameter tidak ditentukan, nilai yang ditetapkan untuk variabel konfigurasi agen penampung Amazon ECS akanECS_CONTAINER_STOP_TIMEOUTdigunakan. JikastopTimeoutparameter atau variabel konfigurasiECS_CONTAINER_STOP_TIMEOUTagen 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 Amazon Linux AMI Amazon yang dioptimalkan ECS Amazon, instans Anda memerlukan setidaknya versi 1.26.0-1 paket.ecs-initJika instance penampung Anda diluncurkan dari versi20190301atau yang lebih baru, instance tersebut berisi versi yang diperlukan dari agen penampung danecs-init. Untuk informasi selengkapnya, lihat Linux Amazon ECS yang dioptimalkan AMIs.
Kontrol sistem
systemControls-
Tipe: Objek SystemControl
Wajib: Tidak
Daftar parameter kernel namespace untuk diatur dalam wadah. Parameter ini memetakan ke
Sysctlsdalam perintah docker create-container dan opsi untuk docker run.--sysctlMisalnya, Anda dapat mengonfigurasinet.ipv4.tcp_keepalive_timepengaturan untuk mempertahankan koneksi yang lebih lama.Kami tidak menyarankan Anda menentukan
systemControlsparameter terkait jaringan untuk beberapa kontainer dalam satu tugas yang juga menggunakan modeawsvpcatauhostjaringan. Melakukan hal ini memiliki kelemahan sebagai berikut:-
Untuk tugas yang menggunakan mode jaringan
awsvpc, jika Anda mengatursystemControlsuntuk kontainer apa pun, maka akan berlaku untuk semua kontainer dalam tugas. Jika Anda menyetel berbedasystemControlsuntuk beberapa kontainer dalam satu tugas, penampung yang dimulai terakhir menentukan mana yangsystemControlsberlaku. -
Untuk tugas yang menggunakan mode
hostjaringan, namespace jaringansystemControlstidak didukung.
Jika Anda menyetel namespace sumber daya IPC untuk digunakan untuk kontainer dalam tugas, kondisi berikut berlaku untuk kontrol sistem Anda. Untuk informasi selengkapnya, lihat Mode IPC.
-
Untuk tugas yang menggunakan mode
hostIPC, namespacesystemControlsIPC tidak didukung. -
Untuk tugas yang menggunakan mode
taskIPC,systemControlsnilai namespace IPC berlaku untuk semua kontainer 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 untuk.
valueNilai namespace IPC yang valid:
"kernel.msgmax" | "kernel.msgmnb" | "kernel.msgmni" | "kernel.sem" | "kernel.shmall" | "kernel.shmmax" | "kernel.shmmni" | "kernel.shm_rmid_forced", danSysctlsitu dimulai dengan"fs.mqueue.*"Nilai namespace jaringan yang valid:
Sysctlsyang dimulai dengan"net.*" value-
Tipe: String
Wajib: Tidak
Nilai untuk parameter kernel namespace yang ditentukan dalam.
namespace
-
Interaktif
interactive-
Tipe: Boolean
Wajib: Tidak
Ketika parameter ini
true, Anda dapat menerapkan aplikasi kontainer yang memerlukanstdinatauttydialokasikan. Parameter ini memetakan keOpenStdindalam perintah docker create-container dan opsi--interactiveuntuk docker run.Nilai default-nya
false.
Terminal semu
pseudoTerminal-
Tipe: Boolean
Wajib: Tidak
Jika parameter ini
true, TTY dialokasikan. Parameter ini memetakan keTtydalam perintah docker create-container dan opsi--ttyuntuk docker run.Nilai default-nya
false.
Nama akselerator Elastic Inference
Persyaratan sumber daya akselerator Elastic Inference untuk definisi tugas Anda.
catatan
Amazon Elastic Inference (EI) tidak lagi tersedia untuk pelanggan.
Parameter berikut diizinkan dalam definisi tugas:
deviceName-
Tipe: String
Diperlukan: Ya
Nama perangkat akselerator Elastic Inference. Itu juga
deviceNameharus direferensikan dalam definisi kontainer lihatElastic Inference accelerator. deviceType-
Tipe: String
Diperlukan: Ya
Akselerator Elastic Inference untuk digunakan.
Kendala 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 Availability Zone, tipe instans, atau atribut kustom. Untuk informasi selengkapnya, lihat Tentukan instance 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
memberOfuntuk 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 tipe EC2 peluncuran, instance container memerlukan setidaknya versi 1.26.0 dari agen kontainer dan setidaknya versi 1.26.0-1
ecs-initpaket untuk mengaktifkan konfigurasi proxy. Jika instans kontainer Anda diluncurkan dari AMI yang dioptimalkan Amazon ECS versi20190301atau yang lebih baru, maka instans kontainer mengandung versi agen kontainer danecs-inityang diperlukan. Untuk informasi selengkapnya, lihat Linux Amazon ECS yang dioptimalkan AMIs.catatan
Parameter ini tidak didukung untuk kontainer Windows.
"proxyConfiguration": { "type": "APPMESH", "containerName": "string", "properties": [ { "name": "string", "value": "string" } ] }type-
Tipe: String
Nilai nilai:
APPMESHWajib: 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— (Wajib) ID pengguna (UID) dari wadah proxy sebagaimana didefinisikan olehuserparameter dalam definisi kontainer. Ini digunakan untuk memastikan bahwa proksi mengabaikan lalu lintasnya sendiri. JikaIgnoredGIDditentukan, bidang ini tidak boleh kosong. -
IgnoredGID— (Wajib) ID grup (GID) dari wadah proxy sebagaimana didefinisikan olehuserparameter dalam definisi kontainer. Ini digunakan untuk memastikan bahwa proksi mengabaikan lalu lintasnya sendiri. JikaIgnoredUIDditentukan, bidang ini tidak boleh kosong. -
AppPorts— (Wajib) Daftar port yang digunakan aplikasi. Lalu lintas jaringan ke port ini diteruskan keProxyIngressPortdanProxyEgressPort. -
ProxyIngressPort— (Wajib) Menentukan port yang lalu lintas masuk keAppPortsdiarahkan. -
ProxyEgressPort— (Wajib) Menentukan port yang lalu lintas keluar dariAppPortsdiarahkan ke. -
EgressIgnoredPorts— (Wajib) Lalu lintas keluar yang menuju ke port yang ditentukan ini diabaikan dan tidak dialihkan ke port.ProxyEgressPortIa bisa berupa daftar kosong. -
EgressIgnoredIPs— (Wajib) Lalu lintas keluar yang menuju ke alamat IP yang ditentukan ini diabaikan dan tidak dialihkan ke.ProxyEgressPortIa 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 container, yang kemudian tersedia untuk diakses oleh container lain pada instance container 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-tugas Linux. Untuk informasi selengkapnya, lihat Gunakan volume Amazon EBS dengan Amazon ECS.
-
Volume Amazon EFS — Menyediakan penyimpanan file yang sederhana, terukur, dan persisten untuk digunakan dengan tugas Amazon ECS Anda. Kapasitas penyimpanan Amazon EFS bersifat elastis. Itu tumbuh dan menyusut secara otomatis saat Anda menambah dan menghapus file. Aplikasi Anda dapat memiliki penyimpanan yang mereka butuhkan dan ketika mereka membutuhkannya. Volume Amazon EFS didukung. Untuk informasi selengkapnya, lihat Gunakan volume Amazon EFS dengan Amazon ECS.
-
FSx untuk volume Windows File Server - 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 — Volume yang dikelola Docker yang dibuat di bawah instans
/var/lib/docker/volumesAmazon host. EC2 Driver volume Docker (juga disebut sebagai plugin) digunakan untuk mengintegrasikan volume dengan sistem penyimpanan eksternal, seperti Amazon EBS. Built-in driver volumelocalatau driver volume pihak ke tiga dapat digunakan. Volume Docker hanya didukung saat menjalankan tugas di EC2 instans Amazon. Wadah Windows hanya mendukung penggunaanlocaldriver. Untuk menggunakan volume Docker, tentukandockerVolumeConfigurationdalam ketentuan tugas Anda. -
Bind mount — File atau direktori pada mesin host yang dipasang ke dalam wadah. Volume host bind mount didukung. Untuk menggunakan volume host bind mount, tentukan
sourcePathnilaihostdan 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 dalamsourceVolumeparametermountPointsobjek definisi kontainer. host-
Wajib: Tidak
hostParameter ini digunakan untuk mengikat siklus hidup bind mount ke EC2 instance Amazon host, bukan tugas, dan tempat penyimpanannya. Jikahostparameternya 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 hanya didukung saat menggunakan tugas yang di-host di EC2 instans Amazon.sourcePath-
Tipe: String
Wajib: Tidak
Saat
hostparameter digunakan, tentukan asourcePathuntuk mendeklarasikan jalur pada EC2 instance Amazon host yang disajikan ke wadah. Jika parameter ini kosong, daemon Docker akan menetapkan jalur host untuk Anda. Jikahostparameter berisi lokasisourcePathfile, maka volume data tetap ada di lokasi yang ditentukan pada EC2 instance Amazon host hingga Anda menghapusnya secara manual. JikasourcePathnilai tidak ada pada EC2 instance Amazon host, daemon Docker membuatnya. Jika lokasinya memang ada, konten dari folder jalur sumber diekspor.
configuredAtLaunch-
Tipe: Boolean
Wajib: Tidak
Menentukan apakah volume dikonfigurasi saat peluncuran. Saat disetel ke
true, Anda dapat mengonfigurasi volume saat menjalankan tugas mandiri, atau saat membuat atau memperbarui layanan. Saat disetel ketrue, Anda tidak akan dapat memberikan konfigurasi volume lain dalam definisi tugas. Parameter ini harus diaturtrueuntuk mengonfigurasi volume Amazon EBS untuk lampiran ke tugas. MenyetelconfiguredAtLaunchketruedan menunda konfigurasi volume ke fase peluncuran memungkinkan Anda membuat definisi tugas yang tidak dibatasi untuk jenis volume atau pengaturan volume tertentu. Melakukan hal ini membuat definisi tugas Anda dapat digunakan kembali di seluruh lingkungan eksekusi yang berbeda. Untuk informasi selengkapnya, lihat volume Amazon EBS. dockerVolumeConfiguration-
Jenis: DockerVolumeConfigurationObjek
Wajib: Tidak
Parameter ini ditentukan saat menggunakan volume Docker. Volume Docker hanya didukung saat menjalankan tugas pada EC2 instance. Wadah Windows hanya mendukung penggunaan
localdriver. Untuk menggunakan pemasangan mengikat, tentukanhostsaja.scope-
Tipe: String
Nilai Valid:
task|sharedWajib: Tidak
Cakupan untuk volume Docker, yang menentukan siklus hidupnya. Volume Docker yang tercakup ke
tasksecara otomatis disediakan saat tugas dimulai dan dihancurkan saat tugas berhenti. Volume Docker yang tercakup sebagaishareddipertahankan setelah tugas berhenti. autoprovision-
Jenis: Boolean
Nilai default:
falseWajib: Tidak
Jika nilai ini
true, volume Docker dibuat jika belum ada. Bidang ini hanya digunakan jikascopeadashared. Jikascopeyatask, 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 CLI plugin Docker,
docker plugin lsgunakan 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 dipetakan ke
DriverOptsbagian Create a volume dari Docker. labels-
Tipe: String
Wajib: Tidak
Metadata kustom untuk ditambahkan ke volume Docker.
efsVolumeConfiguration-
Jenis: EFSVolumeKonfigurasi Objek
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 dalam
authorizationConfig, parameter direktori root harus dihilangkan atau disetel ke/, yang akan menerapkan jalur yang disetel pada titik akses EFS. transitEncryption-
Tipe: String
Nilai yang valid:
ENABLED|DISABLEDWajib: Tidak
Menentukan apakah akan mengaktifkan enkripsi untuk data Amazon EFS dalam perjalanan antara host Amazon ECS dan server Amazon EFS. Jika otorisasi Amazon EFS IAM digunakan, enkripsi transit harus diaktifkan. Jika parameter ini diabaikan, nilai default
DISABLEDakan 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 oleh helper mount Amazon EFS. Untuk informasi lebih lanjut, lihat Pembantu Pemasangan EFS di Panduan Pengguna Amazon Elastic File System.
authorizationConfig-
Jenis: EFSAuthorizationConfig Object
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
efsVolumeConfigurationharus dihilangkan atau disetel ke/, yang akan memberlakukan jalur yang ditetapkan pada titik akses EFS. Jika titik akses digunakan, enkripsi transit harus diaktifkan diEFSVolumeConfiguration. 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|DISABLEDWajib: 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 defaultDISABLEDakan digunakan. Untuk informasi selengkapnya, lihat IAM Role pada Tugas.
FSxWindowsFileServerVolumeConfiguration-
Jenis: FSxWindowsFileServerVolumeConfigurationObjek
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 Windows File Server untuk digunakan. FSx
rootDirectory-
Tipe: String
Diperlukan: Ya
Direktori dalam sistem file FSx untuk Windows File Server untuk dipasang sebagai direktori root di dalam host.
authorizationConfig-
credentialsParameter-
Tipe: String
Diperlukan: Ya
Opsi kredensi otorisasi.
pilihan:
Nama Sumber Daya Amazon (ARN) dari sebuah AWS Secrets Managerrahasia.
ARN dari suatu AWS Systems Managerparameter.
domain-
Tipe: String
Diperlukan: Ya
Nama domain yang sepenuhnya memenuhi syarat yang dihosting oleh direktori AWS Directory Service for Microsoft Active Directory(AWS Managed Microsoft AD) atau Direktori EC2 Aktif yang dihosting sendiri.
Tanda
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 Configure via 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, ataunone. Jikahostditentukan, maka semua kontainer yang berada dalam tugas yang menentukan modehostIPC pada instance kontainer yang sama berbagi sumber daya IPC yang sama dengan instans Amazon EC2 host. Jikataskditentukan, semua kontainer yang berada dalam tugas yang ditentukan berbagi sumber daya IPC yang sama. Jikanoneditentukan, 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
hostIPC digunakan, ada risiko tinggi eksposur namespace IPC yang tidak diinginkan.Jika Anda menyetel parameter kernel namespace yang digunakan
systemControlsuntuk kontainer dalam tugas, hal berikut ini berlaku untuk namespace sumber daya IPC Anda.-
Untuk tugas yang menggunakan mode
hostIPC, namespace IPC yang terkaitsystemControlstidak didukung. -
Untuk tugas yang menggunakan mode
taskIPC,systemControlsyang berhubungan dengan namespace IPC berlaku untuk semua kontainer dalam tugas.
-
Mode PID
pidMode-
Tipe: String
Nilai Valid:
host|taskWajib: Tidak
Namspace proses yang akan digunakan untuk kontainer dalam tugas. Nilai yang valid adalah
hostatautask. Misalnya, pemantauan sidecar mungkinpidModeperlu mengakses informasi tentang kontainer lain yang berjalan dalam tugas yang sama.Jika
hostditentukan, semua kontainer dalam tugas yang menentukan modehostPID pada instance container yang sama berbagi namespace proses yang sama dengan instance Amazon EC2 host.Jika
taskditentukan, semua kontainer dalam tugas tertentu berbagi namespace proses yang sama.Jika tidak ada nilai yang ditentukan, defaultnya adalah namespace pribadi untuk setiap kontainer.
Jika mode
hostPID digunakan, ada risiko tinggi eksposur namespace proses yang tidak diinginkan.
catatan
Parameter ini tidak didukung untuk kontainer Windows.
Injeksi kesalahan
enableFaultInjection-
Jenis: Boolean
Nilai Valid:
true|falseWajib: Tidak
Jika parameter ini disetel ke
true, dalam muatan tugas, Amazon ECS menerima permintaan injeksi kesalahan dari wadah tugas. Secara default, parameter ini diatur kefalse.