Geben Sie die Amazon EBS-Volume-Konfiguration bei der Amazon ECS-Bereitstellung an - Amazon Elastic Container Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Geben Sie die Amazon EBS-Volume-Konfiguration bei der Amazon ECS-Bereitstellung an

Nachdem Sie eine Aufgabendefinition mit dem configuredAtLaunch Parameter auf registriert habentrue, können Sie ein Amazon EBS-Volume bei der Bereitstellung konfigurieren, wenn Sie eine eigenständige Aufgabe ausführen oder wenn Sie einen Service erstellen oder aktualisieren.

Um ein Volume zu konfigurieren, können Sie Amazon ECS APIs verwenden oder eine JSON-Datei als Eingabe für die folgenden AWS CLI Befehle übergeben:

  • run-taskum eine eigenständige ECS-Aufgabe auszuführen.

  • start-taskum eine eigenständige ECS-Aufgabe in einer bestimmten Container-Instance auszuführen. Dieser Befehl gilt nicht für Aufgaben vom Typ Fargate Launch.

  • create-serviceum einen neuen ECS-Service zu erstellen.

  • update-serviceum einen bestehenden Dienst zu aktualisieren.

Anmerkung

Damit ein Container in Ihrer Aufgabe auf das bereitgestellte Amazon EBS-Volume schreiben kann, müssen Sie den Container als Root-Benutzer ausführen.

Sie können ein Amazon EBS-Volume auch mit dem AWS Management Console konfigurieren. Weitere Informationen finden Sie unter Eine Anwendung als Amazon ECS-Aufgabe ausführen, Einen Amazon ECS-Service mithilfe der Konsole erstellen und Aktualisierung eines Amazon ECS-Service.

Der folgende JSON-Snippet zeigt alle Parameter eines Amazon EBS-Volumes, die bei der Bereitstellung konfiguriert werden können. Um diese Parameter für die Volume-Konfiguration zu verwenden, ersetzen Sie sie durch Ihre user input placeholders eigenen Informationen. Weitere Informationen zu diesen Parametern finden Sie unter Volume-Konfigurationen.

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

Stellen volumeName Sie sicher, dass die, die volumeName Sie in der Konfiguration angeben, mit der in Ihrer Aufgabendefinition angegebenen übereinstimmt.

Informationen zur Überprüfung des Status eines Volume-Anhangs finden Sie unterFehlerbehebung bei Amazon EBS-Volume-Anhängen an Amazon ECS-Aufgaben . Informationen zur Amazon ECS-Infrastrukturrolle AWS Identity and Access Management (IAM), die für das Anhängen von EBS-Volumes erforderlich ist, finden Sie unter. IAM-Rolle für die Amazon ECS-Infrastruktur

