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 yang disetel ketrue, Anda dapat mengonfigurasi volume Amazon EBS saat penerapan saat menjalankan tugas mandiri, atau saat membuat atau memperbarui layanan.

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

  • run-taskuntuk menjalankan tugas ECS mandiri.

  • start-taskuntuk menjalankan tugas ECS mandiri dalam instance kontainer tertentu. Perintah ini tidak berlaku untuk tugas jenis peluncuran 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 dipasang, Anda harus menjalankan penampung sebagai pengguna root.

Anda juga dapat mengonfigurasi volume Amazon EBS dengan menggunakan file. AWS Management Console Lihat informasi selengkapnya di Menjalankan aplikasi sebagai tugas Amazon ECS, Membuat layanan Amazon ECS menggunakan konsol, 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 perintah. AWS CLI Ganti user input placeholders dengan informasi Anda sendiri.

Konfigurasikan volume untuk tugas mandiri

Cuplikan berikut menunjukkan sintaks untuk mengonfigurasi volume Amazon EBS untuk lampiran ke tugas mandiri. Cuplikan JSON berikut menunjukkan sintaks untuk mengkonfigurasivolumeType,,, sizeInGiB dan pengaturan. encrypted kmsKeyId 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 ke 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 ke tugas. Anda harus memberikan ARN dari revisi definisi tugas dengan configuredAtLaunch set to. true Cuplikan JSON berikut menunjukkan sintaks untuk mengkonfigurasivolumeType,,, dan sizeInGiBthroughput, dan pengaturan. iops filesystemType 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" } } ] }

Konfigurasikan 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 definisi tugas dengan configuredAtLaunch set tofalse, atau definisi tugas tanpa parameter. configuredAtLaunch Anda juga harus menyediakan volumeConfigurations objek kosong.

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

Kebijakan penghentian untuk volume Amazon EBS

Saat tugas Amazon ECS dihentikan, Amazon ECS menggunakan deleteOnTermination nilainya 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 setelan ini untuk mempertahankan volume saat penghentian tugas.

catatan

Volume yang dilampirkan ke tugas yang dikelola oleh layanan tidak dipertahankan dan selalu dihapus pada saat pemutusan tugas.

Tandai volume Amazon EBS

Anda dapat menandai volume Amazon EBS dengan menggunakan tagSpecifications objek. Menggunakan objek, Anda dapat memberikan 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 AmazonECSCreated dan AmazonECSManaged cadangan ke volume Amazon EBS. Ini berarti Anda dapat mengontrol lampiran maksimal 48 tag tambahan ke volume. Tag tambahan ini dapat berupa tag yang ditentukan pengguna, dikelola ECS, atau disebarkan.

Jika Anda ingin menambahkan tag Amazon ECS yang dikelola ke volume Anda, Anda harus menyetel enableECSManagedTags ke true dalamUpdateService,CreateService, RunTask atau StartTask panggilan. Jika Anda mengaktifkan tag yang dikelola Amazon ECS, Amazon ECS akan menandai volume secara otomatis dengan informasi kluster dan layanan (aws:ecs:clusterNamedan). aws: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 volume sumber daya untuk menandai volume Amazon EBS.