Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pertimbangan ketentuan tugas Fargate
Tugas yang menggunakan tipe peluncuran Fargate tidak mendukung semua parameter ketentuan tugas Amazon ECS yang tersedia. Beberapa parameter tidak didukung sama sekali, dan parameter lainnya memiliki perilaku yang berbeda untuk tugas Fargate.
Parameter definisi tugas berikut ini tidak valid di tugas Fargate:
-
devices
-
disableNetworking
-
dnsSearchDomains
-
dnsServers
-
dockerSecurityOptions
-
dockerVolumeConfiguration
-
extraHosts
-
host
-
hostname
-
links
-
placementConstraints
— Secara default, tugas Fargate tersebar di beberapa Availability Zone. -
privileged
-
sharedMemorySize
-
tmpfs
Jika salah satu parameter ketentuan tugas tidak didukung, subflag untuk parameter tersebut kemungkinan besar juga tidak didukung.
Parameter ketentuan tugas berikut berperilaku berbeda untuk tugas Fargate:
-
Saat menggunakan
logConfiguration
, driver log yang didukung untuk tugas Fargate adalahawslogs
,splunk
, danawsfirelens
log driver.Tugas Windows tidak mendukung driver
awsfirelens
log. -
Saat menggunakan
linuxParameters
untukcapabilities
, parameterdrop
dapat digunakan, tetapi parameteradd
tidak didukung. -
healthCheck
Parameter hanya didukung untuk tugas Fargate yang menggunakan platform versi 1.1.0 atau yang lebih baru. -
Jika Anda menggunakan
portMappings
parameter, tentukancontainerPort
saja. Anda dapat tetaphostPort
kosong atau mengaturnya ke nilai yang sama seperticontainerPort
. -
operatingSystemFamily
Parameter diperlukan untuk tugas-tugas yang berjalan pada kontainer Linux dan kontainer Windows.
Untuk memastikan bahwa ketentuan tugas Anda valid untuk digunakan dengan tipe peluncuran Fargate, Anda dapat menentukan hal berikut saat mendaftarkan ketentuan tugas:
-
Pada AWS Management Console, untuk bidang Memerlukan kompatibilitas, tentukan FARGATE.
-
Pada AWS CLI, untuk opsi
--requires-compatibilities
, tentukanFARGATE
. -
Pada API, tentukan bendera
requiresCompatibilities
.
Mode jaringan
Ketentuan tugas Fargate mengharuskan mode jaringan diatur keawsvpc
. Mode jaringan awsvpc
menyediakan setiap tugas dengan antarmuka jaringan elastisnya sendiri. Konfigurasi jaringan juga diperlukan ketika membuat layanan atau menjalankan tugas secara manual. Untuk informasi selengkapnya, lihat Fargate Task Networking di Panduan Pengguna Amazon Elastic Container Service untukAWS Fargate.
Tugas CPU dan memori
Untuk ketentuan tugas Fargate, Anda diminta untuk menentukan CPU dan memori pada tingkat tugas. Anda juga dapat menentukan CPU dan memori pada tingkat kontainer untuk tugas Fargate. Namun, melakukan hal itu tidak diperlukan. Untuk sebagian besar kasus penggunaan, Anda dapat menentukan sumber daya ini pada tingkat tugas saja. Tabel berikut menunjukkan kombinasi yang valid dari tingkat tugas CPU dan memori.
Nilai CPU |
Nilai memori |
Sistem operasi yang didukung untukAWS Fargate |
---|---|---|
256 (.25 vCPU) |
512 MiB, 1 GB |
Linux |
512 (.5 vCPU) |
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 kenaikan 1 GB |
Linux, Windows |
4096 (4 vCPU) |
Antara 8 GB dan 30 GB dalam kenaikan 1 GB |
Linux, Windows |
8192 (8 vCPU) Opsi ini membutuhkan platform Linux |
Antara 16 GB dan 60 GB dalam peningkatan 4 GB |
Linux |
16384 (16vCPU) Opsi ini membutuhkan platform Linux |
Antara 32 GB dan 120 GB dalam peningkatan 8 GB |
Linux |
Mencatat
Definisi tugas Fargate mendukungawslogs
,splunk
danawsfirelens
log driver hanya untuk konfigurasi log. Kode berikut menunjukkan potongan ketentuan tugas tempat driver pencatatan awslogs
dikonfigurasi:
"logConfiguration": { "logDriver": "
awslogs
", "options": { "awslogs-group" : "/ecs/fargate-task-definition
", "awslogs-region": "us-east-1
", "awslogs-stream-prefix": "ecs
" }
Untuk informasi selengkapnya tentang bagaimana Anda dapat menggunakan driverawslogs
log dalam definisi tugas untuk mengirim log kontainer Anda ke CloudWatch Log, lihatMenggunakan driver log awslogs.
Untuk informasi selengkapnya tentang penggunaan driver pencatatan awsfirelens
dalam ketentuan tugas, lihat Perutean log kustom.
Peran IAM Eksekusi tugas Amazon ECS
Anda dapat menentukan peran IAM eksekusi tugas opsional dengan Fargate untuk memungkinkan tugas Fargate Anda melakukan panggilan API ke Amazon ECR. API memanggil gambar kontainer tarik. Mereka juga memanggil CloudWatch untuk menyimpan log aplikasi kontainer. Untuk informasi selengkapnya, lihat Peran IAM eksekusi tugas ECS.
Contoh ketentuan tugas
Berikut ini adalah contoh ketentuan tugas yang menggunakan kontainer Linux pada tipe peluncuran Fargate untuk mengatur server web:
{ "containerDefinitions": [ { "command": [ "/bin/sh -c \"echo '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p> </div></body></html>' > /usr/local/apache2/htdocs/index.html && httpd-foreground\"" ], "entryPoint": [ "sh", "-c" ], "essential": true, "image": "httpd:2.4", "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group" : "/ecs/fargate-task-definition", "awslogs-region": "us-east-1", "awslogs-stream-prefix": "ecs" } }, "name": "sample-fargate-app", "portMappings": [ { "containerPort": 80, "hostPort": 80, "protocol": "tcp" } ] } ], "cpu": "256", "executionRoleArn": "arn:aws:iam::
012345678910
:role/ecsTaskExecutionRole", "family": "fargate-task-definition", "memory": "512", "networkMode": "awsvpc", "runtimePlatform": { "operatingSystemFamily": "LINUX" }, "requiresCompatibilities": [ "FARGATE" ] }
Penyimpanan tugas
Untuk tugas Amazon ECS di Fargate, jenis penyimpanan berikut didukung:
-
Amazon EFS untuk penyimpanan tetap. Untuk informasi selengkapnya, lihat Volume Amazon EFS.
-
Penyimpanan sementara untuk penyimpanan nonpersistent.
Ketika disediakan, setiap tugas Amazon ECS yang di-hosting di Fargate menerima penyimpanan sementara berikut. Konfigurasi penyimpanan sementara tergantung pada versi platform yang digunakan tugas. Setelah tugas Fargate berhenti, penyimpanan fana akan dihapus. Untuk informasi lebih lanjut tentang batas standar Amazon ECS, lihatKuota layanan Amazon ECS.
sourcePath
Parameterhost
dan tidak didukung untuk tugas Fargate.
Versi platform Fargate Linux
Tugas Fargate menggunakan platform 1.4.0 atau yang lebih baru
Semua tugas Amazon ECS di Fargate menggunakan versi1.4.0
1.000 GiB atau yang lebih baru menerima minimal 20 GiB penyimpanan sementara. Citra kontainer yang ditarik, dikompresi, dan tidak dikompresi untuk tugas disimpan di penyimpanan sementara. Untuk menentukan jumlah total penyimpanan sementara yang harus digunakan tugas Anda, Anda harus mengurangi jumlah penyimpanan yang digunakan citra kontainer Anda dari jumlah total.
Untuk tugas yang menggunakan versi platform1.4.0
atau versi lebih baru yang diluncurkan pada 28 Mei 2020 atau yang lebih baru, penyimpanan sementara dienkripsi dengan algoritme enkripsi AES-256 menggunakan kunci enkripsi yangAWS Fargate dikelola -managed.
Tugas Fargate menggunakan platform 1.3.0 atau lebih lama
Untuk tugas Amazon ECS di Fargate menggunakan 1.3.0 atau lebih lama, setiap tugas menerima penyimpanan sementara berikut.
-
Penyimpanan lapisan Docker 10 GB
catatan Jumlah ini mencakup artifact citra kontainer terkompresi dan tidak terkompresi.
-
Tambahan 4 GB untuk pemasangan volume. Ini dapat dipasang dan dibagi di antara kontainer menggunakan
volumes
,mountPoints
dan parametervolumesFrom
dalam ketentuan tugas.
Versi platform Windows Fargate
Tugas Fargate menggunakan platform versi 1.0.0 atau yang lebih baru
Semua tugas Amazon ECS di Fargate menggunakan versi1.0.0
1.000 GiB atau yang lebih baru menerima minimal 20 GiB penyimpanan sementara. Citra kontainer yang ditarik, dikompresi, dan tidak dikompresi untuk tugas disimpan di penyimpanan sementara. Untuk menentukan jumlah total penyimpanan sementara yang harus digunakan tugas Anda, Anda harus mengurangi jumlah penyimpanan yang digunakan citra kontainer Anda dari jumlah total.
Contoh ketentuan tugas
Dalam contoh ini, Anda memiliki dua kontainer aplikasi yang perlu mengakses lokasi penyimpanan file scratch yang sama.
Untuk menyediakan penyimpanan kosong nonpersistent untuk kontainer dalam tugas Fargate
-
Dalam ketentuan tugas bagian
volumes
, tentukan volume dengan namaapplication_scratch
."volumes": [ { "name": "
application_scratch
", "host": {} } ] -
Di
containerDefinitions
bagian ini, buat aplikasi ketentuan kontainer sehingga mereka memasang penyimpanan nonpersistent."containerDefinitions": [ { "name": "
application1
", "image": "my-repo/application
", "cpu": 100, "memory": 100, "essential": true, "mountPoints": [ { "sourceVolume": "application_scratch
", "containerPath": "/var/scratch
" } ] }, { "name": "application2
", "image": "my-repo/application
", "cpu": 100, "memory": 100, "essential": true, "mountPoints": [ { "sourceVolume": "application_scratch
", "containerPath": "/var/scratch
" } ] } ]