View a markdown version of this page

Tentukan konfigurasi volume Amazon EBS pada penerapan Amazon ECS - Amazon Elastic Container Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Tentukan konfigurasi volume Amazon EBS pada penerapan Amazon ECS

Setelah mendaftarkan definisi tugas dengan configuredAtLaunch parameter disetel ketrue, Anda dapat mengonfigurasi volume Amazon EBS saat penerapan saat menjalankan tugas mandiri, atau saat Anda membuat atau memperbarui layanan. Untuk informasi selengkapnya tentang menunda konfigurasi volume ke waktu peluncuran menggunakan configuredAtLaunch parameter, lihatMenunda konfigurasi volume untuk waktu peluncuran dalam definisi tugas Amazon ECS.

Untuk mengonfigurasi volume, Anda dapat menggunakan Amazon ECS API, atau Anda dapat meneruskan file JSON sebagai input untuk AWS CLI perintah berikut:

  • run-taskuntuk menjalankan tugas ECS mandiri.

  • start-taskuntuk menjalankan tugas ECS mandiri dalam instance kontainer tertentu. Perintah ini tidak berlaku untuk tugas Fargate.

  • create-serviceuntuk membuat layanan ECS baru.

  • update-serviceuntuk memperbarui layanan yang ada.

catatan

Agar wadah dalam tugas Anda dapat menulis ke volume Amazon EBS yang terpasang, wadah harus memiliki izin sistem file yang sesuai. Saat Anda menentukan pengguna non-root dalam definisi wadah Anda, Amazon ECS secara otomatis mengonfigurasi volume dengan izin berbasis grup yang memungkinkan pengguna yang ditentukan untuk membaca dan menulis ke volume. Jika tidak ada pengguna yang ditentukan, wadah berjalan sebagai root dan memiliki akses penuh ke volume.

Anda juga dapat mengonfigurasi volume Amazon EBS dengan menggunakan. Konsol Manajemen AWS Lihat informasi selengkapnya di Menjalankan aplikasi sebagai tugas Amazon ECS, Membuat penerapan pembaruan bergulir Amazon ECS, dan Memperbarui layanan Amazon ECS.

Cuplikan JSON berikut menunjukkan semua parameter volume Amazon EBS yang dapat dikonfigurasi saat penerapan. Untuk menggunakan parameter ini untuk konfigurasi volume, ganti user input placeholders dengan informasi Anda sendiri. Untuk informasi selengkapnya tentang parameter ini, lihat Konfigurasi volume.

