Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Parameter definisi ECS tugas Amazon
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 JSON file untuk mengonfigurasi definisi tugas Anda.
Berikut ini adalah deskripsi yang lebih detail untuk setiap parameter ketentuan tugas.
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 ECS harus divalidasi oleh Amazon terhadap definisi tugas. Jika definisi tugas tidak memvalidasi terhadap kompatibilitas yang ditentukan, pengecualian klien dikembalikan. Untuk informasi selengkapnya, lihat Jenis ECS peluncuran Amazon.
Parameter berikut diperbolehkan dalam definisi tugas.
requiresCompatibilities
-
Tipe: Array string
Wajib: Tidak
Nilai yang Valid:
EC2
|FARGATE
|EXTERNAL
Tipe 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 IAM peran yang memungkinkan kontainer dalam izin tugas memanggil AWS APIs yang ditentukan dalam kebijakan terkait atas nama Anda. Untuk informasi selengkapnya, lihat IAMPeran ECS tugas Amazon.
Saat Anda meluncurkan Server Windows ECS yang dioptimalkan AmazonAMI, IAM peran untuk tugas di Windows mengharuskan
-EnableTaskIAMRole
opsi 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 ECS penampung Amazon untuk melakukan AWS API panggilan atas nama Anda.
catatan
IAMPeran eksekusi tugas diperlukan tergantung pada persyaratan tugas Anda. Untuk informasi selengkapnya, lihat IAMPeran eksekusi ECS tugas Amazon.
Mode jaringan
networkMode
-
Tipe: String
Wajib: Tidak
Mode jaringan Docker digunakan untuk kontainer dalam tugas. Untuk ECS tugas Amazon yang di-host di instans Amazon EC2 Linux, nilai yang valid adalah
none
,,bridge
awsvpc
, danhost
. Jika tidak ada mode jaringan yang ditentukan, mode jaringan default adalahbridge
. Untuk ECS tugas Amazon yang dihosting di instans Amazon EC2 Windows, nilai yang valid adalahdefault
, danawsvpc
. Jika tidak ada mode jaringan yang ditentukan, modedefault
jaringan digunakan. Untuk ECS tugas Amazon yang dihosting di Fargate, modeawsvpc
jaringan diperlukan.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 jaringanbridge
Docker.Jika mode jaringan
host
, tugas menggunakan jaringan host yang melewati jaringan virtual bawaan Docker dengan memetakan port kontainer langsung ke EC2 instance Amazon ENI yang menghosting tugas. Pemetaan port dinamis tidak dapat digunakan dalam mode jaringan ini. Wadah dalam definisi tugas yang menggunakan mode ini harus menentukanhostPort
nomor 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
host
jaringan, jangan jalankan kontainer menggunakan pengguna root (UID0) untuk keamanan yang lebih baik. Sebagai praktik terbaik keamanan, selalu gunakan pengguna non-root.Untuk jenis EC2 peluncuran Amazon, jika mode jaringan
awsvpc
, tugas dialokasikan sebagai elastic network interface, dan Anda harus menentukanNetworkConfiguration
kapan Anda membuat layanan atau menjalankan tugas dengan definisi tugas. Untuk informasi selengkapnya, lihat Opsi jaringan ECS tugas Amazon 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 jaringannat
Docker.Untuk jenis peluncuran Fargate, ketika mode jaringan
awsvpc
, tugas dialokasikan sebuah elastic network interface, dan Anda harus menentukanNetworkConfiguration
kapan Anda membuat layanan atau menjalankan tugas dengan definisi tugas. Untuk informasi selengkapnya, lihat Jaringan Tugas Fargate. Modeawsvpc
jaringan menawarkan kinerja jaringan tertinggi untuk kontainer karena mereka menggunakan tumpukan EC2 jaringan Amazon. Port kontainer yang terbuka dipetakan langsung ke port antarmuka elastic network yang terpasang. Karena itu, Anda tidak dapat menggunakan pemetaan port host dinamis.Mode
host
danawsvpc
jaringan menawarkan kinerja jaringan tertinggi untuk kontainer karena mereka menggunakan tumpukan EC2 jaringan Amazon. Dengan modehost
danawsvpc
jaringan, port kontainer yang terbuka dipetakan langsung ke port host yang sesuai (untuk modehost
jaringan) atau port antarmuka elastis network yang terpasang (untuk modeawsvpc
jaringan). Karena itu, Anda tidak dapat menggunakan pemetaan port host dinamis.Jika menggunakan tipe peluncuran Fargate, mode
awsvpc
jaringan diperlukan. Jika menggunakan tipe EC2 peluncuran, mode jaringan yang diizinkan bergantung pada sistem operasi EC2 instans yang mendasarinya. Jika Linux, mode jaringan apa pun bisa digunakan. Jika Windows, hanya dapat menggunakan mode jaringandefault
, danawsvpc
.
Platform runtime
operatingSystemFamily
-
Tipe: String
Wajib: Bersyarat
Default: LINUX
Parameter ini diperlukan untuk ECS tugas Amazon yang di-host di Fargate.
Saat Anda mendaftarkan definisi tugas, Anda menentukan keluarga sistem operasi.
Nilai valid untuk ECS tugas Amazon yang di-host di Fargate adalah
LINUX
,,,WINDOWS_SERVER_2019_FULL
WINDOWS_SERVER_2019_CORE
WINDOWS_SERVER_2022_FULL
, dan.WINDOWS_SERVER_2022_CORE
Nilai valid untuk ECS tugas Amazon yang dihosting EC2 adalah
LINUX
WINDOWS_SERVER_2022_CORE
,WINDOWS_SERVER_2022_FULL
,WINDOWS_SERVER_2019_FULL
,, danWINDOWS_SERVER_2019_CORE
WINDOWS_SERVER_2016_FULL
,WINDOWS_SERVER_2004_CORE
, danWINDOWS_SERVER_20H2_CORE
.Semua definisi tugas yang digunakan dalam layanan harus memiliki nilai yang sama untuk parameter ini.
Ketika definisi tugas adalah bagian dari layanan, nilai ini harus sesuai dengan
platformFamily
nilai layanan. cpuArchitecture
-
Tipe: String
Wajib: Bersyarat
Standar: X86_64
Parameter ini diperlukan untuk ECS tugas Amazon yang dihosting di Fargate. Jika parameter dibiarkan sebagai
null
, nilai default secara otomatis ditetapkan pada inisiasi tugas yang dihosting di Fargate.Saat Anda mendaftarkan definisi tugas, Anda menentukan CPU arsitekturnya. Nilai yang valid adalah
X86_64
danARM64
.Semua definisi tugas yang digunakan dalam layanan harus memiliki nilai yang sama untuk parameter ini.
Ketika Anda memiliki tugas Linux baik untuk jenis peluncuran Fargate, atau jenis EC2 peluncuran, Anda dapat mengatur nilainya.
ARM64
Untuk informasi selengkapnya, lihat Definisi ECS tugas Amazon untuk beban ARM kerja 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. Untuk tugas yang di-host di Fargate (baik Linux dan Windows), bidang ini diperlukan dan ada nilai khusus untuk keduanya cpu
dan memory
yang didukung.
catatan
Parameter tingkat tugas CPU dan memori diabaikan untuk wadah Windows. Kami merekomendasikan agar Anda menentukan sumber daya tingkat kontainer untuk kontainer Windows.
Parameter berikut diizinkan dalam ketentuan tugas:
cpu
-
Tipe: String
Wajib: Bersyarat
catatan
Parameter ini tidak didukung untuk kontainer Windows.
Batas keras CPU unit untuk hadir untuk tugas tersebut. Anda dapat menentukan CPU nilai dalam JSON file sebagai string dalam CPU unit atau virtual CPUs (vCPUs). Misalnya, Anda dapat menentukan CPU nilai baik seperti
1024
dalam CPU unit atau1 vCPU
dalamvCPUs. Ketika definisi tugas terdaftar, CPU nilai v dikonversi ke bilangan bulat yang menunjukkan CPU unit.Untuk tugas yang berjalan pada EC2 atau instance eksternal, bidang ini bersifat opsional. Jika klaster Anda tidak memiliki instance kontainer terdaftar dengan CPU unit yang diminta tersedia, tugas gagal. Nilai yang didukung untuk tugas yang berjalan pada EC2 atau instance eksternal adalah antara
0.125
vCPUs dan10
vCPUs.Untuk tugas yang berjalan di Fargate (baik wadah Linux dan Windows), bidang ini diperlukan dan Anda harus menggunakan salah satu nilai berikut, yang menentukan rentang nilai yang didukung untuk parameter.
memory
Tabel di bawah ini menunjukkan kombinasi yang valid dari task-level CPU dan memori.CPUnilai
Nilai memori
Sistem operasi yang didukung untuk AWS Fargate
256 (.25 vCPU)
512 MiB, 1 GB, 2 GB
Linux
512 (.5 v) CPU
1 GB, 2 GB, 3 GB, 4 GB
Linux
1024 (1 vCPU)
2 GB, 3 GB, 4 GB, 5 GB, 6 GB, 7 GB, 8 GB
Linux, Windows
2048 (2 vCPU)
Antara 4 GB dan 16 GB dalam peningkatan 1 GB
Linux, Windows
4096 (4 vCPU)
Antara 8 GB dan 30 GB dalam peningkatan 1 GB
Linux, Windows
8192 (8 v) CPU
catatan
Opsi ini membutuhkan platform Linux
1.4.0
atau yang lebih baru.Antara 16 GB dan 60 GB dalam peningkatan 4 GB
Linux
16384 (16v) CPU
catatan
Opsi ini membutuhkan platform Linux
1.4.0
atau yang lebih baru.Antara 32 GB dan 120 GB dalam peningkatan 8 GB
Linux
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
3072
di MiB atau3 GB
GB. Ketika ketentuan tugas terdaftar, nilai GB dikonversi ke integer menunjukkan MiB.Untuk tugas yang di-host di EC2 instans Amazon, bidang ini bersifat opsional dan nilai apa pun 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 penampung Amazon ECS Linux.
Untuk tugas yang dihosting di Fargate (baik wadah Linux dan Windows), bidang ini diperlukan dan Anda harus menggunakan salah satu nilai berikut, yang menentukan rentang nilai yang didukung untuk parameter:
cpu
Nilai memori (dalam MiB, dengan perkiraan nilai setara dalam GB)
CPUnilai
Sistem operasi yang didukung untuk Fargate
512 (0,5 GB), 1024 (1 GB), 2048 (2 GB)
256 (.25 vCPU)
Linux
1024 (1 GB), ,2048 (2 GB), 3072 (3 GB), 4096 (4GB)
512 (.5 v) CPU
Linux
2048 (2 GB), 3072 (3 GB), 4096 (4GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)
1024 (1 vCPU)
Linux, Windows
Antara 4096 (4 GB) hingga 16384 (16 GB) sebagai tambahan dari 1024 (1 GB)
2048 (2 vCPU)
Linux, Windows
Antara 8192 (8 GB) hingga 30720 (30 GB) sebagai tambahan dari 1024 (1 GB)
4096 (4 vCPU)
Linux, Windows
Antara 16 GB dan 60 GB dalam peningkatan 4 GB
catatan
Opsi ini membutuhkan platform Linux
1.4.0
atau yang lebih baru.8192 (8 v) CPU
Linux
Antara 32 GB dan 120 GB dalam peningkatan 8 GB
catatan
Opsi ini membutuhkan platform Linux
1.4.0
atau yang lebih baru.16384 (16v) CPU
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,
name
satu kontainer dapat dimasukkan ke dalamlinks
wadah lain. Ini untuk menghubungkan wadah.
Citra
image
-
Tipe: String
Diperlukan: Ya
Citra yang digunakan untuk memulai kontainer. String ini diteruskan langsung ke Docker daemon. Secara default, gambar dalam Docker Hub registri tersedia. Anda juga dapat menentukan repositori lain dengan salah satu atau
.repository-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 memetakan kerepository-url
/image
@digest
Image
dalam perintah docker create-container dan parameterIMAGE
dari perintah docker run.-
Saat tugas baru dimulai, agen ECS penampung Amazon menarik versi terbaru dari gambar dan tag yang ditentukan untuk wadah yang akan digunakan. 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 ECR repositori Amazon dapat ditentukan dengan menggunakan konvensi lengkap
registry/repository:tag
atauregistry/repository@digest
penamaan (misalnya,aws_account_id
.dkr.ecr.region
.amazonaws.com/
ataumy-web-app
:latest
aws_account_id
.dkr.ecr.region
.amazonaws.com/
).my-web-app
@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE
-
Gambar di repositori resmi Docker Hub menggunakan satu nama (misalnya,
ubuntu
ataumongo
). -
Gambar di repositori lain di Docker Hub memenuhi syarat dengan nama organisasi (misalnya,
amazon/amazon-ecs-agent
). -
Gambar di repositori online lainnya memenuhi syarat lebih lanjut berdasarkan nama domain (misalnya,
quay.io/assemblyline/ubuntu
).
-
Memori
memory
-
Tipe: Integer
Wajib: Tidak
Jumlah (dalam MiB) memori yang akan ditampilkan ke kontainer. Jika kontainer Anda mencoba untuk melebihi memori yang ditentukan di sini, kontainer akan dimatikan. Jumlah total memori yang disimpan untuk semua kontainer dalam tugas harus lebih rendah dari nilai
memory
tugas, jika ada yang ditentukan. Parameter ini memetakan keMemory
dalam perintah docker create-container dan opsi--memory
untuk docker run.Jika Anda menggunakan tipe peluncuran Fargate, parameter ini opsional.
Jika Anda menggunakan tipe EC2 peluncuran, Anda harus menentukan nilai memori tingkat tugas atau nilai memori tingkat kontainer. Jika Anda menentukan tingkat kontainer
memory
danmemoryReservation
nilai, nilainya harus lebih besar darimemory
nilainya.memoryReservation
Jika Anda menentukanmemoryReservation
, maka nilai tersebut dikurangi dari sumber daya memori yang tersedia untuk instance wadah tempat penampung ditempatkan. Jika tidak, nilaimemory
digunakan.Daemon Docker 20.10.0 atau yang lebih baru menyimpan minimal 6 MiB memori untuk sebuah wadah. Jadi, jangan tentukan kurang dari 6 MiB memori untuk wadah Anda.
Docker 19.03.13-ce atau daemon sebelumnya menyimpan minimal 4 MiB memori untuk sebuah wadah. Jadi, jangan tentukan kurang dari 4 MiB memori untuk wadah Anda.
catatan
Jika Anda mencoba memaksimalkan pemanfaatan sumber daya Anda dengan menyediakan tugas Anda sebanyak mungkin memori untuk jenis instance tertentu, lihatMemesan memori instans penampung 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
memory
parameter (jika ada) atau semua memori yang tersedia pada instance kontainer, mana yang lebih dulu. Parameter ini memetakan keMemoryReservation
dalam perintah docker create-container dan opsi--memory-reservation
untuk docker run.Jika nilai memori tingkat tugas tidak ditentukan, Anda harus menentukan bilangan bulat bukan nol untuk salah satu atau keduanya
memory
ataumemoryReservation
dalam definisi wadah. Jika Anda menentukan keduanya,memory
harus lebih besar darimemoryReservation
. Jika Anda menentukanmemoryReservation
, maka nilai tersebut dikurangi dari sumber daya memori yang tersedia untuk instance wadah tempat penampung ditempatkan. Jika tidak, nilaimemory
digunakan.Misalnya, kontainer Anda biasanya menggunakan memori 128 MiB, tetapi kadang-kadang meledak hingga 256 MiB memori untuk waktu yang singkat. Anda dapat mengatur 128 MiB, dan batas
memory
keras 300 MiB.memoryReservation
Konfigurasi ini memungkinkan 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 wadah Windows.
Daemon Docker 20.10.0 atau yang lebih baru menyimpan minimal 6 MiB memori untuk sebuah wadah. Jadi, jangan tentukan kurang dari 6 MiB memori untuk wadah Anda.
Docker 19.03.13-ce atau daemon sebelumnya menyimpan minimal 4 MiB memori untuk sebuah wadah. Jadi, jangan tentukan kurang dari 4 MiB memori untuk wadah Anda.
catatan
Jika Anda mencoba memaksimalkan pemanfaatan sumber daya Anda dengan menyediakan tugas Anda sebanyak mungkin memori untuk jenis instance tertentu, lihatMemesan memori instans penampung Amazon ECS Linux.
Pemetaan pelabuhan
portMappings
-
Tipe: Array objek
Wajib: Tidak
Pemetaan port mengizinkan kontainer untuk mengakses port pada instans kontainer host untuk mengirim atau menerima lalu lintas.
Untuk definisi tugas yang menggunakan mode
awsvpc
jaringan, hanya tentukancontainerPort
.hostPort
Dapat tetap kosong atau nilainya sama dengancontainerPort
.Pemetaan port pada Windows menggunakan alamat gateway
NetNAT
daripadalocalhost
. 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 kePortBindings
dalam perintah create-container docker dan opsi--publish
untuk 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
networkBindings
dari output perintah describe-tasks . -
API:
DescribeTasks
Tanggapan. -
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 menambahkan penanganan koneksi khusus protokol ke proxy service connect. Jika Anda menyetel parameter ini, Amazon ECS menambahkan telemetri khusus protokol di konsol Amazon dan. ECS 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 ECS layanan Amazon dengan nama pendek.
Nilai protokol yang valid:
"HTTP" | "HTTP2" | "GRPC"
containerPort
-
Jenis: Integer
Diperlukan: Ya, kapan
portMappings
digunakanNomor port pada kontainer yang terikat ke port host yang ditentukan pengguna atau secara otomatis ditetapkan.
Jika menggunakan kontainer dalam tugas dengan tipe peluncuran Fargate, port yang terbuka harus ditentukan menggunakan.
containerPort
Untuk wadah Windows di Fargate, Anda tidak dapat menggunakan port 3150 untuk file.
containerPort
Ini karena sudah dipesan.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 file
register-task-definition
API. Opsi ini tersedia dalamportMappings
parameter. Untuk informasi lebih lanjut, lihat register-task-definitiondi AWS Command Line Interface Referensi.Aturan berikut berlaku saat Anda menentukan
containerPortRange
:-
Anda harus menggunakan mode
bridge
jaringan atau modeawsvpc
jaringan. -
Parameter ini tersedia untuk kedua jenis peluncuran EC2 dan AWS Fargate.
-
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
. NilaihostPortRange
ditetapkan sebagai berikut:-
Untuk kontainer dalam tugas dengan mode
awsvpc
jaringan,hostPort
diatur ke nilai yang sama dengancontainerPort
. Ini adalah strategi pemetaan statis. -
Untuk kontainer dalam tugas dengan mode
bridge
jaringan, ECS agen Amazon menemukan port host terbuka dari rentang singkat default dan meneruskannya ke docker untuk mengikatnya ke port kontainer.
-
-
Nilai yang
containerPortRange
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 docker-proxy di file konfigurasi Docker daemon ketika Anda memiliki banyak port.
Untuk informasi selengkapnya, lihat Masalah #11185
di GitHub.
Anda dapat menelepon
DescribeTasks
untuk melihathostPortRange
, yang merupakan port host yang terikat ke port kontainer.Rentang port tidak disertakan dalam peristiwa ECS tugas Amazon, yang dikirim ke EventBridge. Untuk informasi selengkapnya, lihat Mengotomatiskan tanggapan terhadap ECS kesalahan Amazon menggunakan EventBridge.
-
hostPortRange
-
Tipe: String
Wajib: Tidak
Rentang nomor port pada host yang digunakan dengan pengikatan jaringan. Ini ditugaskan oleh Docker dan dikirim oleh ECS agen Amazon.
hostPort
-
Tipe: Integer
Wajib: Tidak
Nomor port pada instans kontainer untuk menyimpan kontainer Anda.
Jika menggunakan kontainer dalam tugas dengan tipe peluncuran Fargate,
hostPort
dapat tetap kosong atau nilainya sama dengan.containerPort
Misalkan Anda menggunakan kontainer dalam tugas dengan tipe EC2 peluncuran. 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.containerPort
Container 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_range
Jika parameter kernel ini tidak tersedia, port sementara default berkisar sejak49153–65535
digunakan. Jangan mencoba menentukan port host dalam rentang port sementara. Ini karena ini dicadangkan untuk penugasan otomatis. Secara umum, port di bawah32768
berada di luar jangkauan port fana.Port cadangan default adalah
22
untukSSH, Docker port2375
dan2376
, dan port agen ECS kontainer Amazon51678-51680
. Port 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 ditampilkan diremainingResources
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 dikonfigurasi dalam layanan
Nama yang digunakan untuk pemetaan port. Parameter ini hanya berlaku untuk Service Connect. Parameter ini adalah nama yang Anda gunakan dalam konfigurasi Service Connect suatu layanan.
Untuk informasi selengkapnya, lihat Gunakan Service Connect untuk menghubungkan ECS layanan Amazon dengan nama pendek.
Dalam contoh berikut, kedua bidang wajib untuk Service Connect digunakan.
"portMappings": [ { "name":
string
, "containerPort":integer
} ] protocol
-
Tipe: String
Wajib: Tidak
Protokol yang digunakan untuk pemetaan port. Nilai yang valid adalah
tcp
danudp
. Default adalahtcp
.penting
Hanya
tcp
didukung untuk Service Connect. Ingat itutcp
tersirat jika bidang ini tidak disetel.penting
UDPdukungan hanya tersedia pada instance kontainer yang diluncurkan dengan versi 1.2.0 dari agen ECS penampung Amazon (seperti
amzn-ami-2015.03.c-amazon-ecs-optimized
AMI) atau yang lebih baru, atau dengan agen penampung yang telah diperbarui ke versi 1.3.0 atau yang lebih baru. Untuk memperbarui agen kontainer ke versi terbaru, lihat Memperbarui agen ECS penampung Amazon.
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
Kredensi repositori untuk otentikasi registri pribadi.
Untuk informasi selengkapnya, lihat Menggunakan gambar AWS non-kontainer di Amazon ECS.
-
credentialsParameter
-
Tipe: String
Diperlukan: Ya, kapan
repositoryCredentials
digunakanAmazon Resource Name (ARN) dari rahasia yang berisi kredenal repositori pribadi.
Untuk informasi selengkapnya, lihat Menggunakan gambar AWS non-kontainer di Amazon ECS.
catatan
Ketika Anda menggunakan Amazon ECSAPI, AWS CLI, atau AWS SDKs, jika rahasia ada di Wilayah yang sama dengan tugas yang Anda luncurkan maka Anda dapat menggunakan nama lengkap ARN atau nama rahasia. 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 container di instance ECS container Amazon 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 ECS tugas Amazon dengan kebijakan restart kontainer.
enabled
-
Jenis: Boolean
Wajib: Ya
Menentukan apakah kebijakan restart diaktifkan untuk kontainer.
ignoredExitCodes
-
Jenis: himpunan integer
Wajib: Tidak
Daftar kode keluar yang ECS akan diabaikan Amazon 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
restartAttemptPeriod
detik. Jika kontainer tidak dapat berjalan untuk periode waktu ini dan keluar lebih awal, itu tidak akan dimulai ulang. Anda dapat mengatur minimalrestartAttemptPeriod
60 detik dan maksimumrestartAttemptPeriod
1800 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 ECS tugas Amazon menggunakan pemeriksaan kesehatan kontainer.
command
-
Array string yang mewakili perintah yang dijalankan kontainer untuk menentukan apakah itu sehat. Array string dapat dimulai dengan
CMD
untuk menjalankan argumen perintah secara langsung, atauCMD-SHELL
untuk menjalankan perintah dengan shell default container. Jika tidak ada yangCMD
ditentukan, 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 1
Saat mendaftarkan definisi tugas menggunakan AWS Management Console JSON panel,, 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
stderr
output, menunjukkan keberhasilan, dan kode keluar bukan nol menunjukkan kegagalan. interval
-
Periode waktu (dalam detik) antara setiap pemeriksaan kesehatan. Anda dapat menentukan antara 5 dan 300 detik. Nilai 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,
startPeriod
dinonaktifkan.
Environment
cpu
-
Tipe: Integer
Wajib: Tidak
Jumlah
cpu
unit cadangan agen ECS kontainer Amazon untuk kontainer. Di Linux, parameter ini dipetakanCpuShares
di bagian Create a container. Bidang ini opsional untuk tugas yang menggunakan jenis peluncuran Fargate. Jumlah total CPU cadangan untuk semua kontainer yang berada dalam tugas harus lebih rendah dari nilai tingkat tugas
cpu
.catatan
Anda dapat menentukan jumlah CPU unit yang tersedia untuk setiap jenis EC2 instans Amazon. Untuk melakukan ini, kalikan jumlah yang vCPUs terdaftar untuk jenis instans tersebut di halaman detail EC2Instans Amazon
dengan 1.024. Linuxkontainer berbagi CPU unit 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 instance inti tunggal dengan 512 CPU unit yang ditentukan untuk kontainer tersebut. Selain itu, tugas itu adalah satu-satunya tugas yang berjalan pada instance container. Dalam contoh ini, kontainer dapat menggunakan 1.024 CPU unit share penuh pada waktu tertentu. Namun, asumsikan bahwa Anda meluncurkan salinan lain dari tugas yang sama pada instance kontainer itu. Setiap tugas dijamin minimal 512 CPU unit bila diperlukan. Demikian pula, jika wadah lain tidak menggunakan yang tersisaCPU, setiap kontainer dapat mengapung ke CPU penggunaan yang lebih tinggi. Namun, jika kedua tugas tersebut 100% aktif sepanjang waktu, mereka dibatasi hingga 512 CPU unit.
Pada instance Linux container, Docker daemon pada instance container menggunakan CPU nilai untuk menghitung rasio CPU share relatif untuk menjalankan container. Nilai CPU saham valid minimum yang diizinkan kernel Linux adalah 2, dan nilai CPU berbagi valid maksimum yang diizinkan kernel Linux adalah 262144. Namun, CPU parameter tidak diperlukan, dan Anda dapat menggunakan CPU nilai di bawah dua dan di atas 262144 dalam definisi wadah Anda. Untuk CPU nilai di bawah dua (termasuk null) dan di atas 262144, perilaku bervariasi berdasarkan versi agen penampung Amazon ECS Anda:
-
Versi agen <= 1.1.0: CPU Nilai nol dan nol diteruskan ke Docker 0. Dockerkemudian mengubah nilai ini menjadi 1.024 sahamCPU. CPUnilai satu diteruskan ke Docker sebagai satu, yang Linux kernel mengkonversi menjadi dua CPU saham.
-
Versi agen >= 1.2.0: Null, nol, dan CPU nilai satu diteruskan Docker sebagai dua saham. CPU
-
Versi agen >= 1.84.0: CPU nilai yang lebih besar dari 256 v CPU diteruskan ke Docker 256, yang setara dengan 262144 saham. CPU
Pada instance Windows kontainer, CPU kuota diberlakukan sebagai kuota absolut. Windowscontainer hanya memiliki akses ke jumlah tertentu CPU yang ditentukan dalam definisi tugas. CPUNilai nol atau nol diteruskan ke Docker as
0
. Windowskemudian menafsirkan nilai ini sebagai 1% dari satuCPU.Untuk contoh selengkapnya, lihat Cara Amazon ECS mengelola CPU dan sumber daya memori
. -
gpu
-
Tipe: Objek ResourceRequirement
Wajib: Tidak
Jumlah fisik
GPUs
yang disimpan agen ECS kontainer Amazon 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 ECS tugas Amazon untuk beban GPU kerja.catatan
Parameter ini tidak didukung untuk Windows kontainer atau kontainer yang di-host di Fargate.
Elastic Inference accelerator
-
Tipe: Objek ResourceRequirement
Wajib: Tidak
Untuk
InferenceAccelerator
jenisnya,value
cocok dengan yangdeviceName
InferenceAccelerator
ditentukan dalam definisi tugas. Untuk informasi selengkapnya, lihat Nama akselerator Elastic Inference.catatan
Mulai 15 April 2023, tidak AWS akan memasukkan pelanggan baru ke Amazon Elastic Inference (EI), dan akan membantu pelanggan saat ini memigrasikan beban kerja mereka ke opsi yang menawarkan harga dan kinerja yang lebih baik. Setelah 15 April 2023, pelanggan baru tidak akan dapat meluncurkan instans dengan akselerator Amazon EI di Amazon, Amazon, ECS atau SageMaker Amazon. EC2 Namun, pelanggan yang telah menggunakan Amazon EI setidaknya sekali selama periode 30 hari terakhir dianggap sebagai pelanggan saat ini dan akan dapat terus menggunakan layanan ini.
catatan
Parameter ini tidak didukung untuk Windows kontainer atau kontainer yang di-host di Fargate.
essential
-
Tipe: Boolean
Wajib: Tidak
Misalkan
essential
parameter wadah ditandai sebagaitrue
, dan wadah itu gagal atau berhenti karena alasan apa pun. Kemudian, semua wadah lain yang merupakan bagian dari tugas dihentikan. Jikaessential
parameter 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 ECS penampung Amazon tidak menangani
entryPoint
parameter dengan benar. Jika Anda memiliki masalah menggunakanentryPoint
, perbarui agen kontainer Anda atau masukkan perintah dan argumen Anda sebagai item arraycommand
sebagai gantinya.Tipe: Array string
Wajib: Tidak
Titik masuk yang diteruskan ke wadah.
"entryPoint": ["string", ...]
command
-
Tipe: Array string
Wajib: Tidak
Perintah yang diteruskan ke kontainer. Parameter ini memetakan ke
Cmd
dalam perintah create-container dan parameterCOMMAND
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 di. Parameter ini dipetakan ke
WorkingDir
bagian Create a containerdari Docker Remote API dan --workdir
opsi untuk docker run. "workingDirectory": "string"
environmentFiles
-
Tipe: Array objek
Wajib: Tidak
Daftar file yang berisi variabel lingkungan untuk diteruskan ke kontainer. Parameter ini memetakan ke
--env-file
opsi ke perintah docker run.Ini tidak tersedia untuk Windows wadah dan wadah Windows di Fargate
Anda dapat menentukan hingga 10 file lingkungan. File harus memiliki ekstensi file
.env
. Setiap baris dalam file lingkungan berisi variabel lingkungan dalamVARIABLE=VALUE
format. Baris yang dimulai dengan#
diperlakukan sebagai komentar dan diabaikan.Jika ada variabel lingkungan individu yang ditentukan dalam ketentuan kontainer, maka akan lebih diutamakan daripada variabel yang ada di dalam file lingkungan. Jika beberapa file lingkungan ditentukan yang berisi variabel yang sama, mereka diproses dari atas ke bawah. Kami merekomendasikan agar Anda menggunakan nama variabel yang unik. Untuk informasi selengkapnya, lihat Meneruskan variabel lingkungan individual ke ECS wadah Amazon.
value
-
Tipe: String
Diperlukan: Ya
Amazon Resource Name (ARN) dari objek Amazon S3 yang berisi file variabel lingkungan.
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
Env
dalam perintah docker create-container dan opsi--env
ke perintah docker run.penting
Kami tidak menyarankan menggunakan variabel lingkungan teks biasa untuk informasi sensitif, seperti data kredensial.
name
-
Tipe: String
Diperlukan: Ya, saat
environment
digunakanNama variabel lingkungan.
value
-
Tipe: String
Diperlukan: Ya, saat
environment
digunakanNilai 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 ECS wadah Amazon.
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 Amazon Resource Name (ARN) lengkap dari AWS Secrets Manager rahasia atau ARN penuh parameter di AWS Systems Manager Parameter Store.
catatan
Jika parameter Systems Manager Parameter Store atau parameter Secrets Manager Wilayah AWS sama dengan tugas yang Anda luncurkan, Anda dapat menggunakan nama lengkap ARN atau nama rahasia. Jika parameter ada di Wilayah yang berbeda, maka lengkap ARN harus ditentukan.
"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
awsvpc
jaringan.Default-nya adalah
false
."disableNetworking": true|false
links
-
Tipe: Array string
Wajib: Tidak
Parameter
link
mengizinkan kontainer untuk berkomunikasi satu sama lain tanpa perlu port pemetaan. Parameter ini hanya didukung jika mode jaringan dari definisi tugas diatur kebridge
.name:internalName
Konstruk ini analog dengan dalam tautan.name:alias
Docker 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
awsvpc
jaringan.penting
Kontainer yang ditempatkan pada instance kontainer yang sama dapat berkomunikasi satu sama lain tanpa memerlukan tautan atau pemetaan port host. Isolasi jaringan pada instance kontainer dikendalikan oleh grup dan VPC pengaturan keamanan.
"links": ["name:internalName", ...]
hostname
-
Tipe: String
Wajib: Tidak
Nama host yang digunakan untuk kontainer Anda. Parameter ini memetakan ke
Hostname
dalam docker create-container dan opsi--hostname
untuk docker run.catatan
Jika Anda menggunakan mode
awsvpc
jaringan,hostname
parameter tidak didukung."hostname": "string"
dnsServers
-
Tipe: Array string
Wajib: Tidak
Daftar DNS server yang disajikan ke wadah.
catatan
Parameter ini tidak didukung untuk Windows kontainer atau tugas yang menggunakan mode
awsvpc
jaringan."dnsServers": ["string", ...]
dnsSearchDomains
-
Tipe: Array string
Wajib: Tidak
Pola: ^[a-zA-Z0-9-.]{0,253}[a-zA-Z0-9]$
Daftar domain DNS pencarian yang disajikan ke wadah. Parameter ini memetakan ke
DnsSearch
dalam perintah docker create-container opsi--dns-search
untuk docker run.catatan
Parameter ini tidak didukung untuk wadah Windows atau tugas yang menggunakan mode
awsvpc
jaringan."dnsSearchDomains": ["string", ...]
extraHosts
-
Tipe: Array objek
Wajib: Tidak
Daftar nama host dan pemetaan alamat IP untuk ditambahkan ke file
/etc/hosts
di kontainer.Parameter ini memetakan ke
ExtraHosts
dalam perintah docker create-container dan opsi--add-host
untuk docker run.catatan
Parameter ini tidak didukung untuk wadah Windows atau tugas yang menggunakan mode
awsvpc
jaringan."extraHosts": [ { "hostname": "string", "ipAddress": "string" } ... ]
hostname
-
Tipe: String
Diperlukan: Ya, kapan
extraHosts
digunakanNama host yang akan digunakan dalam entri
/etc/hosts
. ipAddress
-
Tipe: String
Diperlukan: Ya, kapan
extraHosts
digunakanAlamat IP yang akan digunakan dalam
/etc/hosts
entri.
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
ReadonlyRootfs
dalam perintah docker create-container opsi--read-only
untuk docker run.catatan
Parameter ini tidak didukung untuk kontainer Windows.
Default-nya adalah
false
."readonlyRootFilesystem": true|false
mountPoints
-
Tipe: Array objek
Wajib: Tidak
Titik pemasangan untuk volume data dalam penampung Anda. Parameter ini memetakan ke
Volumes
dalam creat-container Docker API dan opsi--volume
untuk 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 EBS volume Amazon langsung ke ECS tugas Amazon.sourceVolume
-
Tipe: String
Diperlukan: Ya, kapan
mountPoints
digunakanNama volume yang akan dipasang.
containerPath
-
Tipe: String
Diperlukan: Ya, kapan
mountPoints
digunakanJalur 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
.
volumesFrom
-
Tipe: Array objek
Wajib: Tidak
Volume data untuk memasang dari kontainer lain. Parameter ini memetakan ke
VolumesFrom
dalam perintah docker create-container dan opsi--volumes-from
untuk docker run.sourceContainer
-
Tipe: String
Diperlukan: Ya, saat
volumesFrom
digunakanNama 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 ECS tugas Amazon.
Parameter ini memetakan ke
LogConfig
dalam perintah docker create-container dan opsi--log-driver
untuk 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 Docker daemon. Driver log tambahan mungkin tersedia di rilis agen ECS kontainer Amazon di masa mendatang.
-
Parameter ini memerlukan Docker Remote versi 1.18 atau yang lebih baru API pada instance container Anda.
-
Untuk tugas yang menggunakan tipe EC2 peluncuran, agen ECS penampung Amazon yang berjalan pada instance container harus mendaftarkan driver logging yang tersedia pada instance tersebut dengan variabel
ECS_AVAILABLE_LOGGING_DRIVERS
lingkungan sebelum container yang ditempatkan pada instance tersebut dapat menggunakan opsi konfigurasi log ini. Untuk informasi selengkapnya, lihat Konfigurasi agen ECS kontainer Amazon. -
Untuk tugas yang menggunakan jenis peluncuran Fargate, Anda harus menginstal perangkat lunak tambahan apa pun di luar tugas. Misalnya, agregator Fluentd keluaran atau host jarak jauh yang menjalankan Logstash untuk mengirim log ke. Gelf
"logConfiguration": { "logDriver": "awslogs","fluentd","gelf","json-file","journald","logentries","splunk","syslog","awsfirelens", "options": {"
string
": "string
" ...}, "secretOptions": [{ "name": "string
", "valueFrom": "string
" }] }logDriver
-
Tipe: String
Nilai yang valid:
"awslogs","fluentd","gelf","json-file","journald","logentries","splunk","syslog","awsfirelens"
Diperlukan: Ya, saat
logConfiguration
digunakanDriver log yang digunakan untuk kontainer. Secara default, nilai valid yang tercantum sebelumnya adalah driver log yang dapat berkomunikasi dengan agen ECS penampung Amazon.
Untuk tugas yang menggunakan tipe peluncuran Fargate, driver log yang didukung adalah
awslogs
,splunk
, dan.awsfirelens
Untuk tugas yang menggunakan tipe EC2 peluncuran, driver log yang didukung adalah
awslogs
,fluentd
,gelf
,json-file
journald
,logentries
,syslog
,splunk
, danawsfirelens
.Untuk informasi selengkapnya tentang cara menggunakan driver
awslogs
log dalam definisi tugas untuk mengirim log kontainer Anda ke CloudWatch Log, lihatKirim ECS log Amazon 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 ECS penampung Amazon 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 versi 1.18 dari Docker Remote API atau yang lebih tinggi pada instance container Anda.
options
-
Tipe: Peta antar string
Wajib: Tidak
Peta kunci/nilai opsi konfigurasi untuk dikirim ke driver log.
Saat Anda menggunakan FireLens untuk merutekan log ke AWS Partner Network tujuan layanan AWS atau penyimpanan log dan analitik, Anda dapat mengatur
log-driver-buffer-limit
opsi 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 ECS log Amazon untuk throughput tinggi.Parameter ini memerlukan versi 1.19 dari Docker Remote API atau yang lebih besar pada instance container 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 ECS wadah Amazon.
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 ECS log Amazon ke AWS layanan atau AWS Partner.
{ "firelensConfiguration": { "type": "fluentd", "options": { "KeyName": "" } } }
options
-
Tipe: Peta antar string
Wajib: Tidak
Peta kunci/nilai 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 ECS tugas Amazon: 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
fluentd
ataufluentbit
.
Keamanan
Untuk informasi selengkapnya tentang keamanan kontainer, lihat Keamanan tugas dan kontainer di Panduan Praktik ECS Terbaik Amazon.
credentialSpecs
-
Tipe: Array string
Wajib: Tidak
Daftar file ARNs in SSM atau Amazon S3 ke file credential spec (
CredSpec
) yang mengonfigurasi penampung untuk autentikasi Active Directory. Kami menyarankan Anda menggunakan parameter ini alih-alihdockerSecurityOptions
. Jumlah maksimum ARNs adalah 1.Ada dua format untuk masing-masingARN.
- CredentialSpecDomainless:Saya ARN
-
Anda gunakan
credentialspecdomainless:MyARN
untukCredSpec
menyediakan bagian tambahan untuk rahasia di Secrets Manager. Anda memberikan kredensi 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:Saya ARN
-
Anda gunakan
credentialspec:MyARN
untuk menyediakanCredSpec
untuk satu domain.Anda harus menggabungkan instance penampung ke domain sebelum memulai tugas apa pun yang menggunakan definisi tugas ini.
Dalam kedua format, ganti
MyARN
dengan ARN in SSM atau Amazon S3.credspec
Harus menyediakan ARN in 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 kredenal 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 gMSAs untuk Kontainer Windows dan Menggunakan gMSAs 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
Privileged
dalam perintah docker create-container dan opsi--privileged
untuk 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
User
dalam perintah docker create-container dan opsi--user
untuk docker run.penting
Saat menjalankan tugas yang menggunakan mode
host
jaringan, jangan jalankan kontainer menggunakan pengguna root (UID0). Sebagai praktik terbaik keamanan, selalu gunakan pengguna non-root.Anda dapat menentukan
user
dengan menggunakan format berikut. Jika menentukan UID atauGID, Anda harus menentukannya sebagai bilangan bulat positif.-
user
-
user:group
-
uid
-
uid:gid
-
user:gid
-
uid:group
catatan
Parameter ini tidak didukung untuk kontainer Windows.
"user": "string"
-
dockerSecurityOptions
-
Tipe: Array string
Nilai yang valid: "no-new-privileges" | “apparmor:PROFILE" | “label:
value
“| “spesifikasi kredensial:CredentialSpecFilePath
"Wajib: Tidak
Daftar string untuk menyediakan konfigurasi khusus untuk beberapa sistem keamanan. Bidang ini tidak valid untuk kontainer dalam tugas menggunakan tipe peluncuran Fargate.
Untuk Linux tugas aktifEC2, parameter ini dapat digunakan untuk mereferensikan label khusus untuk SELinux dan sistem keamanan AppArmor multi-level.
Untuk tugas apa punEC2, parameter ini dapat digunakan untuk mereferensikan file spesifikasi kredensyal yang mengonfigurasi wadah untuk otentikasi Active Directory. Untuk informasi selengkapnya, silakan lihat Pelajari cara menggunakan wadah EC2 Windows gMSAs untuk Amazon ECS dan Menggunakan gMSA untuk EC2 Linux wadah di Amazon ECS.
Parameter ini memetakan ke
SecurityOpt
dalam perintah docker create-container dan opsi--security-opt
untuk docker run."dockerSecurityOptions": ["string", ...]
catatan
Agen ECS penampung Amazon yang berjalan pada instance container harus mendaftar dengan variabel
ECS_APPARMOR_CAPABLE=true
lingkunganECS_SELINUX_CAPABLE=true
atau sebelum container yang ditempatkan pada instance tersebut dapat menggunakan opsi keamanan ini. Untuk informasi selengkapnya, lihat Konfigurasi agen ECS kontainer Amazon.
Batas sumber daya
ulimits
-
Tipe: Array objek
Wajib: Tidak
Daftar nilai
ulimit
yang harus ditentukan untuk kontainer. Nilai ini menimpa pengaturan kuota sumber daya default untuk sistem operasi. Parameter ini memetakan keUlimits
dalam perintah docker create-container dan opsi--ulimit
untuk docker run.ECSTugas Amazon yang dihosting di Fargate menggunakan nilai batas sumber daya default yang ditetapkan oleh sistem operasi dengan pengecualian parameter batas
nofile
sumber daya. Batasnofile
sumber daya menetapkan batasan pada jumlah file terbuka yang dapat digunakan wadah. Di Fargate, batasnofile
lunak default adalah65535
dan batas keras adalah.65535
Anda dapat mengatur nilai dari kedua batas hingga1048576
. Untuk informasi selengkapnya, lihat Batas sumber daya tugas.Parameter ini memerlukan versi 1.18 dari Docker Remote API atau yang lebih tinggi pada instance container 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
ulimits
digunakantype
dariulimit
. hardLimit
-
Jenis: Integer
Diperlukan: Ya, kapan
ulimits
digunakanBatas keras untuk tipe
ulimit
. Nilai dapat ditentukan dalam byte, detik, atau sebagai hitungan, tergantungtype
padaulimit
. softLimit
-
Jenis: Integer
Diperlukan: Ya, kapan
ulimits
digunakanBatas lunak untuk tipe
ulimit
. Nilai dapat ditentukan dalam byte, detik, atau sebagai hitungan, tergantungtype
padaulimit
.
Label docker
dockerLabels
-
Tipe: Peta antar string
Wajib: Tidak
Sebuah peta kunci/nilai label untuk ditambahkan ke kontainer. Parameter ini memetakan ke
Labels
dalam perintah docker create-container dan opsi--label
untuk docker run.Parameter ini memerlukan versi 1.18 dari Docker Remote API atau yang lebih tinggi pada instance container Anda.
"dockerLabels": {"string": "string" ...}
Parameter definisi wadah lainnya
Parameter definisi kontainer berikut dapat digunakan saat mendaftarkan definisi tugas di ECS konsol Amazon dengan menggunakan JSON opsi Configure via. Untuk informasi selengkapnya, lihat Membuat definisi ECS tugas Amazon 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
CapAdd
dalam perintah docker create-container dan opsi--cap-add
untuk docker run.catatan
Tugas yang diluncurkan di Fargate hanya mendukung penambahan kemampuan
SYS_PTRACE
kernel. 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
CapAdd
dalam perintah docker create-container dan opsi--cap-add
untuk 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
CapDrop
dalam perintah docker create-container dan opsi--cap-drop
untuk docker run.
devices
-
Perangkat host apa pun yang akan diekspos ke kontainer. Parameter ini memetakan ke
Devices
dalam perintah docker create-container dan opsi--device
untuk docker run.catatan
devices
Parameter tidak didukung saat Anda menggunakan tipe peluncuran Fargate, atau wadah Windows.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
, danmknod
pada perangkat.Tipe: Array string
Nilai yang Valid:
read
|write
|mknod
initProcessEnabled
-
Jalankan proses
init
di dalam kontainer yang meneruskan sinyal dan melakukan proses kembali. Parameter ini memetakan ke--init
opsi untuk docker run.Parameter ini memerlukan versi 1.25 dari Docker Remote API atau lebih besar pada instance container Anda.
maxSwap
-
Jumlah total memori tukar (dalam MiB) yang dapat digunakan oleh kontainer. Parameter ini diterjemahkan ke
--memory-swap
opsi untuk docker run di mana nilainya adalah jumlah memori kontainer ditambah nilainya.maxSwap
Jika nilai
maxSwap
sebesar0
ditentukan, kontainer tidak menggunakan swap. Nilai yang diterima adalah0
atau bilangan bulat positif. JikamaxSwap
parameter diabaikan, kontainer menggunakan konfigurasi swap untuk instans kontainer tempatnya berjalan. NilaimaxSwap
harus ditetapkan untuk parameterswappiness
yang akan digunakan.catatan
Jika Anda menggunakan tugas yang menggunakan tipe peluncuran Fargate,
maxSwap
parameter tidak didukung. sharedMemorySize
-
Nilai untuk ukuran (dalam MiB) volume
/dev/shm
. Parameter ini memetakan ke--shm-size
opsi untuk docker run.catatan
Jika Anda menggunakan tugas yang menggunakan tipe peluncuran Fargate,
sharedMemorySize
parameter tidak didukung.Jenis: Integer
swappiness
-
Anda dapat menggunakan parameter ini untuk menyetel perilaku pertukaran memori kontainer.
swappiness
Nilai0
mencegah pertukaran terjadi kecuali diperlukan.swappiness
Nilai100
penyebab halaman sering ditukar. Nilai yang diterima adalah bilangan bulat antara0
dan100
. Jika Anda tidak menentukan nilai, nilai default60
digunakan. Selain itu, jika Anda tidak menentukan nilai untukmaxSwap
, maka parameter ini diabaikan. Parameter ini memetakan ke--memory-swappiness
opsi untuk docker run.catatan
Jika Anda menggunakan tugas yang menggunakan tipe peluncuran Fargate,
swappiness
parameter tidak didukung.Jika Anda menggunakan tugas di Amazon Linux 2023,
swappiness
parameter tidak didukung. tmpfs
-
Jalur kontainer, opsi pemasangan, dan ukuran maksimum (dalam MiB) dudukan. tmpfs Parameter ini memetakan ke
--tmpfs
opsi untuk docker run.catatan
Jika Anda menggunakan tugas yang menggunakan tipe peluncuran Fargate,
tmpfs
parameter tidak didukung.Tipe: Array objek Tmpfs
Wajib: Tidak
containerPath
-
Jalur file absolut di mana 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, ECS Amazon tidak memajukan kontainer dependen ke status berikutnya.
Untuk ECS tugas Amazon yang di-host di EC2 instans Amazon, instans memerlukan setidaknya versi agen
1.26.0
penampung untuk mengaktifkan dependensi penampung. Namun, kami menyarankan untuk menggunakan versi agen kontainer terbaru. Untuk informasi tentang memeriksa versi agen Anda dan memperbarui ke versi terbaru, lihat Memperbarui agen ECS penampung Amazon. Jika Anda menggunakan Amazon Linux ECS yang dioptimalkan AmazonAMI, instans Anda memerlukan setidaknya1.26.0-1
versiecs-init
paket. Jika instance penampung Anda diluncurkan dari versi20190301
atau yang lebih baru, instance tersebut berisi versi yang diperlukan dari agen penampung danecs-init
. Untuk informasi selengkapnya, lihat Linux yang ECS dioptimalkan Amazon AMIs.Untuk ECS tugas Amazon yang di-host di Fargate, parameter ini mengharuskan tugas atau layanan menggunakan versi
1.3.0
platform atau 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 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 denganzero
status. 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:
120
Durasi waktu (dalam detik) untuk menunggu sebelum menyerah pada penyelesaian dependensi untuk kontainer.
Misalnya, Anda menentukan dua kontainer dalam ketentuan tugas dengan
containerA
yang memiliki dependensi untukcontainerB
yang mencapai statusCOMPLETE
,SUCCESS
, atauHEALTHY
. JikastartTimeout
nilai ditentukan untukcontainerB
dan tidak mencapai status yang diinginkan dalam waktu itu, makacontainerA
tidak dimulai.catatan
Jika kontainer tidak memenuhi batasan ketergantungan atau waktu habis sebelum memenuhi batasan, ECS Amazon tidak memajukan kontainer dependen ke status berikutnya.
Untuk ECS tugas Amazon yang di-host di Fargate, parameter ini mengharuskan tugas atau layanan menggunakan versi
1.3.0
platform atau yang lebih baru ()Linux. Nilai maksimumnya adalah 120 detik. stopTimeout
-
Tipe: Integer
Wajib: Tidak
Nilai contoh:
120
Durasi waktu (dalam detik) untuk menunggu sebelum kontainer dimatikan secara paksa jika tidak keluar dengan sendirinya secara normal.
Untuk ECS tugas Amazon yang di-host di Fargate, parameter ini mengharuskan tugas atau layanan menggunakan versi
1.3.0
platform atau yang lebih baru ()Linux. Jika parameter tidak ditentukan, maka nilai default 30 detik digunakan. Nilai maksimumnya adalah 120 detik.Untuk tugas yang menggunakan tipe EC2 peluncuran, jika
stopTimeout
parameter tidak ditentukan, nilai yang ditetapkan untuk variabel konfigurasi agen ECS penampung Amazon akanECS_CONTAINER_STOP_TIMEOUT
digunakan. JikastopTimeout
parameter atau variabel konfigurasiECS_CONTAINER_STOP_TIMEOUT
agen tidak disetel, nilai default 30 detik untuk Linux kontainer dan 30 detik pada Windows kontainer digunakan. instans kontainer memerlukan setidaknya agen kontainer versi 1.26.0 untuk mengaktifkan nilai batas waktu penghentian kontainer. Akan tetapi, kami merekomendasikan untuk menggunakan versi agen kontainer terbaru. Untuk informasi tentang cara memeriksa versi agen Anda dan memperbarui ke versi terbaru, lihatMemperbarui agen ECS penampung Amazon. Jika Anda menggunakan Amazon Linux yang ECS dioptimalkan AmazonAMI, instans Anda memerlukan setidaknya versi 1.26.0-1 paket.ecs-init
Jika instance penampung Anda diluncurkan dari versi20190301
atau yang lebih baru, instance tersebut berisi versi yang diperlukan dari agen penampung danecs-init
. Untuk informasi selengkapnya, lihat Linux yang ECS dioptimalkan Amazon AMIs.
Kontrol sistem
systemControls
-
Tipe: Objek SystemControl
Wajib: Tidak
Daftar parameter kernel namespace untuk diatur dalam wadah. Parameter ini memetakan ke
Sysctls
dalam perintah docker create-container dan opsi untuk docker run.--sysctl
Misalnya, Anda dapat mengonfigurasinet.ipv4.tcp_keepalive_time
pengaturan untuk mempertahankan koneksi yang lebih lama.Kami tidak menyarankan Anda menentukan
systemControls
parameter terkait jaringan untuk beberapa kontainer dalam satu tugas yang juga menggunakan modeawsvpc
atauhost
jaringan. Melakukan hal ini memiliki kelemahan sebagai berikut:-
Untuk tugas yang menggunakan mode
awsvpc
jaringan termasuk Fargate, jika Anda mengatursystemControls
untuk wadah apa pun, itu berlaku untuk semua kontainer dalam tugas. Jika Anda menyetel berbedasystemControls
untuk beberapa kontainer dalam satu tugas, penampung yang dimulai terakhir menentukan mana yangsystemControls
berlaku. -
Untuk tugas yang menggunakan mode
host
jaringan, namespace jaringansystemControls
tidak didukung.
Jika Anda menyetel namespace IPC sumber daya untuk digunakan untuk kontainer dalam tugas, kondisi berikut berlaku untuk kontrol sistem Anda. Untuk informasi selengkapnya, lihat IPCmodus.
-
Untuk tugas yang menggunakan
host
IPC mode, IPC namespacesystemControls
tidak didukung. -
Untuk tugas yang menggunakan
task
IPC mode,systemControls
nilai IPC namespace berlaku untuk semua kontainer dalam tugas.
catatan
Parameter ini tidak didukung untuk kontainer Windows.
catatan
Parameter ini hanya didukung untuk tugas yang di-host AWS Fargate jika tugas menggunakan versi platform
1.4.0
atau yang lebih baru (Linux). Ini tidak didukung untuk wadah Windows di Fargate."systemControls": [ { "namespace":"
string
", "value":"string
" } ]namespace
-
Tipe: String
Wajib: Tidak
Parameter kernel namespace untuk menetapkan untuk.
value
Nilai IPC namespace yang valid:
"kernel.msgmax" | "kernel.msgmnb" | "kernel.msgmni" | "kernel.sem" | "kernel.shmall" | "kernel.shmmax" | "kernel.shmmni" | "kernel.shm_rmid_forced"
, danSysctls
itu dimulai dengan"fs.mqueue.*"
Nilai namespace jaringan yang valid:
Sysctls
yang dimulai dengan"net.*"
Semua nilai ini didukung oleh Fargate.
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 memerlukanstdin
atautty
dialokasikan. Parameter ini memetakan keOpenStdin
dalam perintah docker create-container dan opsi--interactive
untuk docker run.Default-nya adalah
false
.
Terminal semu
pseudoTerminal
-
Tipe: Boolean
Wajib: Tidak
Ketika parameter ini
true
, a TTY dialokasikan. Parameter ini memetakan keTty
dalam perintah docker create-container dan opsi todocker run.--tty
Default-nya adalah
false
.
Nama akselerator Elastic Inference
catatan
Mulai 15 April 2023, tidak AWS akan memasukkan pelanggan baru ke Amazon Elastic Inference (EI), dan akan membantu pelanggan saat ini memigrasikan beban kerja mereka ke opsi yang menawarkan harga dan kinerja yang lebih baik. Setelah 15 April 2023, pelanggan baru tidak akan dapat meluncurkan instans dengan akselerator Amazon EI di Amazon, Amazon, ECS atau SageMaker Amazon. EC2 Namun, pelanggan yang telah menggunakan Amazon EI setidaknya sekali selama periode 30 hari terakhir dianggap sebagai pelanggan saat ini dan akan dapat terus menggunakan layanan ini.
Persyaratan sumber daya akselerator Elastic Inference untuk definisi tugas Anda. Untuk informasi lebih lanjut, lihat Apa itu Amazon Elastic Inference? di Panduan Pengembang Amazon Elastic Inference.
Parameter berikut diizinkan dalam definisi tugas:
deviceName
-
Tipe: String
Diperlukan: Ya
Nama perangkat akselerator Elastic Inference. Itu juga
deviceName
harus 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.
Jika Anda menggunakan tipe peluncuran Fargate, batasan penempatan tugas tidak didukung. Secara default, tugas Fargate tersebar di Availability Zone.
Untuk tugas yang menggunakan tipe EC2 peluncuran, Anda dapat menggunakan batasan untuk menempatkan tugas berdasarkan Availability Zone, tipe instance, atau atribut kustom. Untuk informasi selengkapnya, lihat Tentukan instance kontainer mana yang ECS digunakan Amazon untuk tugas.
Parameter berikut diizinkan dalam ketentuan kontainer:
expression
-
Tipe: String
Wajib: Tidak
Ekspresi bahasa kueri klaster yang akan diterapkan pada batasan. Untuk informasi selengkapnya, lihat Buat ekspresi untuk menentukan instance kontainer untuk tugas Amazon ECS.
type
-
Tipe: String
Diperlukan: Ya
Tipe batasan. Gunakan
memberOf
untuk membatasi pemilihan ke grup kandidat yang valid.
Konfigurasi proxy
proxyConfiguration
-
Tipe: Objek ProxyConfiguration
Wajib: Tidak
Detail konfigurasi untuk proxy App Mesh.
Untuk tugas yang menggunakan tipe EC2 peluncuran, instance container memerlukan setidaknya versi 1.26.0 dari agen kontainer dan setidaknya versi 1.26.0-1
ecs-init
paket untuk mengaktifkan konfigurasi proxy. Jika instans penampung Anda diluncurkan dari AMI versi yang ECS dioptimalkan Amazon20190301
atau yang lebih baru, maka instans tersebut berisi versi yang diperlukan dari agen penampung dan.ecs-init
Untuk informasi selengkapnya, lihat Linux yang ECS dioptimalkan Amazon AMIs.Untuk tugas yang menggunakan tipe peluncuran Fargate, fitur ini mengharuskan tugas atau layanan menggunakan platform versi 1.3.0 atau yang lebih baru.
catatan
Parameter ini tidak didukung untuk kontainer Windows.
"proxyConfiguration": { "type": "APPMESH", "containerName": "
string
", "properties": [ { "name": "string
", "value": "string
" } ] }type
-
Tipe: String
Nilai nilai:
APPMESH
Wajib: Tidak
Tipe proxy. Satu-satunya nilai yang didukung adalah
APPMESH
. containerName
-
Tipe: String
Diperlukan: Ya
Nama wadah yang berfungsi sebagai proxy App Mesh.
properties
-
Tipe: Array objek KeyValuePair
Wajib: Tidak
Kumpulan parameter konfigurasi jaringan untuk menyediakan plugin Container Network Interface (CNI), yang ditentukan sebagai pasangan kunci-nilai.
-
IgnoredUID
— (Wajib) ID pengguna (UID) dari wadah proxy sebagaimana didefinisikan olehuser
parameter dalam definisi kontainer. Ini digunakan untuk memastikan bahwa proksi mengabaikan lalu lintasnya sendiri. JikaIgnoredGID
ditentukan, bidang ini tidak boleh kosong. -
IgnoredGID
— (Wajib) ID grup (GID) dari wadah proxy sebagaimana didefinisikan olehuser
parameter dalam definisi kontainer. Ini digunakan untuk memastikan bahwa proksi mengabaikan lalu lintasnya sendiri. JikaIgnoredUID
ditentukan, bidang ini tidak boleh kosong. -
AppPorts
— (Wajib) Daftar port yang digunakan aplikasi. Lalu lintas jaringan ke port ini diteruskan keProxyIngressPort
danProxyEgressPort
. -
ProxyIngressPort
— (Wajib) Menentukan port yang lalu lintas masuk keAppPorts
diarahkan. -
ProxyEgressPort
— (Wajib) Menentukan port yang lalu lintas keluar dariAppPorts
diarahkan ke. -
EgressIgnoredPorts
— (Wajib) Lalu lintas keluar yang menuju ke port yang ditentukan ini diabaikan dan tidak dialihkan ke port.ProxyEgressPort
Ia bisa berupa daftar kosong. -
EgressIgnoredIPs
— (Wajib) Lalu lintas keluar yang menuju ke alamat IP yang ditentukan ini diabaikan dan tidak dialihkan ke.ProxyEgressPort
Ia bisa berupa daftar kosong.
name
-
Tipe: String
Wajib: Tidak
Nama pasangan nilai kunci.
value
-
Tipe: String
Wajib: Tidak
Nilai pasangan nilai kunci.
-
Volume
Saat Anda mendaftarkan definisi tugas, Anda dapat secara opsional menentukan daftar volume yang akan diteruskan ke Docker daemon pada instance container, yang kemudian tersedia untuk diakses oleh container lain pada instance container yang sama.
Berikut ini adalah jenis volume data yang dapat digunakan:
-
EBSVolume Amazon - Menyediakan penyimpanan blok yang hemat biaya, tahan lama, dan berkinerja tinggi untuk beban kerja kontainer intensif data. Anda dapat melampirkan 1 EBS volume Amazon per ECS tugas Amazon saat menjalankan tugas mandiri, atau saat membuat atau memperbarui layanan. EBSVolume Amazon didukung untuk tugas Linux yang dihosting di instance Fargate atau AmazonEC2. Untuk informasi selengkapnya, lihat Gunakan EBS volume Amazon dengan Amazon ECS.
-
EFSVolume Amazon - Menyediakan penyimpanan file yang sederhana, terukur, dan persisten untuk digunakan dengan ECS tugas Amazon Anda. Dengan AmazonEFS, kapasitas penyimpanannya 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. EFSVolume Amazon didukung untuk tugas yang di-host di instance Fargate atau AmazonEC2. Untuk informasi selengkapnya, lihat Gunakan EFS volume Amazon dengan Amazon ECS.
-
FSxuntuk 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 AmazonECS, 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/volumes
Amazon host. EC2 Driver volume Docker (juga disebut sebagai plugin) digunakan untuk mengintegrasikan volume dengan sistem penyimpanan eksternal, seperti Amazon. EBS Built-in driver volumelocal
atau driver volume pihak ke tiga dapat digunakan. Volume Docker hanya didukung saat menjalankan tugas di EC2 instans Amazon. Wadah Windows hanya mendukung penggunaanlocal
driver. Untuk menggunakan volume Docker, tentukandockerVolumeConfiguration
dalam ketentuan tugas Anda. -
Bind mount — File atau direktori pada mesin host yang dipasang ke dalam wadah. Volume host mount bind didukung saat menjalankan tugas di instance AWS Fargate atau AmazonEC2. Untuk menggunakan volume host bind mount, tentukan
sourcePath
nilaihost
dan opsional dalam definisi tugas Anda.
Untuk informasi selengkapnya, lihat Opsi penyimpanan untuk ECS tugas Amazon.
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 dalamsourceVolume
parametermountPoints
objek definisi kontainer. host
-
Wajib: Tidak
host
Parameter ini digunakan untuk mengikat siklus hidup bind mount ke EC2 instance Amazon host, bukan tugas, dan tempat penyimpanannya. Jikahost
parameternya 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
sourcePath
Parameter hanya didukung saat menggunakan tugas yang di-host di EC2 instans Amazon.sourcePath
-
Tipe: String
Wajib: Tidak
Saat
host
parameter digunakan, tentukan asourcePath
untuk mendeklarasikan jalur pada EC2 instance Amazon host yang disajikan ke wadah. Jika parameter ini kosong, daemon Docker akan menetapkan jalur host untuk Anda. Jikahost
parameter berisi lokasisourcePath
file, maka volume data tetap ada di lokasi yang ditentukan pada EC2 instance Amazon host hingga Anda menghapusnya secara manual. JikasourcePath
nilai 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 diaturtrue
untuk mengonfigurasi EBS volume Amazon untuk lampiran ke tugas. MenyetelconfiguredAtLaunch
ketrue
dan 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 EBSVolume Amazon. 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
local
driver. Untuk menggunakan pemasangan mengikat, tentukanhost
saja.scope
-
Tipe: String
Nilai Valid:
task
|shared
Wajib: Tidak
Cakupan untuk volume Docker, yang menentukan siklus hidupnya. Volume Docker yang tercakup ke
task
secara otomatis disediakan saat tugas dimulai dan dihancurkan saat tugas berhenti. Volume Docker yang tercakup sebagaishared
dipertahankan setelah tugas berhenti. autoprovision
-
Jenis: Boolean
Nilai default:
false
Wajib: Tidak
Jika nilai ini
true
, volume Docker dibuat jika belum ada. Bidang ini hanya digunakan jikascope
adashared
. Jikascope
yatask
, maka parameter ini harus dihilangkan. driver
-
Tipe: String
Wajib: Tidak
Driver volume Docker yang digunakan. Nilai driver harus sesuai dengan nama driver yang disediakan oleh Docker karena nama ini digunakan untuk penempatan tugas. Jika driver diinstal dengan menggunakan plugin DockerCLI, gunakan
docker plugin ls
untuk mengambil nama driver dari instance container Anda. Jika driver diinstal dengan menggunakan metode lain, gunakan penemuan plugin Docker untuk mengambil nama driver. driverOpts
-
Tipe: String
Wajib: Tidak
Peta opsi khusus driver Docker untuk dilewati. Parameter ini dipetakan ke
DriverOpts
bagian Create a volume dari Docker. labels
-
Tipe: String
Wajib: Tidak
Metadata kustom untuk ditambahkan ke volume Docker.
efsVolumeConfiguration
-
Jenis: EFSVolumeConfigurationObjek
Wajib: Tidak
Parameter ini ditentukan saat menggunakan EFS volume Amazon.
fileSystemId
-
Tipe: String
Diperlukan: Ya
ID sistem EFS file Amazon untuk digunakan.
rootDirectory
-
Tipe: String
Wajib: Tidak
Direktori dalam sistem EFS file Amazon untuk dipasang sebagai direktori root di dalam host. Jika parameter ini dihilangkan, root EFS volume Amazon akan digunakan. Menentukan
/
memiliki efek yang sama seperti mengabaikan parameter ini.penting
Jika titik EFS akses ditentukan dalam
authorizationConfig
, parameter direktori root harus dihilangkan atau disetel ke/
, yang akan memberlakukan jalur yang ditetapkan pada titik akses. EFS transitEncryption
-
Tipe: String
Nilai yang valid:
ENABLED
|DISABLED
Wajib: Tidak
Menentukan apakah akan mengaktifkan enkripsi untuk EFS data Amazon dalam perjalanan antara ECS host Amazon dan EFS server Amazon. Jika EFS IAM otorisasi Amazon digunakan, enkripsi transit harus diaktifkan. Jika parameter ini diabaikan, nilai default
DISABLED
akan digunakan. Untuk informasi lebih lanjut, lihat Pengenkripsian Data Saat Transit di Panduan Pengguna Amazon Elastic File System. transitEncryptionPort
-
Tipe: Integer
Wajib: Tidak
Port yang digunakan saat mengirim data terenkripsi antara ECS host Amazon dan server AmazonEFS. Jika Anda tidak menentukan port enkripsi transit, tugas akan menggunakan strategi pemilihan port yang digunakan Amazon EFS mount helper. Untuk informasi selengkapnya, lihat EFSMount Helper di Panduan Pengguna Amazon Elastic File System.
authorizationConfig
-
Jenis: EFSAuthorizationConfigurationObjek
Wajib: Tidak
Detail konfigurasi otorisasi untuk sistem EFS file Amazon.
accessPointId
-
Tipe: String
Wajib: Tidak
ID titik akses yang akan digunakan. Jika titik akses ditentukan, nilai direktori root di dalam
efsVolumeConfiguration
harus dihilangkan atau disetel ke/
, yang akan memberlakukan jalur yang ditetapkan pada titik akses. EFS Jika titik akses digunakan, enkripsi transit harus diaktifkan diEFSVolumeConfiguration
. Untuk informasi selengkapnya, lihat Bekerja dengan Amazon EFS Access Points di Panduan Pengguna Amazon Elastic File System. iam
-
Tipe: String
Nilai yang valid:
ENABLED
|DISABLED
Wajib: Tidak
Menentukan apakah akan menggunakan IAM peran ECS tugas Amazon yang ditentukan dalam definisi tugas saat memasang sistem EFS file Amazon. Jika diaktifkan, enkripsi transit harus diaktifkan di
EFSVolumeConfiguration
. Jika parameter ini diabaikan, nilai defaultDISABLED
akan digunakan. Untuk informasi selengkapnya, lihat IAMPeran untuk 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:
Amazon Resource Name (ARN) dari sebuah AWS Secrets Managerrahasia.
ARN dari parameter AWS Systems Manager.
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 ECS konsol Amazon dengan menggunakan JSON opsi Configure via. Untuk informasi selengkapnya, lihat Membuat definisi ECS tugas Amazon menggunakan konsol.
Penyimpanan sementara
ephemeralStorage
-
Tipe: Objek EphemeralStorage
Wajib: Tidak
Jumlah penyimpanan sementara (dalam GB) untuk dialokasikan untuk tugas tersebut. Parameter ini digunakan untuk memperluas jumlah total penyimpanan sementara yang tersedia, di luar jumlah default, untuk tugas yang di-host. AWS Fargate Untuk informasi selengkapnya, lihat Gunakan bind mount dengan Amazon ECS.
catatan
Parameter ini hanya didukung untuk tugas-tugas yang di-host AWS Fargate menggunakan versi platform
1.4.0
atau yang lebih baru (Linux)1.0.0
atau yang lebih baru (Windows).
IPCmodus
ipcMode
-
Tipe: String
Wajib: Tidak
Namespace IPC sumber daya yang akan digunakan untuk kontainer dalam tugas. Nilai yang valid adalah
host
,task
, ataunone
. Jikahost
ditentukan, maka semua kontainer yang berada dalam tugas yang menentukanhost
IPC mode pada instance kontainer yang sama berbagi IPC sumber daya yang sama dengan EC2 instance Amazon host. Jikatask
ditentukan, semua kontainer yang berada dalam tugas yang ditentukan berbagi IPC sumber daya yang sama. Jikanone
ditentukan, maka IPC sumber daya dalam wadah tugas bersifat pribadi dan tidak dibagikan dengan wadah lain dalam tugas atau pada instance kontainer. Jika tidak ada nilai yang ditentukan, maka berbagi namespace IPC sumber daya bergantung pada pengaturan daemon Docker pada instance container.Jika
host
IPC mode digunakan, ada risiko tinggi eksposur namespace yang tidak diinginkanIPC.Jika Anda menyetel parameter kernel namespace yang digunakan
systemControls
untuk kontainer dalam tugas, berikut ini berlaku untuk namespace sumber daya AndaIPC.-
Untuk tugas yang menggunakan
host
IPC mode, IPC namespace yang terkaitsystemControls
tidak didukung. -
Untuk tugas yang menggunakan
task
IPC mode,systemControls
yang berhubungan dengan IPC namespace berlaku untuk semua kontainer dalam tugas.
-
catatan
Parameter ini tidak didukung untuk wadah atau tugas Windows menggunakan tipe peluncuran Fargate.
PIDmodus
pidMode
-
Tipe: String
Nilai Valid:
host
|task
Wajib: Tidak
Namspace proses yang akan digunakan untuk kontainer dalam tugas. Nilai yang valid adalah
host
atautask
. Pada Fargate untuk wadah Linux, satu-satunya nilai yang valid adalah.task
Misalnya, pemantauan sidecar mungkinpidMode
perlu mengakses informasi tentang kontainer lain yang berjalan dalam tugas yang sama.Jika
host
ditentukan, semua kontainer dalam tugas yang menentukanhost
PID mode pada instance container yang sama berbagi namespace proses yang sama dengan instance Amazon EC2 host.Jika
task
ditentukan, semua kontainer dalam tugas tertentu berbagi namespace proses yang sama.Jika tidak ada nilai yang ditentukan, defaultnya adalah namespace pribadi untuk setiap kontainer.
Jika
host
PID mode digunakan, ada risiko tinggi eksposur namespace proses yang tidak diinginkan.
catatan
Parameter ini tidak didukung untuk kontainer Windows.
catatan
Parameter ini hanya didukung untuk tugas yang di-host AWS Fargate jika tugas menggunakan versi platform 1.4.0
atau yang lebih baru (Linux). Ini tidak didukung untuk wadah Windows di Fargate.