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 Instans Terkelola Amazon ECS
Definisi tugas dibagi menjadi bagian-bagian terpisah: keluarga tugas, peran tugas AWS Identity and Access Management (IAM), mode jaringan, definisi wadah, volume, dan kapasitas. Definisi keluarga dan wadah diperlukan dalam definisi tugas. Sebaliknya, peran tugas, mode jaringan, volume, dan kapasitas 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 Instans Terkelola Amazon ECS.
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. Untuk informasi selengkapnya, lihat Jenis peluncuran Amazon ECS.
Parameter berikut diizinkan dalam definisi tugas.
requiresCompatibilities-
Tipe: Array string
Wajib: Tidak
Nilai yang Valid:
MANAGED_INSTANCESKapasitas untuk memvalidasi definisi tugas terhadap. Ini memulai pemeriksaan untuk memastikan bahwa semua parameter yang digunakan dalam definisi tugas memenuhi persyaratan untuk Instans Terkelola Amazon ECS.
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.
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. Untuk informasi selengkapnya, lihat Peran IAM pelaksanaan tugas Amazon ECS.
catatan
IAM role eksekusi tugas diperlukan sesuai dengan persyaratan tugas Anda. Peran ini diperlukan untuk menarik gambar ECR pribadi dan menggunakan driver
awslogslog.
Mode jaringan
networkMode-
Tipe: String
Wajib: Tidak
Default:
awsvpcMode jaringan yang digunakan untuk wadah dalam tugas. Untuk tugas Amazon ECS yang dihosting di Instans Terkelola Amazon ECS, nilai yang valid adalah
awsvpcdan.hostJika tidak ada mode jaringan yang ditentukan, mode jaringan default adalahawsvpc.Jika mode jaringan adalah
host, tugas melewati isolasi jaringan dan wadah menggunakan tumpukan jaringan host secara langsung.penting
Saat menjalankan tugas yang menggunakan mode
hostjaringan, 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 menentukanNetworkConfigurationketika Anda membuat layanan atau menjalankan tugas dengan ketentuan tugas. Untuk informasi selengkapnya, lihat Jaringan tugas Amazon ECS untuk Instans Terkelola Amazon ECS.Mode
awsvpcjaringanhostdan menawarkan kinerja jaringan tertinggi untuk kontainer karena mereka menggunakan tumpukan jaringan Amazon EC2. Dengan modehostdanawsvpcjaringan, port kontainer terbuka dipetakan langsung ke port host yang sesuai (untuk modehostjaringan) atau port antarmuka jaringan elastis terpasang (untuk modeawsvpcjaringan). Karena itu, Anda tidak dapat menggunakan pemetaan port host dinamis.
Platform runtime
operatingSystemFamily-
Tipe: String
Wajib: Tidak
Standar: LINUX
Saat Anda mendaftarkan definisi tugas, Anda menentukan keluarga sistem operasi.
Nilai yang valid untuk bidang ini adalah
LINUX.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
Ketika Anda mendaftarkan definisi tugas, Anda menentukan arsitektur CPU. Nilai yang valid adalah
X86_64danARM64.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
cpuArchitecturedalam definisi tugas.Semua definisi tugas yang digunakan dalam layanan harus memiliki nilai yang sama untuk parameter ini.
Untuk informasi selengkapnya tentang
ARM64, 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
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
1024pada unit CPU atau1 vCPUdi 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.125vCPU dan10vCPU.
memory-
Tipe: String
Wajib: Bersyarat
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
3072di MiB atau3 GBdalam 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.
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.
Topik
Penyimpanan sementara
ephemeralStorage-
catatan
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: Objek EphemeralStorage
Wajib: Tidak
Jumlah penyimpanan sementara (dalam GB) yang dialokasikan untuk tugas tersebut. Parameter ini digunakan untuk memperluas jumlah total penyimpanan sementara yang tersedia, di luar jumlah default, untuk tugas yang dihosting. AWS Fargate Untuk informasi selengkapnya, lihat Gunakan mount bind dengan Amazon ECS.
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 wadah yang berada dalam tugas yang menentukan modehostIPC pada instans kontainer yang sama berbagi sumber daya IPC yang sama dengan instans Amazon EC2 host. Jikataskditentukan, semua wadah 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 bergantung pada konfigurasi runtime container.
Mode PID
pidMode-
Tipe: String
Wajib: Tidak
Namspace proses yang akan digunakan untuk kontainer dalam tugas. Nilai yang valid adalah
hostatautask. Jikahostditentukan, maka semua wadah yang berada dalam tugas yang menentukan modehostPID pada instance kontainer yang sama berbagi namespace proses yang sama dengan instans host Amazon EC2. Jikataskditentukan, semua wadah yang berada dalam tugas yang ditentukan berbagi namespace proses yang sama. Jika tidak ada nilai yang ditentukan, defaultnya adalah namespace privat.Jika mode
hostPID digunakan, ada risiko tinggi paparan namespace proses yang tidak diinginkan.
Konfigurasi proxy
proxyConfiguration-
catatan
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: Objek ProxyConfiguration
Wajib: Tidak
Detail konfigurasi untuk proxy App Mesh.
Tag
Metadata yang Anda terapkan ke definisi tugas untuk membantu Anda mengkategorikan dan mengaturnya. Setiap tanda terdiri dari kunci dan nilai opsional. Anda mendefinisikan keduanya.
Batasan dasar berikut berlaku untuk tanda:
-
Jumlah maksimum tanda per sumber daya – 50
-
Untuk setiap sumber daya, setiap kunci tanda harus unik, dan setiap kunci tanda hanya dapat memiliki satu nilai.
-
Panjang kunci maksimum - 128 karakter Unicode di UTF-8
-
Panjang nilai maksimum - 256 karakter Unicode di UTF-8
-
Jika skema pemberian tag Anda digunakan di beberapa layanan dan sumber daya , ingatlah bahwa layanan lain mungkin memiliki pembatasan pada karakter yang diizinkan. Karakter yang umumnya diizinkan adalah: huruf, angka, dan spasi yang dapat direpresent UTF-8 asikan dalam, dan karakter berikut: + - =. _:/@.
-
Kunci dan nilai tag peka terhadap huruf besar dan kecil.
-
Jangan gunakan
aws:,AWS:, atau kombinasi huruf besar atau kecil seperti awalan untuk kunci atau nilai karena disediakan untuk AWS digunakan. Anda tidak dapat mengedit atau menghapus kunci atau nilai tanda dengan prefiks ini. Tanda dengan prefiks ini tidak dihitung, berlawanan dengan tanda milik Anda per batas sumber daya.
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).
Akselerator inferensi elastis (tidak digunakan lagi)
catatan
Amazon Elastic Inference (EI) sudah tidak tersedia bagi pelanggan.
inferenceAccelerator-
catatan
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: Objek InferenceAccelerator
Wajib: Tidak
Akselerator Elastic Inference digunakan untuk kontainer dalam tugas.
Kendala penempatan
placementConstraints-
Tipe: Array objek TaskDefinitionPlacementConstraint
Wajib: Tidak
Array objek kendala penempatan untuk digunakan untuk tugas. Anda dapat menentukan maksimal 10 batasan per tugas (batas ini termasuk batasan dalam ketentuan tugas dan yang ditentukan pada waktu aktif).
Amazon ECS mendukung batasan
distinctInstacedan penmemberOfempatan untuk tugas yang berjalan di Instans Terkelola Amazon ECS. Atribut berikut didukung untuk tugas yang menggunakan batasan penmemberOfempatan:-
ecs.subnet-id -
ecs.availability-zone -
ecs.cpu-architecture -
ecs.instance-type
Untuk informasi selengkapnya tentang batasan penempatan, lihatMenentukan Instans Kontainer Mana yang Digunakan Amazon ECS untuk Tugas.
-
volume
Saat Anda mendaftarkan definisi tugas, Anda dapat secara opsional menentukan daftar volume untuk tugas Anda. Ini memungkinkan Anda untuk menggunakan volume data dalam tugas Anda.
Untuk informasi selengkapnya tentang jenis volume dan parameter lainnya, lihatOpsi penyimpanan untuk tugas Amazon ECS.
name-
Tipe: String
Diperlukan: Ya
Nama volume. Hingga 255 huruf (huruf besar dan kecil), angka, dan tanda hubung diperbolehkan. Nama ini direferensikan di parameter
sourceVolumedarimountPointsketentuan kontainer. host-
Tipe: Objek HostVolumeProperties
Wajib: Tidak
Parameter ini ditentukan saat Anda menggunakan bind mount host volume. Isi
hostparameter menentukan apakah volume host mount bind Anda tetap ada pada instance kontainer host dan tempat penyimpanan. Jikahostparameter kosong, maka sistem menetapkan jalur host untuk volume data Anda. Namun, data tidak dijamin akan bertahan setelah wadah yang terkait dengannya berhenti berjalan.sourcePath-
Tipe: String
Wajib: Tidak
Ketika
hostparameter digunakan, tentukan asourcePathuntuk mendeklarasikan jalur pada instance host yang disajikan ke wadah. Jika parameter ini kosong, maka sistem menetapkan jalur host untuk Anda. Jikahostparameter berisi lokasisourcePathfile, maka volume data tetap ada di lokasi yang ditentukan pada instance host sampai Anda menghapusnya secara manual. JikasourcePathnilai tidak ada pada instance host, sistem membuatnya. Jika lokasinya memang ada, konten dari folder jalur sumber diekspor.Pada Instans Terkelola Amazon ECS, bagian dari sistem file host bersifat read-only. Harus
sourcePathmenunjuk ke direktori yang dapat ditulis seperti/varatau/tmp. Untuk informasi selengkapnya, lihat Gunakan mount bind dengan Amazon ECS.
dockerVolumeConfiguration-
catatan
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: Objek DockerVolumeConfiguration
Wajib: Tidak
Parameter ini ditentukan saat Anda menggunakan volume Docker.
efsVolumeConfiguration-
Tipe: Objek EFSVolumeConfiguration
Wajib: Tidak
Parameter ini ditentukan saat Anda menggunakan sistem file Amazon EFS untuk penyimpanan tugas.
fsxWindowsFileServerVolumeConfiguration-
catatan
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: Objek FSxWindowsFileServerVolumeConfiguration
Wajib: Tidak
Parameter ini ditentukan saat Anda menggunakan sistem file Amazon FSx untuk Windows File Server untuk penyimpanan tugas.
configuredAtLaunch-
Tipe: Boolean
Wajib: Tidak
Menunjukkan apakah volume harus dikonfigurasi pada waktu peluncuran. Ini digunakan untuk membuat volume Amazon EBS untuk tugas mandiri atau tugas yang dibuat sebagai bagian dari layanan. Setiap revisi definisi tugas mungkin hanya memiliki satu volume yang dikonfigurasi saat peluncuran dalam konfigurasi volume.
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.
Topik
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 wadah dalam definisi tugas,
namesatu wadah 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
ataurepository-url/image:tag. Maksimal 255 huruf (huruf besar dan kecil), angka, tanda hubung, garis bawah, titik dua, titik, garis miring, dan tanda angka diizinkan. Parameter ini dipetrepository-url/image@digestImageakan ke dalam perintah docker create-container danIMAGEparameter 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
latesttag 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:tagatauregistry/repository@digestpenamaan (misalnya,aws_account_id.dkr.ecr.region.amazonaws.com/ataumy-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 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|disabledWajib: Tidak
Menentukan apakah Amazon ECS akan menyelesaikan tag gambar kontainer yang disediakan dalam definisi wadah ke ringkasan gambar. Secara default, perilaku ini adalah
enabled. 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
memorytugas, jika ada yang ditentukan. Parameter ini dipetMemoryakan ke dalam perintah docker create-container dan--memoryopsi untuk menjalankan docker.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
memoryparameter (jika berlaku) atau semua memori yang tersedia pada instance container, mana saja yang lebih dulu. Parameter ini dipetMemoryReservationakan ke dalam perintah docker create-container dan--memory-reservationopsi untuk menjalankan docker.Jika nilai memori tingkat tugas tidak ditentukan, Anda harus menentukan bilangan bulat bukan nol untuk 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 kontainer tempat wadah 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 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.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.
CPU
cpu-
Tipe: Integer
Wajib: Tidak
Jumlah unit
cpudisimpan untuk kontainer. Parameter ini dipetCpuSharesakan ke dalam perintah docker create-container dan--cpu-sharesopsi untuk menjalankan docker.Bidang ini opsional untuk tugas yang menggunakan penyedia kapasitas EC2, dan satu-satunya persyaratan adalah bahwa jumlah total CPU yang dicadangkan untuk semua wadah dalam tugas lebih rendah dari nilai tingkat tugas.
cpucatatan
Anda dapat menentukan jumlah unit CPU yang tersedia per tipe instans EC2 dengan mengalikan vCPU yang terdaftar untuk tipe instans pada halaman detail Instans Amazon EC2
dengan 1.024. Kontainer Linux pebagian unit CPU yang tidak dialokasikan dengan kontainer lain pada instans kontainer dengan rasio yang sama dengan jumlahnya yang dialokasikan. Misalnya, jika Anda menjalankan tugas wadah tunggal pada tipe instance single-core dengan 512 unit CPU yang ditentukan untuk wadah tersebut, dan itulah satu-satunya tugas yang berjalan pada instance kontainer, wadah tersebut dapat menggunakan 1.024 unit CPU penuh pada waktu tertentu. Namun, jika Anda meluncurkan salinan lain dari tugas yang sama pada instance kontainer tersebut, setiap tugas dijamin minimal 512 unit CPU bila diperlukan. Selain itu, setiap wadah dapat mengapung ke penggunaan CPU yang lebih tinggi jika wadah lain tidak menggunakannya. Jika kedua tugas 100% aktif sepanjang waktu, mereka akan dibatasi hingga 512 unit CPU.
Pada instans kontainer Linux, daemon Docker pada instans kontainer menggunakan nilai CPU untuk menghitung rasio pembagian CPU relatif untuk menjalankan kontainer. Untuk informasi selengkapnya, lihat batasan pembagian CPU
dalam dokumentasi Docker. Nilai pembagian CPU minimum yang valid yang diizinkan kernel Linux adalah 2. Namun, parameter CPU tidak diperlukan, dan Anda dapat menggunakan nilai CPU di bawah 2 dalam definisi wadah Anda. Untuk nilai CPU di bawah 2 (termasuk null), perilakunya bervariasi berdasarkan versi agen kontainer Amazon ECS Anda: -
Versi agen kurang dari atau sama dengan 1.1.0: Nilai CPU null dan nol diteruskan ke Docker sebagai 0, yang kemudian dikonversi Docker menjadi 1.024 pembagian CPU. Nilai CPU 1 diteruskan ke Docker sebagai 1, yang dikonversi oleh kernel Linux menjadi dua pembagian CPU.
-
Versi agen lebih dari atau sama dengan 1.2.0: Nilai null, nol, dan CPU 1 diteruskan ke Docker sebagai 2.
Pada instans kontainer Windows, batas CPU diberlakukan sebagai batas absolut, atau kuota. Wadah Windows hanya memiliki akses ke jumlah CPU yang ditentukan yang dijelaskan dalam definisi tugas. Nilai CPU null atau nol diteruskan ke Docker sebagai
0, yang ditafsirkan Windows sebagai 1% dari satu CPU. -
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
awsvpcjaringan, hanya tentukancontainerPort. SelhostPortalu diabaikan, dan port kontainer secara otomatis dipetakan ke port acak bernomor tinggi pada host.Sebagian besar bidang parameter ini (termasuk
containerPort,hostPort,protocol) dipetakan kePortBindingsdalam perintah thedocker create-container dan opsi untuk menjalankan docker.--publishJika 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. 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
portMappingsdigunakanNomor port pada wadah yang terikat ke port host yang ditentukan pengguna atau ditetapkan secara otomatis.
Untuk tugas yang menggunakan mode
awsvpcjaringan, Anda gunakancontainerPortuntuk menentukan port yang terbuka. 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-definitionAPI. Opsi ini tersedia diportMappingsparameter. Untuk informasi selengkapnya, lihat register-task-definition di Referensi. AWS Command Line InterfaceAturan berikut berlaku saat Anda menentukan
containerPortRange:-
Anda harus menggunakan mode
awsvpcjaringan. -
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 a
hostPortRange. NilaihostPortRangeditetapkan sebagai berikut:-
Untuk wadah dalam tugas dengan mode
awsvpcjaringan,hostPortdiatur ke nilai yang sama dengancontainerPort. Ini adalah strategi pemetaan statis.
-
-
Nilai
containerPortRangeyang 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 melihat
hostPortRange, 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.
hostPortDapat tetap kosong atau memiliki nilai yang sama dengancontainerPort.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_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 sementara.Port cadangan default adalah
22untuk SSH, Docker port2375dan2376, dan port51678-51680agen 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 diremainingResourcesdescribe-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
tcpdanudp. Default adalahtcp.penting
Hanya
tcpdidukung untuk Service Connect. Ingattcpitu tersirat jika bidang ini tidak disetel.
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
repositoryCredentialsdigunakanAmazon 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" } } ]
-
Esensial
essential-
Tipe: Boolean
Wajib: Tidak
Jika parameter
essentialkontainer ditandai sebagaitrue, dan kontainer itu gagal atau berhenti karena alasan apa pun, semua kontainer lain yang merupakan bagian dari tugas dihentikan. Jikaessentialparameter wadah ditandai sebagaifalse, kegagalannya tidak mempengaruhi wadah lainnya dalam tugas. Jika parameter ini dihilangkan, kontainer diasumsikan menjadi penting.Semua tugas harus memiliki setidaknya satu kontainer penting. Jika Anda memiliki aplikasi yang terdiri dari beberapa wadah, kelompokkan wadah yang digunakan untuk tujuan bersama menjadi komponen, dan pisahkan komponen yang berbeda menjadi beberapa definisi tugas. Untuk informasi selengkapnya, lihat Merancang Aplikasi Anda untuk Amazon ECS.
Titik masuk
entryPoint-
Tipe: Array string
Wajib: Tidak
Titik masuk yang diteruskan ke wadah. Parameter ini dipet
Entrypointakan ke dalam perintah docker create-container dan--entrypointopsi untuk menjalankan docker."entryPoint": ["string", ...]
Perintah
command-
Tipe: Array string
Wajib: Tidak
Perintah yang diteruskan ke kontainer. Parameter ini memet
Cmdakan ke dalam perintah docker create-container danCOMMANDparameter ke docker run. Jika ada beberapa argumen, setiap argumen adalah string terpisah dalam array."command": ["string", ...]
Direktori kerja
workingDirectory-
Tipe: String
Wajib: Tidak
Direktori kerja untuk menjalankan perintah di dalam wadah. Parameter ini dipet
WorkingDirakan ke dalam perintah docker create-container dan--workdiropsi untuk menjalankan docker.
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.
Topik
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
restartAttemptPerioddetik. Jika wadah tidak dapat berjalan untuk periode waktu ini dan keluar lebih awal, itu tidak akan dimulai ulang. Anda dapat mengatur minimalrestartAttemptPeriod60 detik danrestartAttemptPeriodmaksimum 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
CMDdengan menjalankan argumen perintah secara langsung, atauCMD-SHELLmenjalankan perintah dengan shell default container. Jika tidak ada yangCMDditentukan, 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 1Saat 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
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 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 nilai antara 0 dan 300 detik. Secara default, din
startPeriodonaktifkan.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 yang disediakan agen kontainer Amazon ECS untuk wadah tersebut. Di Linux, parameter ini diCpuSharespetakan ke bagianBuat wadah. Bidang ini opsional untuk tugas yang berjalan di Instans Terkelola Amazon ECS. Jumlah total CPU yang dicadangkan untuk semua wadah yang ada dalam tugas harus lebih rendah dari nilai tingkat tugas
cpu.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:
Untuk contoh selengkapnya, lihat Bagaimana Amazon ECS mengelola sumber daya
CPU dan memori. gpu-
Tipe: Objek ResourceRequirement
Wajib: Tidak
Jumlah fisik
GPUsyang disediakan oleh agen kontainer Amazon ECS untuk wadah. Anda dapat menentukan nilai integer, nilai desimal untuk GPU pecahan, atau.ALLSaat 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. Neuron device-
Tipe: Objek ResourceRequirement
Wajib: Tidak
Perangkat Neuron yang disediakan oleh agen kontainer Amazon ECS untuk wadah. Satu-satunya nilai yang didukung adalah
ALL, yang memberikan akses eksklusif wadah ke semua perangkat Neuron pada instance. Untuk informasi selengkapnya, lihat Definisi tugas Amazon ECS untuk AWS Beban kerja pembelajaran mesin neuron. Elastic Inference accelerator-
catatan
Parameter ini tidak didukung untuk wadah yang dihosting di Instans Terkelola Amazon ECS.
Tipe: Objek ResourceRequirement
Wajib: Tidak
Untuk
InferenceAcceleratortipe,valuecocok dengandeviceNameuntuk yangInferenceAcceleratorditentukan dalam definisi tugas. Untuk informasi selengkapnya, lihat Nama akselerator inferensi elastis (tidak digunakan lagi). 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 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
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 memet
Cmdakan ke dalam perintah create-container danCOMMANDparameter 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
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.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 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
Envakan ke dalam perintah docker create-container dan--envopsi 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
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 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" } ]
Keamanan
privileged-
Tipe: Boolean
Wajib: Tidak
Ketika parameter ini
true, wadah diberikan hak istimewa yang ditingkatkan pada instance kontainer host (mirip denganrootpengguna). Parameter ini dipetPrivilegedakan ke dalam perintah docker create-container dan--privilegedopsi untuk menjalankan docker. user-
Tipe: String
Wajib: Tidak
Pengguna yang akan digunakan di dalam kontainer. Parameter ini dipet
Userakan ke dalam perintah docker create-container dan--useropsi untuk menjalankan docker.penting
Saat menjalankan tugas menggunakan mode
hostjaringan, jangan jalankan kontainer menggunakan pengguna root (UID 0). Sebaiknya gunakan pengguna non-root untuk keamanan yang lebih baik.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
-
readonlyRootFilesystem-
Tipe: Boolean
Wajib: Tidak
Ketika parameter ini
true, wadah diberikan sistem file root read-only. Parameter ini dipetReadonlyRootfsakan ke dalam perintah docker create-container dan--read-onlyopsi untuk menjalankan docker. dockerSecurityOptions-
catatan
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: Array string
Wajib: Tidak
Daftar string untuk menyediakan label khusus untuk SELinux dan sistem keamanan AppArmor multi-level. Bidang ini tidak valid untuk kontainer dalam tugas yang menggunakan Fargate.
ulimits-
Jenis: Array objek Ulimit
Wajib: Tidak
Daftar
ulimitsuntuk diatur dalam kontainer. Jika nilai ulimit ditentukan dalam definisi tugas, itu menggantikan nilai default yang ditetapkan oleh Docker. Parameter ini dipetUlimitsakan ke dalam perintah docker create-container dan--ulimitopsi untuk menjalankan docker. Nilai penamaan yang valid ditampilkan di tipe data Ulimit.Tugas Amazon ECS yang dihosting di Fargate menggunakan nilai batas sumber daya default yang ditetapkan oleh sistem operasi dengan pengecualian parameter batas
nofilesumber daya yang diganti Fargate. Batasnofilesumber daya menetapkan batasan pada jumlah file terbuka yang dapat digunakan wadah. Batasnofilelunak default adalah1024dan batas keras default adalah65535.Parameter ini memerlukan API Jarak Jauh Docker versi 1.18 atau yang lebih besar pada instans kontainer Anda. Untuk memeriksa versi API Jarak Jauh Docker pada instans kontainer Anda, masuk ke instans kontainer Anda dan jalankan perintah berikut:
sudo docker version --format '{{.Server.APIVersion}}'
dockerLabels-
Tipe: Peta antar string
Wajib: Tidak
Peta key/value label untuk ditambahkan ke wadah. Parameter ini dipet
Labelsakan ke dalam perintah docker create-container dan--labelopsi untuk menjalankan docker.Parameter ini memerlukan Docker Remote API versi 1.18 atau lebih besar pada instans kontainer Anda.
"dockerLabels": {"string": "string" ...}
Pengaturan jaringan
disableNetworking-
catatan
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: Boolean
Wajib: Tidak
Ketika parameter ini benar, jaringan mati di dalam wadah.
Nilai default-nya
false."disableNetworking": true|false links-
catatan
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
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. Konstrukname:internalNamesi ini analog denganname:aliasdi Docker tautan. Hingga 255 huruf (huruf besar dan kecil), angka, tanda hubung, dan garis bawah diperbolehkan..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-
catatan
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: String
Wajib: Tidak
Nama host yang digunakan untuk kontainer Anda. Parameter ini dipetakan ke
Hostnamedalam docker create-container dan--hostnameopsi untuk menjalankan docker."hostname": "string" dnsServers-
catatan
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: Array string
Wajib: Tidak
Daftar server DNS yang disajikan untuk kontainer.
"dnsServers": ["string", ...] extraHosts-
catatan
Parameter ini tidak didukung untuk tugas yang menggunakan mode
awsvpcjaringan.Tipe: Array objek
Wajib: Tidak
Daftar nama host dan pemetaan alamat IP untuk ditambahkan ke file
/etc/hostsdi kontainer.Parameter ini dipet
ExtraHostsakan ke dalam perintah docker create-container dan--add-hostopsi untuk menjalankan docker."extraHosts": [ { "hostname": "string", "ipAddress": "string" } ... ]hostname-
Tipe: String
Diperlukan: Ya, saat
extraHostsdigunakanNama host yang akan digunakan dalam entri
/etc/hosts. ipAddress-
Tipe: String
Diperlukan: Ya, saat
extraHostsdigunakanAlamat IP yang akan digunakan dalam
/etc/hostsentri.
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
ReadonlyRootfsdalam perintah docker create-container--read-onlyopsi untuk menjalankan docker.Nilai default-nya
false."readonlyRootFilesystem": true|false mountPoints-
Tipe: Array objek
Wajib: Tidak
Titik pemasangan untuk volume data dalam wadah Anda. Parameter ini dipet
Volumesakan ke dalam Create-container Docker API dan--volumeopsi 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
mountPointsdigunakanNama volume yang akan dipasang.
containerPath-
Tipe: String
Diperlukan: Ya, saat
mountPointsdigunakanJalur 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 adalahfalse, maka kontainer dapat menulis ke volume. Nilai default-nya adalahfalse.Untuk tugas yang berjalan pada instans EC2 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 dipet
VolumesFromakan ke dalam perintah docker create-container dan--volumes-fromopsi untuk menjalankan docker.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: 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
LogConfigakan ke dalam perintah docker create-container dan--log-driveropsi 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.
"logConfiguration": { "logDriver": "awslogs",""splunk", "awsfirelens", "options": {"string": "string" ...}, "secretOptions": [{ "name": "string", "valueFrom": "string" }] }logDriver-
Tipe: String
Nilai yang valid:
"awslogs","splunk","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 kontainer Amazon ECS.
Driver log yang didukung adalah
awslogs,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 menggunakan driver
awsfirelenslog, lihatKirim log Amazon ECS ke AWS layanan atau AWS Partner.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
awslogsrouter 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:CreateLogGroupizin sebelum Anda mencoba menggunakannyaawslogs-create-group. awslogs-region-
Wajib: Ya
Tentukan Wilayah AWS ke mana driver
awslogslog 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
awslogslog mengirimkan aliran lognya. awslogs-stream-prefix-
Wajib: Ya
Gunakan
awslogs-stream-prefixopsi untuk mengaitkan aliran log dengan awalan yang ditentukan, nama wadah, dan ID tugas Amazon ECS milik wadah tersebut. 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 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-patternopsiawslogs-datetime-formatdan.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-formatjuga dikonfigurasi.Anda tidak dapat mengonfigurasi
awslogs-multiline-patternopsiawslogs-datetime-formatdan.catatan
Pencatatan multibaris melakukan penguraian dan pencocokan ekspresi reguler dari semua pesan log. Ini mungkin berdampak negatif pada performa pencatatan.
mode-
Wajib: Tidak
Nilai yang valid:
non-blocking|blockingOpsi ini mendefinisikan mode pengiriman pesan log dari wadah ke driver
awslogslog. Mode pengiriman yang Anda pilih memengaruhi ketersediaan aplikasi ketika aliran log dari wadah terganggu.Jika Anda menggunakan
blockingmode dan aliran log ke ter CloudWatch ganggu, panggilan dari kode kontainer untuk menulis kestderrstreamstdoutdan 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-blockingmode, log wadah malah disimpan dalam buffer perantara dalam memori yang dikonfigurasi denganmax-buffer-sizeopsi tersebut. Ini mencegah aplikasi menjadi tidak responsif ketika log tidak dapat dikirim ke CloudWatch. 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 driverlog awslogskontainer. max-buffer-size-
Wajib: Tidak
Nilai default:
1mSaat
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 untuk penyimpanan log dan analitik, Anda dapat mengaturlog-driver-buffer-limitopsi untuk membatasi jumlah peristiwa yang disimpan 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
awsfirelensuntuk merutekan log tergantung pada tujuan. Saat mengekspor log ke Amazon Data Firehose, Anda dapat menentukan Wilayah AWS denganregiondan nama untuk aliran log dengandelivery_stream.Saat mengekspor log ke Amazon Kinesis Data Streams, Anda dapat menentukan Wilayah AWS dengan
regiondan nama aliran data denganstream.Saat mengekspor log ke Amazon OpenSearch Service, Anda dapat menentukan opsi seperti
Name,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
bucketopsi. Anda 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: 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:::. 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.
Persyaratan sumber daya
resourceRequirements-
Tipe: Array objek ResourceRequirement
Wajib: Tidak
Jenis dan jumlah setiap sumber daya yang akan ditetapkan ke wadah. Sumber daya yang didukung adalah GPU dan perangkat Neuron.
type-
Tipe: String
Diperlukan: Ya
Jenis sumber daya yang akan ditetapkan ke kontainer. Nilai yang di-support adalah
GPUdanNeuronDevice. value-
Tipe: String
Diperlukan: Ya
Nilai untuk jenis sumber daya yang ditentukan.
Jika
GPUjenis digunakan, nilainya adalah jumlah fisikGPUscadangan agen kontainer Amazon ECS untuk wadah tersebut. Anda dapat menentukan nilai integer untuk GPU penuh, nilai desimal (,0.1250.25, atau0.5) untuk GPU pecahan pada instans G6f, atau untuk mengalokasikan semua GPU pada instance kontainerALLke wadah. Jumlah GPU yang dicadangkan untuk semua wadah dalam tugas tidak boleh melebihi jumlah GPU yang tersedia pada instance kontainer tempat tugas diluncurkan.GPU tidak tersedia untuk tugas yang berjalan di Fargate.
Jika
NeuronDevicetipe digunakan, satu-satunya nilai yang didukung adalahALL. KetikaALLditentukan, wadah mendapatkan akses eksklusif ke semua perangkat Neuron pada instance.Perangkat neuron tidak tersedia untuk tugas yang berjalan di Fargate.
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 wadah tidak memenuhi batasan ketergantungan atau batas waktu sebelum memenuhi batasan, Amazon ECS tidak memajukan wadah dependen ke status berikutnya.
Nilai maksimum adalah 600 detik (10 menit).
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 parameter tidak ditentukan, maka nilai default 30 detik digunakan. Nilai maksimum adalah 86400 detik (24 jam).
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.
Parameter ini mengharuskan tugas atau layanan menggunakan versi platform
1.3.0atau yang lebih baru (Linux) atau1.0.0(Windows)."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 denganzerostatus. 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 rintisan tugas.
-
Kontrol sistem
systemControls-
Tipe: Objek SystemControl
Wajib: Tidak
Daftar parameter kernel namespace untuk diatur dalam wadah. Parameter ini dipetakan ke
Sysctlsdalam perintah docker create-container dan--sysctlopsi untuk menjalankan docker. Misalnya, Anda dapat mengonfigurasinet.ipv4.tcp_keepalive_timepengaturan untuk mempertahankan koneksi yang lebih lama.Kami tidak menyarankan Anda menentukan
systemControlsparameter terkait jaringan untuk beberapa wadah dalam satu tugas yang juga menggunakan modehostjaringanawsvpcatau. Melakukan hal ini memiliki kelemahan sebagai berikut:-
Jika Anda mengatur
systemControlsuntuk wadah apa pun, itu berlaku untuk semua wadah dalam tugas. Jika Anda menyetsystemControlsel berbeda untuk beberapa wadah dalam satu tugas, wadah yang dimulai terakhir menentukan manasystemControlsyang berlaku.
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
hostIPC, namespace IPCsystemControlstidak didukung. -
Untuk tugas yang menggunakan mode
taskIPC,systemControlsnilai namespace IPC berlaku untuk semua wadah dalam tugas.
"systemControls": [ { "namespace":"string", "value":"string" } ]namespace-
Tipe: String
Wajib: Tidak
Parameter kernel namespace untuk menetapkan
valueuntuk.Nilai 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.*". Di Fargate, hanya ruang nama yang ada di dalam wadahSysctlsyang diterima.Semua nilai ini didukung oleh Fargate.
value-
Tipe: String
Wajib: Tidak
Nilai untuk parameter kernel namespace yang ditentukan di
namespace.
-
Interaktif
interactive-
Tipe: Boolean
Wajib: Tidak
Ketika parameter ini
true, Anda dapat menerapkan aplikasi kontainer yang memerlukanstdinatau akan dialokttyasikan. Parameter ini dipetOpenStdinakan ke dalam perintah docker create-container dan--interactiveopsi untuk menjalankan docker.Nilai default-nya
false.
Terminal semu
pseudoTerminal-
Tipe: Boolean
Wajib: Tidak
Jika parameter ini
true, TTY dialokasikan. Parameter ini dipetTtyakan ke dalam perintah docker create-container dan--ttyopsi untuk menjalankan docker.Nilai default-nya
false.
Parameter Linux
linuxParameters-
Tipe: Objek LinuxParameters
Wajib: Tidak
Linux-specific modifikasi yang diterapkan pada wadah, seperti kemampuan kernel Linux.
capabilities-
Tipe: Objek KernelCapabilities
Wajib: Tidak
Kemampuan Linux untuk kontainer yang ditambahkan ke atau diturunkan dari konfigurasi default yang disediakan oleh Docker.
devices-
Tipe: Array objek Perangkat
Wajib: Tidak
Perangkat host apa pun yang akan diekspos ke kontainer. Parameter ini dipet
Devicesakan ke dalam perintah docker create-container dan--deviceopsi untuk menjalankan docker. initProcessEnabled-
Tipe: Boolean
Wajib: Tidak
Jalankan proses
initdi dalam kontainer yang meneruskan sinyal dan menuai proses. Parameter ini memetakan ke--initopsi untuk docker run. maxSwap-
catatan
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: Integer
Wajib: Tidak
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 nilmaxSwapainya. swappiness-
catatan
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: Integer
Wajib: Tidak
Hal ini mengizinkan Anda untuk menyetel perilaku pertukaran memori kontainer. Nilai
swappinesssebesar0menyebabkan swapping tidak terjadi kecuali benar-benar diperlukan. Nilaiswappinesssebesar100menyebabkan halaman di-swap dengan sangat agresif. Nilai yang valid adalah bilangan bulat antara0dan100. Jika parameterswappinesstidak ditentukan, nilai default sebesar60akan digunakan. Jika nilai tidak ditentukan untukmaxSwap, parameter ini akan diabaikan. Parameter ini memetakan ke--memory-swappinessopsi untuk docker run. -
catatan
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: Integer
Wajib: Tidak
Ukuran (dalam MiB) volume
/dev/shm. Parameter ini memetakan ke--shm-sizeopsi untuk docker run. tmpfs-
Tipe: Array objek Tmpfs
Wajib: Tidak
Jalur kontainer, opsi pemasangan, dan ukuran (dalam MiB) pemasangan tmpfs. Parameter ini memetakan ke
--tmpfsopsi untuk docker run.