"volumeConfigurations": [ { "name": "ebs-volume", "managedEBSVolume": { "encrypted": true, "kmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "volumeType": "gp3", "sizeInGiB": 10, "snapshotId": "snap-12345", "volumeInitializationRate":100, "iops": 3000, "throughput": 125, "tagSpecifications": [ { "resourceType": "volume", "tags": [ { "key": "key1", "value": "value1" } ], "propagateTags": "NONE" } ], "roleArn": "arn:aws:iam::1111222333:role/ecsInfrastructureRole", "terminationPolicy": { "deleteOnTermination": true//can't be configured for service-managed tasks, always true }, "filesystemType": "ext4" } } ]
penting

Pastikan bahwa yang volumeName Anda tentukan dalam konfigurasi sama dengan yang volumeName Anda tentukan dalam definisi tugas Anda.

Untuk informasi tentang memeriksa status lampiran volume, lihatMemecahkan masalah lampiran volume Amazon EBS ke tugas Amazon ECS. Untuk informasi tentang peran infrastruktur Amazon ECS AWS Identity and Access Management (IAM) yang diperlukan untuk lampiran volume EBS, lihat. Peran IAM Infrastruktur Amazon ECS

Berikut ini adalah contoh cuplikan JSON yang menunjukkan konfigurasi volume Amazon EBS. Contoh-contoh ini dapat digunakan dengan menyimpan cuplikan dalam file JSON dan meneruskan file sebagai parameter (menggunakan --cli-input-json file://filename parameter) untuk AWS CLI perintah. Ganti user input placeholders dengan informasi Anda sendiri.

Mengkonfigurasi volume untuk tugas mandiri

Cuplikan berikut menunjukkan sintaks untuk mengonfigurasi volume Amazon EBS untuk lampiran pada tugas mandiri. Cuplikan JSON berikut menunjukkan sintaks untuk mengonfigurasivolumeType,sizeInGiB,encrypted, dan kmsKeyId pengaturan. Konfigurasi yang ditentukan dalam file JSON digunakan untuk membuat dan melampirkan volume EBS ke tugas mandiri.

{ "cluster": "mycluster", "taskDefinition": "mytaskdef", "volumeConfigurations": [ { "name": "datadir", "managedEBSVolume": { "volumeType": "gp3", "sizeInGiB": 100, "roleArn":"arn:aws:iam::1111222333:role/ecsInfrastructureRole", "encrypted": true, "kmsKeyId": "arn:aws:kms:region:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } } ] }

Konfigurasikan volume pada pembuatan layanan

Cuplikan berikut menunjukkan sintaks untuk mengonfigurasi volume Amazon EBS untuk lampiran pada tugas yang dikelola oleh layanan. Volume bersumber dari snapshot yang ditentukan menggunakan snapshotId parameter pada tingkat 200 MiB/s. Konfigurasi yang ditentukan dalam file JSON digunakan untuk membuat dan melampirkan volume EBS ke setiap tugas yang dikelola oleh layanan.

{ "cluster": "mycluster", "taskDefinition": "mytaskdef", "serviceName": "mysvc", "desiredCount": 2, "volumeConfigurations": [ { "name": "myEbsVolume", "managedEBSVolume": { "roleArn":"arn:aws:iam::1111222333:role/ecsInfrastructureRole", "snapshotId": "snap-12345", "volumeInitializationRate": 200 } } ] }

Konfigurasikan volume pada pembaruan layanan

Cuplikan JSON berikut menunjukkan sintaks untuk memperbarui layanan yang sebelumnya tidak memiliki volume Amazon EBS yang dikonfigurasi untuk lampiran tugas. Anda harus memberikan ARN dari revisi definisi tugas dengan diset configuredAtLaunch el ketrue. Cuplikan JSON berikut menunjukkan sintaks untuk mengonfigurasi filesystemType pengaturan volumeType sizeInGiBthroughput,iops,, dan. Konfigurasi ini digunakan untuk membuat dan melampirkan volume EBS ke setiap tugas yang dikelola oleh layanan.

{ "cluster": "mycluster", "taskDefinition": "mytaskdef", "service": "mysvc", "desiredCount": 2, "volumeConfigurations": [ { "name": "myEbsVolume", "managedEBSVolume": { "roleArn":"arn:aws:iam::1111222333:role/ecsInfrastructureRole", "volumeType": "gp3", "sizeInGiB": 100, "iops": 3000, "throughput": 125, "filesystemType": "ext4" } } ] }

Mengkonfigurasi layanan agar tidak lagi menggunakan volume Amazon EBS

Cuplikan JSON berikut menunjukkan sintaks untuk memperbarui layanan agar tidak lagi menggunakan volume Amazon EBS. Anda harus memberikan ARN dari definisi tugas dengan configuredAtLaunch set tofalse, atau definisi tugas tanpa configuredAtLaunch parameter. Anda juga harus memberikan volumeConfigurations objek kosong.

{ "cluster": "mycluster", "taskDefinition": "mytaskdef", "service": "mysvc", "desiredCount": 2, "volumeConfigurations": [] }

Kebijakan penghentian untuk volume Amazon EBS

Saat tugas Amazon ECS berakhir, Amazon ECS menggunakan deleteOnTermination nilai tersebut untuk menentukan apakah volume Amazon EBS yang terkait dengan tugas yang dihentikan harus dihapus. Secara default, volume EBS yang dilampirkan ke tugas dihapus saat tugas dihentikan. Untuk tugas mandiri, Anda dapat mengubah pengaturan ini untuk mempertahankan volume setelah penghentian tugas.

catatan

Volume yang dilampirkan ke tugas yang dikelola oleh layanan tidak dipertahankan dan selalu dihapus setelah penghentian tugas.

Menandai volume Amazon EBS

Anda dapat menandai volume Amazon EBS dengan menggunakan tagSpecifications objek. Dengan menggunakan objek, Anda dapat menyediakan tag Anda sendiri dan mengatur propagasi tag dari definisi tugas atau layanan, tergantung pada apakah volume dilampirkan ke tugas mandiri atau tugas dalam layanan. Jumlah maksimum tag yang dapat dilampirkan ke volume adalah 50.

penting

Amazon ECS secara otomatis melampirkan tag yang dikhususkan untuk AmazonECSCreated dan AmazonECSManaged ke volume Amazon EBS. Ini berarti Anda dapat mengontrol lampiran maksimum 48 tag tambahan ke volume. Tag tambahan ini dapat berupa tag yang ditentukan pengguna, ECS-managed, atau yang disebarkan.

Jika Anda ingin menambahkan ECS-managed tag Amazon ke volume Anda, Anda harus menyet enableECSManagedTags el ke true dalamUpdateService,CreateService, RunTask atau StartTask panggilan. Jika Anda mengaktifkan ECS-managed tag Amazon, Amazon ECS akan menandai volume secara otomatis dengan informasi cluster dan layanan (aws:ecs:clusterNamedanaws:ecs:serviceName). Untuk informasi selengkapnya tentang menandai sumber daya Amazon ECS, lihat Menandai sumber daya Amazon ECS Anda.

Cuplikan JSON berikut menunjukkan sintaks untuk menandai setiap volume Amazon EBS yang dilampirkan ke setiap tugas dalam layanan dengan tag yang ditentukan pengguna. Untuk menggunakan contoh ini untuk membuat layanan, ganti user input placeholders dengan informasi Anda sendiri.

{ "cluster": "mycluster", "taskDefinition": "mytaskdef", "serviceName": "mysvc", "desiredCount": 2, "enableECSManagedTags": true, "volumeConfigurations": [ { "name": "datadir", "managedEBSVolume": { "volumeType": "gp3", "sizeInGiB": 100, "tagSpecifications": [ { "resourceType": "volume", "tags": [ { "key": "key1", "value": "value1" } ], "propagateTags": "NONE" } ], "roleArn":"arn:aws:iam:1111222333:role/ecsInfrastructureRole", "encrypted": true, "kmsKeyId": "arn:aws:kms:region:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } } ] }
penting

Anda harus menentukan jenis sumber volume daya untuk menandai volume Amazon EBS.