Specificare la configurazione del volume Amazon EBS nella distribuzione di Amazon ECS - Amazon Elastic Container Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Specificare la configurazione del volume Amazon EBS nella distribuzione di Amazon ECS

Dopo aver registrato una definizione di attività con il configuredAtLaunch parametro impostato sutrue, puoi configurare un volume Amazon EBS durante la distribuzione quando esegui un'attività autonoma o quando crei o aggiorni un servizio.

Per configurare un volume, puoi utilizzare Amazon ECS APIs oppure puoi passare un file JSON come input per i seguenti comandi: AWS CLI

  • run-taskper eseguire un'attività ECS autonoma.

  • start-taskper eseguire un'attività ECS autonoma in un'istanza di contenitore specifica. Questo comando non è applicabile alle attività di tipo avvio di Fargate.

  • create-serviceper creare un nuovo servizio ECS.

  • update-serviceper aggiornare un servizio esistente.

Nota

Affinché un contenitore della tua attività possa scrivere sul volume Amazon EBS montato, devi eseguire il contenitore come utente root.

Puoi anche configurare un volume Amazon EBS utilizzando. AWS Management Console Per ulteriori informazioni, consulta Esecuzione di un'applicazione come attività Amazon ECS, Creazione di un servizio Amazon ECS utilizzando la console e Aggiornamento di un servizio Amazon ECS.

Il seguente frammento di codice JSON mostra tutti i parametri di un volume Amazon EBS che può essere configurato al momento della distribuzione. Per utilizzare questi parametri per la configurazione del volume, sostituiscili user input placeholders con le tue informazioni. Per ulteriori informazioni su questi parametri, consulta Configurazioni dei volumi.

"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" } } ]
Importante

Assicurati che volumeName quello specificato nella configurazione sia lo stesso volumeName specificato nella definizione dell'attività.

Per informazioni sulla verifica dello stato del volume allegato, vedereRisoluzione dei problemi relativi ai volumi Amazon EBS allegati alle attività di Amazon ECS . Per informazioni sul ruolo dell'infrastruttura Amazon ECS AWS Identity and Access Management (IAM) necessario per l'allegato del volume EBS, consulta. Ruolo IAM dell'infrastruttura Amazon ECS

Di seguito sono riportati alcuni esempi di snippet JSON che mostrano la configurazione dei volumi Amazon EBS. Questi esempi possono essere utilizzati salvando gli snippet in file JSON e passando i file come parametri (utilizzando il parametro) per i comandi. --cli-input-json file://filename AWS CLI Sostituire user input placeholders con le proprie informazioni.

Configurare un volume per un'attività autonoma

Il seguente frammento mostra la sintassi per configurare i volumi Amazon EBS per l'allegato a un'attività autonoma. Il seguente frammento di codice JSON mostra la sintassi per la configurazione di,, e impostazioni. volumeType sizeInGiB encrypted kmsKeyId La configurazione specificata nel file JSON viene utilizzata per creare e allegare un volume EBS all'attività autonoma.

{ "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" } } ] }

Configura un volume al momento della creazione del servizio

Il seguente frammento mostra la sintassi per configurare i volumi Amazon EBS per l'allegato alle attività gestite da un servizio. I volumi provengono dall'istantanea specificata utilizzando il snapshotId parametro a una velocità di 200 MiB/s. La configurazione specificata nel file JSON viene utilizzata per creare e allegare un volume EBS a ciascuna attività gestita dal servizio.

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

Configura un volume durante l'aggiornamento del servizio

Il seguente frammento di codice JSON mostra la sintassi per l'aggiornamento di un servizio che in precedenza non aveva volumi Amazon EBS configurati per il collegamento alle attività. È necessario fornire l'ARN di una revisione della definizione di attività impostata configuredAtLaunch su. true Il seguente frammento di codice JSON mostra la sintassi per configurare le impostazionivolumeType,,, sizeInGiB e e. throughput iops filesystemType Questa configurazione viene utilizzata per creare e collegare un volume EBS a ciascuna attività gestita dal servizio.

{ "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" } } ] }

Configura un servizio per non utilizzare più i volumi Amazon EBS

Il seguente frammento di codice JSON mostra la sintassi per aggiornare un servizio in modo che non utilizzi più i volumi Amazon EBS. È necessario fornire l'ARN di una definizione di attività con configuredAtLaunch set to false o una definizione di attività senza il configuredAtLaunch parametro. È inoltre necessario fornire un volumeConfigurations oggetto vuoto.

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

Politica di terminazione per i volumi Amazon EBS

Quando un'attività Amazon ECS termina, Amazon ECS utilizza il deleteOnTermination valore per determinare se il volume Amazon EBS associato all'attività terminata deve essere eliminato. Per impostazione predefinita, i volumi EBS collegati alle attività vengono eliminati quando l'attività viene terminata. Per le attività autonome, puoi modificare questa impostazione per preservare invece il volume al termine dell'attività.

Nota

I volumi collegati alle attività gestite da un servizio non vengono conservati e vengono sempre eliminati al termine dell'attività.

Etichetta i volumi Amazon EBS

Puoi etichettare i volumi Amazon EBS utilizzando l'tagSpecificationsoggetto. Utilizzando l'oggetto, puoi fornire tag personalizzati e impostare la propagazione dei tag dalla definizione dell'attività o dal servizio, a seconda che il volume sia collegato a un'attività autonoma o a un'attività in un servizio. Il numero massimo di tag che è possibile allegare a un volume è 50.

Importante

Amazon ECS allega automaticamente i tag AmazonECSManaged riservati a un volume Amazon EBS. AmazonECSCreated Ciò significa che puoi controllare l'allegato di un massimo di 48 tag aggiuntivi a un volume. Questi tag aggiuntivi possono essere tag definiti dall'utente, gestiti da ECS o propagati.

Se desideri aggiungere tag gestiti da Amazon ECS al tuo volume, devi enableECSManagedTags impostarlo su true nella tua UpdateService chiamata CreateService RunTask oStartTask. Se attivi i tag gestiti da Amazon ECS, Amazon ECS taggherà automaticamente il volume con informazioni su cluster e servizi (aws:ecs:clusterNamee). aws:ecs:serviceName Per ulteriori informazioni sull'etichettatura delle risorse Amazon ECS, consulta Tagging your Amazon ECS resources.

Il seguente frammento di codice JSON mostra la sintassi per etichettare ogni volume Amazon EBS collegato a ciascuna attività in un servizio con un tag definito dall'utente. Per utilizzare questo esempio per creare un servizio, sostituiscilo con le tue informazioni. user input placeholders

{ "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" } } ] }
Importante

È necessario specificare un tipo di volume risorsa per etichettare i volumi Amazon EBS.