Im Folgenden finden Sie Beispiele für JSON-Snippets, die die Konfiguration von Amazon EBS-Volumes zeigen. Diese Beispiele können verwendet werden, indem die Snippets in JSON-Dateien gespeichert und die Dateien als Parameter (unter Verwendung des --cli-input-json file://filename Parameters) für Befehle übergeben werden. AWS CLI Ersetzen Sie user input placeholders durch Ihre Informationen.

Konfigurieren Sie ein Volume für eine eigenständige Aufgabe

Der folgende Ausschnitt zeigt die Syntax für die Konfiguration von Amazon EBS-Volumes für den Anhang an eine eigenständige Aufgabe. Der folgende JSON-Snippet zeigt die Syntax für die Konfiguration der EinstellungenvolumeType,, undsizeInGiB. encrypted kmsKeyId Die in der JSON-Datei angegebene Konfiguration wird verwendet, um ein EBS-Volume zu erstellen und an die eigenständige Aufgabe anzuhängen.

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

Konfigurieren Sie ein Volume bei der Diensterstellung

Der folgende Ausschnitt zeigt die Syntax für die Konfiguration von Amazon EBS-Volumes für den Anhang an Aufgaben, die von einem Service verwaltet werden. Die Volumes stammen aus dem mit dem snapshotId Parameter angegebenen Snapshot mit einer Geschwindigkeit von 200 MiB/s. Die in der JSON-Datei angegebene Konfiguration wird verwendet, um ein EBS-Volume zu erstellen und an jede vom Service verwaltete Aufgabe anzuhängen.

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

Konfigurieren Sie ein Volume bei der Service-Aktualisierung

Der folgende JSON-Snippet zeigt die Syntax für die Aktualisierung eines Services, für den zuvor keine Amazon EBS-Volumes für das Anhängen an Aufgaben konfiguriert waren. Sie müssen den ARN einer Aufgabendefinitionsrevision mit der configuredAtLaunch Einstellung auf angebentrue. Der folgende JSON-Snippet zeigt die Syntax für die Konfiguration der Einstellungen volumeType sizeInGiBthroughput,iops, undfilesystemType. Diese Konfiguration wird verwendet, um ein EBS-Volume zu erstellen und an jede vom Service verwaltete Aufgabe anzuhängen.

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

Einen Service so konfigurieren, dass er Amazon EBS-Volumes nicht mehr nutzt

Der folgende JSON-Snippet zeigt die Syntax für die Aktualisierung eines Service, sodass er keine Amazon EBS-Volumes mehr verwendet. Sie müssen den ARN einer Aufgabendefinition mit configuredAtLaunch set to false oder einer Aufgabendefinition ohne den configuredAtLaunch Parameter angeben. Sie müssen auch ein leeres volumeConfigurations Objekt angeben.

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

Kündigungsrichtlinie für Amazon EBS-Volumes

Wenn eine Amazon ECS-Aufgabe beendet wird, bestimmt Amazon ECS anhand des deleteOnTermination Werts, ob das Amazon EBS-Volume, das mit der beendeten Aufgabe verknüpft ist, gelöscht werden soll. Standardmäßig werden EBS-Volumes, die Aufgaben zugeordnet sind, gelöscht, wenn die Aufgabe beendet wird. Bei eigenständigen Aufgaben können Sie diese Einstellung ändern, sodass das Volume beim Beenden der Aufgabe erhalten bleibt.

Anmerkung

Volumes, die an Aufgaben angehängt sind, die von einem Dienst verwaltet werden, bleiben nicht erhalten und werden immer gelöscht, wenn die Aufgabe beendet wird.

Schlagwort: Amazon EBS-Volumen

Sie können Amazon EBS-Volumes mithilfe des tagSpecifications Objekts taggen. Mithilfe des Objekts können Sie Ihre eigenen Tags angeben und die Weitergabe von Tags anhand der Aufgabendefinition oder des Service festlegen, je nachdem, ob das Volume an eine eigenständige Aufgabe oder eine Aufgabe in einem Service angehängt ist. Die maximale Anzahl von Tags, die an ein Volume angehängt werden können, ist 50.

Wichtig

Amazon ECS hängt die Tags AmazonECSCreated und die AmazonECSManaged reservierten Tags automatisch an ein Amazon EBS-Volume an. Das bedeutet, dass Sie das Anhängen von maximal 48 zusätzlichen Tags an ein Volume steuern können. Bei diesen zusätzlichen Tags kann es sich um benutzerdefinierte, von ECS verwaltete oder weitergegebene Tags handeln.

Wenn Sie Ihrem Volume von Amazon ECS verwaltete Tags hinzufügen möchten, müssen Sie true in IhremUpdateService,CreateService, RunTask Anruf enableECSManagedTags auf einstellen. StartTask Wenn Sie von Amazon ECS verwaltete Tags aktivieren, markiert Amazon ECS das Volume automatisch mit Cluster- und Serviceinformationen (aws:ecs:clusterNameundaws:ecs:serviceName). Weitere Informationen zum Taggen von Amazon ECS-Ressourcen finden Sie unter Taggen Ihrer Amazon ECS-Ressourcen.

Der folgende JSON-Snippet zeigt die Syntax für die Kennzeichnung jedes Amazon EBS-Volumes, das an jede Aufgabe in einem Service angehängt ist, mit einem benutzerdefinierten Tag. Um dieses Beispiel für die Erstellung eines Service zu verwenden, ersetzen Sie das user input placeholders durch Ihre eigenen Informationen.

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

Sie müssen einen volume Ressourcentyp angeben, um Amazon EBS-Volumes zu kennzeichnen.