ECSAmazon-Beispiele mit AWS CLI - AWS SDKCode-Beispiele

Weitere AWS SDK Beispiele sind im Repo AWS Doc SDK Examples GitHub verfügbar.

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.

ECSAmazon-Beispiele mit AWS CLI

Die folgenden Codebeispiele zeigen Ihnen, wie Sie Aktionen ausführen und allgemeine Szenarien implementieren, indem Sie AWS Command Line Interface mit Amazon verwendenECS.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Aktionen zeigen Ihnen zwar, wie Sie einzelne Servicefunktionen aufrufen, aber Sie können Aktionen im Kontext der zugehörigen Szenarien sehen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, in dem Sie Anweisungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt die Verwendungcreate-capacity-provider.

AWS CLI

Um einen Kapazitätsanbieter zu erstellen

Im folgenden create-capacity-provider Beispiel wird ein Kapazitätsanbieter erstellt, der eine Auto Scaling Scaling-Gruppe namens My verwendetASG, für die verwaltete Skalierung und der verwaltete Kündigungsschutz aktiviert sind. Diese Konfiguration wird für Amazon ECS Cluster Auto Scaling verwendet.

aws ecs create-capacity-provider \ --name "MyCapacityProvider" \ --auto-scaling-group-provider "autoScalingGroupArn=arn:aws:autoscaling:us-east-1:123456789012:autoScalingGroup:57ffcb94-11f0-4d6d-bf60-3bac5EXAMPLE:autoScalingGroupName/MyASG,managedScaling={status=ENABLED,targetCapacity=100},managedTerminationProtection=ENABLED"

Ausgabe:

{ "capacityProvider": { "capacityProviderArn": "arn:aws:ecs:us-east-1:123456789012:capacity-provider/MyCapacityProvider", "name": "MyCapacityProvider", "status": "ACTIVE", "autoScalingGroupProvider": { "autoScalingGroupArn": "arn:aws:autoscaling:us-east-1:132456789012:autoScalingGroup:57ffcb94-11f0-4d6d-bf60-3bac5EXAMPLE:autoScalingGroupName/MyASG", "managedScaling": { "status": "ENABLED", "targetCapacity": 100, "minimumScalingStepSize": 1, "maximumScalingStepSize": 10000, "instanceWarmupPeriod": 300 }, "managedTerminationProtection": "ENABLED" }, "tags": [] }

Weitere Informationen finden Sie unter Amazon ECS Cluster Auto Scaling im Amazon ECS Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungcreate-cluster.

AWS CLI

Beispiel 1: Um einen neuen Cluster zu erstellen

Das folgende create-cluster Beispiel erstellt einen Cluster.

aws ecs create-cluster \ --cluster-name MyCluster

Ausgabe:

{ "cluster": { "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "clusterName": "MyCluster", "status": "ACTIVE", "registeredContainerInstancesCount": 0, "pendingTasksCount": 0, "runningTasksCount": 0, "activeServicesCount": 0, "statistics": [], "tags": [] } }

Weitere Informationen finden Sie unter Creating a Cluster im Amazon ECS Developer Guide.

Beispiel 2: So erstellen Sie einen neuen Cluster mithilfe von Kapazitätsanbietern

Im folgenden create-cluster Beispiel wird ein Cluster erstellt und ihm zwei bestehende Kapazitätsanbieter zugeordnet. Der create-capacity-provider Befehl wird verwendet, um einen Kapazitätsanbieter zu erstellen. Die Angabe einer Standardstrategie für Kapazitätsanbieter ist optional, wird jedoch empfohlen. In diesem Beispiel erstellen wir einen Cluster mit dem Namen MyCluster und ordnen ihm die Kapazitätsanbieter MyCapacityProvider1 und die MyCapacityProvider2 Kapazitätsanbieter zu. Es wird eine Standardstrategie für Kapazitätsanbieter angegeben, bei der die Aufgaben gleichmäßig auf beide Kapazitätsanbieter verteilt werden.

aws ecs create-cluster --cluster-name MyCluster --capacity-providers MyCapacityProvider 1 MyCapacityProvider 2 -- default-capacity-provider-strategy capacityProvider = 1, weight=1 = 2, weight=1 MyCapacityProvider capacityProvider MyCapacityProvider

Ausgabe:

{ "cluster": { "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "clusterName": "MyCluster", "status": "PROVISIONING", "registeredContainerInstancesCount": 0, "pendingTasksCount": 0, "runningTasksCount": 0, "activeServicesCount": 0, "statistics": [], "settings": [ { "name": "containerInsights", "value": "enabled" } ], "capacityProviders": [ "MyCapacityProvider1", "MyCapacityProvider2" ], "defaultCapacityProviderStrategy": [ { "capacityProvider": "MyCapacityProvider1", "weight": 1, "base": 0 }, { "capacityProvider": "MyCapacityProvider2", "weight": 1, "base": 0 } ], "attachments": [ { "id": "0fb0c8f4-6edd-4de1-9b09-17e470ee1918", "type": "asp", "status": "PRECREATED", "details": [ { "name": "capacityProviderName", "value": "MyCapacityProvider1" }, { "name": "scalingPlanName", "value": "ECSManagedAutoScalingPlan-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } ] }, { "id": "ae592060-2382-4663-9476-b015c685593c", "type": "asp", "status": "PRECREATED", "details": [ { "name": "capacityProviderName", "value": "MyCapacityProvider2" }, { "name": "scalingPlanName", "value": "ECSManagedAutoScalingPlan-a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" } ] } ], "attachmentsStatus": "UPDATE_IN_PROGRESS" } }

Weitere Informationen finden Sie unter Cluster-Kapazitätsanbieter im Amazon ECS Developer Guide.

Beispiel 3: Um einen neuen Cluster mit mehreren Tags zu erstellen

Das folgende create-cluster Beispiel erstellt einen Cluster mit mehreren Tags. Weitere Informationen zum Hinzufügen von Tags mithilfe von Kurzsyntax finden Sie unter Verwenden von Kurzsyntax mit der AWS Befehlszeilenschnittstelle im Benutzerhandbuch.AWS CLI

aws ecs create-cluster \ --cluster-name MyCluster \ --tags key=key1,value=value1 key=key2,value=value2 key=key3,value=value3

Ausgabe:

{ "cluster": { "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "clusterName": "MyCluster", "status": "ACTIVE", "registeredContainerInstancesCount": 0, "pendingTasksCount": 0, "runningTasksCount": 0, "activeServicesCount": 0, "statistics": [], "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value2" }, { "key": "key3", "value": "value3" } ] } }

Weitere Informationen finden Sie unter Creating a Cluster im Amazon ECS Developer Guide.

  • APIEinzelheiten finden Sie CreateClusterin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungcreate-service.

AWS CLI

Beispiel 1: So erstellen Sie einen Service mit einer Fargate-Aufgabe

Das folgende create-service Beispiel zeigt, wie ein Service mithilfe einer Fargate-Aufgabe erstellt wird.

aws ecs create-service \ --cluster MyCluster \ --service-name MyService \ --task-definition sample-fargate:1 \ --desired-count 2 \ --launch-type FARGATE \ --platform-version LATEST \ --network-configuration "awsvpcConfiguration={subnets=[subnet-12344321],securityGroups=[sg-12344321],assignPublicIp=ENABLED}" \ --tags key=key1,value=value1 key=key2,value=value2 key=key3,value=value3

Ausgabe:

{ "service": { "serviceArn": "arn:aws:ecs:us-west-2:123456789012:service/MyCluster/MyService", "serviceName": "MyService", "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "loadBalancers": [], "serviceRegistries": [], "status": "ACTIVE", "desiredCount": 2, "runningCount": 0, "pendingCount": 0, "launchType": "FARGATE", "platformVersion": "LATEST", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sample-fargate:1", "deploymentConfiguration": { "maximumPercent": 200, "minimumHealthyPercent": 100 }, "deployments": [ { "id": "ecs-svc/1234567890123456789", "status": "PRIMARY", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sample-fargate:1", "desiredCount": 2, "pendingCount": 0, "runningCount": 0, "createdAt": 1557119253.821, "updatedAt": 1557119253.821, "launchType": "FARGATE", "platformVersion": "1.3.0", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12344321" ], "securityGroups": [ "sg-12344321" ], "assignPublicIp": "ENABLED" } } } ], "roleArn": "arn:aws:iam::123456789012:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS", "events": [], "createdAt": 1557119253.821, "placementConstraints": [], "placementStrategy": [], "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12344321" ], "securityGroups": [ "sg-12344321" ], "assignPublicIp": "ENABLED" } }, "schedulingStrategy": "REPLICA", "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value2" }, { "key": "key3", "value": "value3" } ], "enableECSManagedTags": false, "propagateTags": "NONE" } }

Beispiel 2: Um einen Dienst mit dem EC2 Starttyp zu erstellen

Das folgende create-service Beispiel zeigt, wie Sie einen Dienst erstellen, der ecs-simple-service mit einer Aufgabe aufgerufen wird, die den EC2 Starttyp verwendet. Der Dienst verwendet die sleep360 Aufgabendefinition und verwaltet eine Instanziierung der Aufgabe.

aws ecs create-service \ --cluster MyCluster \ --service-name ecs-simple-service \ --task-definition sleep360:2 \ --desired-count 1

Ausgabe:

{ "service": { "serviceArn": "arn:aws:ecs:us-west-2:123456789012:service/MyCluster/ecs-simple-service", "serviceName": "ecs-simple-service", "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "loadBalancers": [], "serviceRegistries": [], "status": "ACTIVE", "desiredCount": 1, "runningCount": 0, "pendingCount": 0, "launchType": "EC2", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sleep360:2", "deploymentConfiguration": { "maximumPercent": 200, "minimumHealthyPercent": 100 }, "deployments": [ { "id": "ecs-svc/1234567890123456789", "status": "PRIMARY", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sleep360:2", "desiredCount": 1, "pendingCount": 0, "runningCount": 0, "createdAt": 1557206498.798, "updatedAt": 1557206498.798, "launchType": "EC2" } ], "events": [], "createdAt": 1557206498.798, "placementConstraints": [], "placementStrategy": [], "schedulingStrategy": "REPLICA", "enableECSManagedTags": false, "propagateTags": "NONE" } }

Beispiel 3: Um einen Dienst zu erstellen, der einen externen Deployment Controller verwendet

Im folgenden create-service Beispiel wird ein Dienst erstellt, der einen externen Deployment Controller verwendet.

aws ecs create-service \ --cluster MyCluster \ --service-name MyService \ --deployment-controller type=EXTERNAL \ --desired-count 1

Ausgabe:

{ "service": { "serviceArn": "arn:aws:ecs:us-west-2:123456789012:service/MyCluster/MyService", "serviceName": "MyService", "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "loadBalancers": [], "serviceRegistries": [], "status": "ACTIVE", "desiredCount": 1, "runningCount": 0, "pendingCount": 0, "launchType": "EC2", "deploymentConfiguration": { "maximumPercent": 200, "minimumHealthyPercent": 100 }, "taskSets": [], "deployments": [], "roleArn": "arn:aws:iam::123456789012:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS", "events": [], "createdAt": 1557128207.101, "placementConstraints": [], "placementStrategy": [], "schedulingStrategy": "REPLICA", "deploymentController": { "type": "EXTERNAL" }, "enableECSManagedTags": false, "propagateTags": "NONE" } }

Beispiel 4: Um einen neuen Dienst hinter einem Load Balancer zu erstellen

Das folgende create-service Beispiel zeigt, wie Sie einen Dienst erstellen, der sich hinter einem Load Balancer befindet. Sie müssen einen Load Balancer in derselben Region wie Ihre Container-Instance konfiguriert haben. In diesem Beispiel werden die --cli-input-json Option und eine JSON Eingabedatei ecs-simple-service-elb.json mit dem folgenden Inhalt aufgerufen:

{ "serviceName": "ecs-simple-service-elb", "taskDefinition": "ecs-demo", "loadBalancers": [ { "loadBalancerName": "EC2Contai-EcsElast-123456789012", "containerName": "simple-demo", "containerPort": 80 } ], "desiredCount": 10, "role": "ecsServiceRole" }

Befehl:

aws ecs create-service \ --cluster MyCluster \ --service-name ecs-simple-service-elb \ --cli-input-json file://ecs-simple-service-elb.json

Ausgabe:

{ "service": { "status": "ACTIVE", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/ecs-demo:1", "pendingCount": 0, "loadBalancers": [ { "containerName": "ecs-demo", "containerPort": 80, "loadBalancerName": "EC2Contai-EcsElast-123456789012" } ], "roleArn": "arn:aws:iam::123456789012:role/ecsServiceRole", "desiredCount": 10, "serviceName": "ecs-simple-service-elb", "clusterArn": "arn:aws:ecs:<us-west-2:123456789012:cluster/MyCluster", "serviceArn": "arn:aws:ecs:us-west-2:123456789012:service/ecs-simple-service-elb", "deployments": [ { "status": "PRIMARY", "pendingCount": 0, "createdAt": 1428100239.123, "desiredCount": 10, "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/ecs-demo:1", "updatedAt": 1428100239.123, "id": "ecs-svc/1234567890123456789", "runningCount": 0 } ], "events": [], "runningCount": 0 } }

Weitere Informationen finden Sie unter Creating a Service im Amazon ECS Developer Guide.

  • APIEinzelheiten finden Sie CreateServicein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungcreate-task-set.

AWS CLI

Um einen Tasksatz zu erstellen

Im folgenden create-task-set Beispiel wird ein Taskset in einem Dienst erstellt, der einen externen Deployment Controller verwendet.

aws ecs create-task-set \ --cluster MyCluster \ --service MyService \ --task-definition MyTaskDefinition:2 \ --network-configuration "awsvpcConfiguration={subnets=[subnet-12344321],securityGroups=[sg-12344321]}"

Ausgabe:

{ "taskSet": { "id": "ecs-svc/1234567890123456789", "taskSetArn": "arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789", "status": "ACTIVE", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/MyTaskDefinition:2", "computedDesiredCount": 0, "pendingCount": 0, "runningCount": 0, "createdAt": 1557128360.711, "updatedAt": 1557128360.711, "launchType": "EC2", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12344321" ], "securityGroups": [ "sg-12344321" ], "assignPublicIp": "DISABLED" } }, "loadBalancers": [], "serviceRegistries": [], "scale": { "value": 0.0, "unit": "PERCENT" }, "stabilityStatus": "STABILIZING", "stabilityStatusAt": 1557128360.711 } }
  • APIEinzelheiten finden Sie CreateTaskSetunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-account-setting.

AWS CLI

Um die Kontoeinstellungen für einen bestimmten IAM Benutzer oder eine bestimmte IAM Rolle zu löschen

Im folgenden Beispiel delete-account-setting werden die Kontoeinstellungen für den bestimmten IAM Benutzer oder die IAM Rolle gelöscht.

aws ecs delete-account-setting \ --name serviceLongArnFormat \ --principal-arn arn:aws:iam::123456789012:user/MyUser

Ausgabe:

{ "setting": { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:user/MyUser" } }

Weitere Informationen finden Sie unter Amazon Resource Names (ARNs) und IDs im Amazon ECS Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdelete-attributes.

AWS CLI

Um ein oder mehrere benutzerdefinierte Attribute aus einer ECS Amazon-Ressource zu löschen

Im Folgenden delete-attributes wird ein Attribut mit dem Namen stack aus einer Container-Instance gelöscht.

aws ecs delete-attributes \ --attributes name=stack,targetId=arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34

Ausgabe:

{ "attributes": [ { "name": "stack", "targetId": "arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34", "value": "production" } ] }

Das folgende Codebeispiel zeigt die Verwendungdelete-capacity-provider.

AWS CLI

Beispiel 1: So löschen Sie einen Kapazitätsanbieter mithilfe des Amazon-Ressourcennamens (ARN)

Im folgenden delete-capacity-provider Beispiel wird ein Kapazitätsanbieter gelöscht, indem der Amazon-Ressourcenname (ARN) des Kapazitätsanbieters angegeben wird. Sowohl der Status ARN als auch der Status der Löschung des Kapazitätsanbieters können mit dem describe-capacity-providers Befehl abgerufen werden.

aws ecs delete-capacity-provider \ --capacity-provider arn:aws:ecs:us-west-2:123456789012:capacity-provider/ExampleCapacityProvider

Ausgabe:

{ "capacityProvider": { "capacityProviderArn": "arn:aws:ecs:us-west-2:123456789012:capacity-provider/ExampleCapacityProvider", "name": "ExampleCapacityProvider", "status": "ACTIVE", "autoScalingGroupProvider": { "autoScalingGroupArn": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111:autoScalingGroupName/MyAutoScalingGroup", "managedScaling": { "status": "ENABLED", "targetCapacity": 100, "minimumScalingStepSize": 1, "maximumScalingStepSize": 10000 }, "managedTerminationProtection": "DISABLED" }, "updateStatus": "DELETE_IN_PROGRESS", "tags": [] } }

Weitere Informationen finden Sie unter Cluster-Kapazitätsanbieter im Amazon ECS Developer Guide.

Beispiel 2: Um einen Kapazitätsanbieter unter Verwendung des Namens zu löschen

Im folgenden delete-capacity-provider Beispiel wird ein Kapazitätsanbieter gelöscht, indem der Kurzname des Kapazitätsanbieters angegeben wird. Der Kurzname sowie der Status der Löschung des Kapazitätsanbieters können mit dem describe-capacity-providers Befehl abgerufen werden.

aws ecs delete-capacity-provider \ --capacity-provider ExampleCapacityProvider

Ausgabe:

{ "capacityProvider": { "capacityProviderArn": "arn:aws:ecs:us-west-2:123456789012:capacity-provider/ExampleCapacityProvider", "name": "ExampleCapacityProvider", "status": "ACTIVE", "autoScalingGroupProvider": { "autoScalingGroupArn": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111:autoScalingGroupName/MyAutoScalingGroup", "managedScaling": { "status": "ENABLED", "targetCapacity": 100, "minimumScalingStepSize": 1, "maximumScalingStepSize": 10000 }, "managedTerminationProtection": "DISABLED" }, "updateStatus": "DELETE_IN_PROGRESS", "tags": [] } }

Weitere Informationen finden Sie unter Cluster-Kapazitätsanbieter im Amazon ECS Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdelete-cluster.

AWS CLI

Um einen leeren Cluster zu löschen

Im folgenden delete-cluster Beispiel wird der angegebene leere Cluster gelöscht.

aws ecs delete-cluster --cluster MyCluster

Ausgabe:

{ "cluster": { "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "status": "INACTIVE", "clusterName": "MyCluster", "registeredContainerInstancesCount": 0, "pendingTasksCount": 0, "runningTasksCount": 0, "activeServicesCount": 0 "statistics": [], "tags": [] } }

Weitere Informationen finden Sie unter Löschen eines Clusters im Amazon ECS Developer Guide.

  • APIEinzelheiten finden Sie DeleteClusterin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-service.

AWS CLI

Um einen Dienst zu löschen

Im folgenden ecs delete-service Beispiel wird der angegebene Dienst aus einem Cluster gelöscht. Sie können den --force Parameter angeben, um einen Dienst auch dann zu löschen, wenn er nicht auf Null Aufgaben skaliert wurde.

aws ecs delete-service --cluster MyCluster --service MyService1 --force

Weitere Informationen finden Sie unter Löschen eines Service im Amazon ECS Developer Guide.

  • APIEinzelheiten finden Sie DeleteServicein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-task-definitions.

AWS CLI

Um eine Aufgabendefinition zu löschen

Im folgenden delete-task-definitions Beispiel wird eine INACTIVE Aufgabendefinition gelöscht.

aws ecs delete-task-definitions \ --task-definition curltest:1

Ausgabe:

{ "taskDefinitions": [ { "taskDefinitionArn": "arn:aws:ecs:us-east-1:123456789012:task-definition/curltest:1", "containerDefinitions": [ { "name": "ctest", "image": "mreferre/eksutils", "cpu": 0, "portMappings": [], "essential": true, "entryPoint": [ "sh", "-c" ], "command": [ "curl ${ECS_CONTAINER_METADATA_URI_V4}/task" ], "environment": [], "mountPoints": [], "volumesFrom": [], "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-create-group": "true", "awslogs-group": "/ecs/curltest", "awslogs-region": "us-east-1", "awslogs-stream-prefix": "ecs" } } } ], "family": "curltest", "taskRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole", "executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole", "networkMode": "awsvpc", "revision": 1, "volumes": [], "status": "DELETE_IN_PROGRESS", "compatibilities": [ "EC2", "FARGATE" ], "requiresCompatibilities": [ "FARGATE" ], "cpu": "256", "memory": "512", "registeredAt": "2021-09-10T12:56:24.704000+00:00", "deregisteredAt": "2023-03-14T15:20:59.419000+00:00", "registeredBy": "arn:aws:sts::123456789012:assumed-role/Admin/jdoe" } ], "failures": [] }

Weitere Informationen finden Sie unter ECSAmazon-Aufgabendefinitionen im Amazon ECS Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdelete-task-set.

AWS CLI

Um einen Tasksatz zu löschen

Das folgende delete-task-set Beispiel zeigt, wie ein Task-Set gelöscht wird. Sie können den --force Parameter hinzufügen, um eine Aufgabengruppe zu löschen, auch wenn sie nicht auf Null skaliert wurde.

aws ecs delete-task-set \ --cluster MyCluster \ --service MyService \ --task-set arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789 \ --force

Ausgabe:

{ "taskSet": { "id": "ecs-svc/1234567890123456789", "taskSetArn": "arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789", "status": "DRAINING", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sample-fargate:2", "computedDesiredCount": 0, "pendingCount": 0, "runningCount": 0, "createdAt": 1557130260.276, "updatedAt": 1557130290.707, "launchType": "EC2", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12345678" ], "securityGroups": [ "sg-12345678" ], "assignPublicIp": "DISABLED" } }, "loadBalancers": [], "serviceRegistries": [], "scale": { "value": 0.0, "unit": "PERCENT" }, "stabilityStatus": "STABILIZING", "stabilityStatusAt": 1557130290.707 } }

Das folgende Codebeispiel zeigt die Verwendungderegister-container-instance.

AWS CLI

Um eine Container-Instance von einem Cluster abzumelden

Im folgenden deregister-container-instance Beispiel wird die Registrierung einer Container-Instance aus dem angegebenen Cluster aufgehoben. Wenn in der Container-Instance noch Aufgaben ausgeführt werden, müssen Sie diese Aufgaben entweder beenden, bevor Sie die Registrierung aufheben, oder die Option verwenden. --force

aws ecs deregister-container-instance \ --cluster arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster \ --container-instance arn:aws:ecs:us-west-2:123456789012:container-instance/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE \ --force

Ausgabe:

{ "containerInstance": { "remainingResources": [ { "integerValue": 1024, "doubleValue": 0.0, "type": "INTEGER", "longValue": 0, "name": "CPU" }, { "integerValue": 985, "doubleValue": 0.0, "type": "INTEGER", "longValue": 0, "name": "MEMORY" }, { "type": "STRINGSET", "integerValue": 0, "name": "PORTS", "stringSetValue": [ "22", "2376", "2375", "51678", "51679" ], "longValue": 0, "doubleValue": 0.0 }, { "type": "STRINGSET", "integerValue": 0, "name": "PORTS_UDP", "stringSetValue": [], "longValue": 0, "doubleValue": 0.0 } ], "agentConnected": true, "attributes": [ { "name": "ecs.capability.secrets.asm.environment-variables" }, { "name": "com.amazonaws.ecs.capability.logging-driver.syslog" }, { "value": "ami-01a82c3fce2c3ba58", "name": "ecs.ami-id" }, { "name": "ecs.capability.secrets.asm.bootstrap.log-driver" }, { "name": "com.amazonaws.ecs.capability.logging-driver.none" }, { "name": "ecs.capability.ecr-endpoint" }, { "name": "com.amazonaws.ecs.capability.logging-driver.json-file" }, { "value": "vpc-1234567890123467", "name": "ecs.vpc-id" }, { "name": "ecs.capability.execution-role-awslogs" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.17" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.18" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.19" }, { "name": "ecs.capability.docker-plugin.local" }, { "name": "ecs.capability.task-eni" }, { "name": "ecs.capability.task-cpu-mem-limit" }, { "name": "ecs.capability.secrets.ssm.bootstrap.log-driver" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.30" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.31" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.32" }, { "name": "ecs.capability.execution-role-ecr-pull" }, { "name": "ecs.capability.container-health-check" }, { "value": "subnet-1234567890123467", "name": "ecs.subnet-id" }, { "value": "us-west-2a", "name": "ecs.availability-zone" }, { "value": "t2.micro", "name": "ecs.instance-type" }, { "name": "com.amazonaws.ecs.capability.task-iam-role-network-host" }, { "name": "ecs.capability.aws-appmesh" }, { "name": "com.amazonaws.ecs.capability.logging-driver.awslogs" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.24" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.25" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.26" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.27" }, { "name": "com.amazonaws.ecs.capability.privileged-container" }, { "name": "ecs.capability.container-ordering" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.28" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.29" }, { "value": "x86_64", "name": "ecs.cpu-architecture" }, { "value": "93f43776-2018.10.0", "name": "ecs.capability.cni-plugin-version" }, { "name": "ecs.capability.secrets.ssm.environment-variables" }, { "name": "ecs.capability.pid-ipc-namespace-sharing" }, { "name": "com.amazonaws.ecs.capability.ecr-auth" }, { "value": "linux", "name": "ecs.os-type" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.20" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.21" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.22" }, { "name": "ecs.capability.task-eia" }, { "name": "ecs.capability.private-registry-authentication.secretsmanager" }, { "name": "com.amazonaws.ecs.capability.task-iam-role" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.23" } ], "pendingTasksCount": 0, "tags": [], "containerInstanceArn": "arn:aws:ecs:us-west-2:123456789012:container-instance/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "registeredResources": [ { "integerValue": 1024, "doubleValue": 0.0, "type": "INTEGER", "longValue": 0, "name": "CPU" }, { "integerValue": 985, "doubleValue": 0.0, "type": "INTEGER", "longValue": 0, "name": "MEMORY" }, { "type": "STRINGSET", "integerValue": 0, "name": "PORTS", "stringSetValue": [ "22", "2376", "2375", "51678", "51679" ], "longValue": 0, "doubleValue": 0.0 }, { "type": "STRINGSET", "integerValue": 0, "name": "PORTS_UDP", "stringSetValue": [], "longValue": 0, "doubleValue": 0.0 } ], "status": "INACTIVE", "registeredAt": 1557768075.681, "version": 4, "versionInfo": { "agentVersion": "1.27.0", "agentHash": "aabe65ee", "dockerVersion": "DockerVersion: 18.06.1-ce" }, "attachments": [], "runningTasksCount": 0, "ec2InstanceId": "i-12345678901234678" } }

Weitere Informationen finden Sie unter Deregister a Container Instance im Developer Guide. ECS

Das folgende Codebeispiel zeigt die Verwendungderegister-task-definition.

AWS CLI

Um die Registrierung einer Aufgabendefinition aufzuheben

Im folgenden deregister-task-definition Beispiel wird die Registrierung der ersten Version der curler Aufgabendefinition in Ihrer Standardregion aufgehoben.

aws ecs deregister-task-definition --task-definition curler:1

Beachten Sie, dass in der resultierenden Ausgabe der Status der Aufgabendefinition wie folgt angezeigt wird: INACTIVE

{ "taskDefinition": { "status": "INACTIVE", "family": "curler", "volumes": [], "taskDefinitionArn": "arn:aws:ecs:us-west-2:123456789012:task-definition/curler:1", "containerDefinitions": [ { "environment": [], "name": "curler", "mountPoints": [], "image": "curl:latest", "cpu": 100, "portMappings": [], "entryPoint": [], "memory": 256, "command": [ "curl -v http://example.com/" ], "essential": true, "volumesFrom": [] } ], "revision": 1 } }

Weitere Informationen finden Sie unter ECSAmazon-Aufgabendefinitionen im Amazon ECS Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdescribe-capacity-providers.

AWS CLI

Beispiel 1: Um alle Kapazitätsanbieter zu beschreiben

Im folgenden describe-capacity-providers Beispiel werden Details zu allen Kapazitätsanbietern abgerufen.

aws ecs describe-capacity-providers

Ausgabe:

{ "capacityProviders": [ { "capacityProviderArn": "arn:aws:ecs:us-west-2:123456789012:capacity-provider/MyCapacityProvider", "name": "MyCapacityProvider", "status": "ACTIVE", "autoScalingGroupProvider": { "autoScalingGroupArn": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111:autoScalingGroupName/MyAutoScalingGroup", "managedScaling": { "status": "ENABLED", "targetCapacity": 100, "minimumScalingStepSize": 1, "maximumScalingStepSize": 1000 }, "managedTerminationProtection": "ENABLED" }, "tags": [] }, { "capacityProviderArn": "arn:aws:ecs:us-west-2:123456789012:capacity-provider/FARGATE", "name": "FARGATE", "status": "ACTIVE", "tags": [] }, { "capacityProviderArn": "arn:aws:ecs:us-west-2:123456789012:capacity-provider/FARGATE_SPOT", "name": "FARGATE_SPOT", "status": "ACTIVE", "tags": [] } ] }

Weitere Informationen finden Sie unter Cluster-Kapazitätsanbieter im Amazon ECS Developer Guide.

Beispiel 2: Um einen bestimmten Kapazitätsanbieter zu beschreiben

Im folgenden describe-capacity-providers Beispiel werden Details zu einem bestimmten Kapazitätsanbieter abgerufen. Durch die Verwendung des --include TAGS Parameters werden der Ausgabe die mit dem Kapazitätsanbieter verknüpften Tags hinzugefügt.

aws ecs describe-capacity-providers \ --capacity-providers MyCapacityProvider \ --include TAGS

Ausgabe:

{ "capacityProviders": [ { "capacityProviderArn": "arn:aws:ecs:us-west-2:123456789012:capacity-provider/MyCapacityProvider", "name": "MyCapacityProvider", "status": "ACTIVE", "autoScalingGroupProvider": { "autoScalingGroupArn": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111:autoScalingGroupName/MyAutoScalingGroup", "managedScaling": { "status": "ENABLED", "targetCapacity": 100, "minimumScalingStepSize": 1, "maximumScalingStepSize": 1000 }, "managedTerminationProtection": "ENABLED" }, "tags": [ { "key": "environment", "value": "production" } ] } ] }

Weitere Informationen finden Sie unter Cluster-Kapazitätsanbieter im Amazon ECS Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdescribe-clusters.

AWS CLI

Beispiel 1: Um einen Cluster zu beschreiben

Im folgenden describe-clusters Beispiel werden Details zum angegebenen Cluster abgerufen.

aws ecs describe-clusters \ --cluster default

Ausgabe:

{ "clusters": [ { "status": "ACTIVE", "clusterName": "default", "registeredContainerInstancesCount": 0, "pendingTasksCount": 0, "runningTasksCount": 0, "activeServicesCount": 1, "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/default" } ], "failures": [] }

Weitere Informationen finden Sie unter Amazon ECS Clusters im Amazon ECS Developer Guide.

Beispiel 2: Um einen Cluster mit der Anhangsoption zu beschreiben

Das folgende describe-clusters Beispiel spezifiziert die ATTACHMENTS Option. Es ruft Details über den angegebenen Cluster und eine Liste der Ressourcen ab, die dem Cluster in Form von Anhängen zugeordnet sind. Wenn Sie einen Kapazitätsanbieter mit einem Cluster verwenden, werden die Ressourcen, entweder AutoScaling Pläne oder Skalierungsrichtlinien, als asp oder ATTACHMENTS as_policy dargestellt.

aws ecs describe-clusters \ --include ATTACHMENTS \ --clusters sampleCluster

Ausgabe:

{ "clusters": [ { "clusterArn": "arn:aws:ecs:af-south-1:123456789222:cluster/sampleCluster", "clusterName": "sampleCluster", "status": "ACTIVE", "registeredContainerInstancesCount": 0, "runningTasksCount": 0, "pendingTasksCount": 0, "activeServicesCount": 0, "statistics": [], "tags": [], "settings": [], "capacityProviders": [ "sampleCapacityProvider" ], "defaultCapacityProviderStrategy": [], "attachments": [ { "id": "a1b2c3d4-5678-901b-cdef-EXAMPLE22222", "type": "as_policy", "status": "CREATED", "details": [ { "name": "capacityProviderName", "value": "sampleCapacityProvider" }, { "name": "scalingPolicyName", "value": "ECSManagedAutoScalingPolicy-3048e262-fe39-4eaf-826d-6f975d303188" } ] } ], "attachmentsStatus": "UPDATE_COMPLETE" } ], "failures": [] }

Weitere Informationen finden Sie unter Amazon ECS Clusters im Amazon ECS Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdescribe-container-instances.

AWS CLI

Um die Container-Instance zu beschreiben

Im folgenden describe-container-instances Beispiel werden Details für eine Container-Instance im update Cluster abgerufen, wobei die Container-Instance UUID als ID verwendet wird.

aws ecs describe-container-instances \ --cluster update \ --container-instances a1b2c3d4-5678-90ab-cdef-11111EXAMPLE

Ausgabe:

{ "failures": [], "containerInstances": [ { "status": "ACTIVE", "registeredResources": [ { "integerValue": 2048, "longValue": 0, "type": "INTEGER", "name": "CPU", "doubleValue": 0.0 }, { "integerValue": 3955, "longValue": 0, "type": "INTEGER", "name": "MEMORY", "doubleValue": 0.0 }, { "name": "PORTS", "longValue": 0, "doubleValue": 0.0, "stringSetValue": [ "22", "2376", "2375", "51678" ], "type": "STRINGSET", "integerValue": 0 } ], "ec2InstanceId": "i-A1B2C3D4", "agentConnected": true, "containerInstanceArn": "arn:aws:ecs:us-west-2:123456789012:container-instance/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "pendingTasksCount": 0, "remainingResources": [ { "integerValue": 2048, "longValue": 0, "type": "INTEGER", "name": "CPU", "doubleValue": 0.0 }, { "integerValue": 3955, "longValue": 0, "type": "INTEGER", "name": "MEMORY", "doubleValue": 0.0 }, { "name": "PORTS", "longValue": 0, "doubleValue": 0.0, "stringSetValue": [ "22", "2376", "2375", "51678" ], "type": "STRINGSET", "integerValue": 0 } ], "runningTasksCount": 0, "versionInfo": { "agentVersion": "1.0.0", "agentHash": "4023248", "dockerVersion": "DockerVersion: 1.5.0" } } ] }

Weitere Informationen finden Sie unter Amazon ECS Container Instances im Amazon ECS Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdescribe-services.

AWS CLI

Um einen Dienst zu beschreiben

Im folgenden describe-services Beispiel werden Details für den my-http-service Dienst im Standardcluster abgerufen.

aws ecs describe-services --services my-http-service

Ausgabe:

{ "services": [ { "status": "ACTIVE", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/amazon-ecs-sample:1", "pendingCount": 0, "loadBalancers": [], "desiredCount": 10, "createdAt": 1466801808.595, "serviceName": "my-http-service", "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/default", "serviceArn": "arn:aws:ecs:us-west-2:123456789012:service/my-http-service", "deployments": [ { "status": "PRIMARY", "pendingCount": 0, "createdAt": 1466801808.595, "desiredCount": 10, "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/amazon-ecs-sample:1", "updatedAt": 1428326312.703, "id": "ecs-svc/1234567890123456789", "runningCount": 10 } ], "events": [ { "message": "(service my-http-service) has reached a steady state.", "id": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "createdAt": 1466801812.435 } ], "runningCount": 10 } ], "failures": [] }

Weitere Informationen finden Sie unter Services im Amazon ECS Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdescribe-task-definition.

AWS CLI

Um eine Aufgabendefinition zu beschreiben

Im folgenden describe-task-definition Beispiel werden die Details einer Aufgabendefinition abgerufen.

aws ecs describe-task-definition \ --task-definition hello_world:8

Ausgabe:

{ "taskDefinition": { "taskDefinitionArn": "arn:aws:ecs:us-east-1:012345678910:task-definition/hello_world:8", "containerDefinitions": [ { "cpu": 10, "environment": [], "essential": true, "image": "wordpress", "links": [ "mysql" ] , "memory": 500, "mountPoints": [], "name": "wordpress", "portMappings": [ { "containerPort": 80, "hostPort": 80 } ], "volumesFrom": [] }, { "cpu": 10, "environment": [ { "name": "MYSQL_ROOT_PASSWORD", "value": "password" } ], "essential": true, "image": "mysql", "memory": 500, "mountPoints": [], "name": "mysql", "portMappings": [], "volumesFrom": [] } ], "family": "hello_world", "revision": 8, "volumes": [], "status": "ACTIVE", "placementConstraints": [], "compatibilities": [ "EXTERNAL", "EC2" ], "registeredAt": "2024-06-21T11:15:12.669000-05:00", "registeredBy": "arn:aws:sts::012345678910:assumed-role/demo-role/jane-doe" }, "tags": [] }

Weitere Informationen finden Sie unter ECSAmazon-Aufgabendefinitionen im Amazon ECS Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdescribe-task-sets.

AWS CLI

Um einen Tasksatz zu beschreiben

Das folgende describe-task-sets Beispiel beschreibt einen Tasksatz in einem Service, der einen externen Deployer verwendet.

aws ecs describe-task-sets \ --cluster MyCluster \ --service MyService \ --task-sets arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789

Ausgabe:

{ "taskSets": [ { "id": "ecs-svc/1234567890123456789", "taskSetArn": "arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789", "status": "ACTIVE", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sample-fargate:2", "computedDesiredCount": 0, "pendingCount": 0, "runningCount": 0, "createdAt": 1557207715.195, "updatedAt": 1557207740.014, "launchType": "EC2", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12344321" ], "securityGroups": [ "sg-1234431" ], "assignPublicIp": "DISABLED" } }, "loadBalancers": [], "serviceRegistries": [], "scale": { "value": 0.0, "unit": "PERCENT" }, "stabilityStatus": "STEADY_STATE", "stabilityStatusAt": 1557207740.014 } ], "failures": [] }

Das folgende Codebeispiel zeigt die Verwendungdescribe-tasks.

AWS CLI

Beispiel 1: Um eine einzelne Aufgabe zu beschreiben (Aufgaben)

Im folgenden describe-tasks Beispiel werden die Details einer Aufgabe in einem Cluster abgerufen. Sie können die Aufgabe angeben, indem Sie entweder die ID oder den vollständigen Teil ARN der Aufgabe verwenden. In diesem Beispiel wird der gesamte ARN Teil der Aufgabe verwendet.

aws ecs describe-tasks \ --cluster MyCluster \ --tasks arn:aws:ecs:us-east-1:123456789012:task/MyCluster/4d590253bb114126b7afa7b58EXAMPLE

Ausgabe:

{ "tasks": [ { "attachments": [], "attributes": [ { "name": "ecs.cpu-architecture", "value": "x86_64" } ], "availabilityZone": "us-east-1b", "clusterArn": "arn:aws:ecs:us-east-1:123456789012:cluster/MyCluster", "connectivity": "CONNECTED", "connectivityAt": "2021-08-11T12:21:26.681000-04:00", "containerInstanceArn": "arn:aws:ecs:us-east-1:123456789012:container-instance/test/025c7e2c5e054a6790a29fc1fEXAMPLE", "containers": [ { "containerArn": "arn:aws:ecs:us-east-1:123456789012:container/MyCluster/4d590253bb114126b7afa7b58eea9221/a992d1cc-ea46-474a-b6e8-24688EXAMPLE", "taskArn": "arn:aws:ecs:us-east-1:123456789012:task/MyCluster/4d590253bb114126b7afa7b58EXAMPLE", "name": "simple-app", "image": "httpd:2.4", "runtimeId": "91251eed27db90006ad67b1a08187290869f216557717dd5c39b37c94EXAMPLE", "lastStatus": "RUNNING", "networkBindings": [ { "bindIP": "0.0.0.0", "containerPort": 80, "hostPort": 80, "protocol": "tcp" } ], "networkInterfaces": [], "healthStatus": "UNKNOWN", "cpu": "10", "memory": "300" } ], "cpu": "10", "createdAt": "2021-08-11T12:21:26.681000-04:00", "desiredStatus": "RUNNING", "enableExecuteCommand": false, "group": "service:testupdate", "healthStatus": "UNKNOWN", "lastStatus": "RUNNING", "launchType": "EC2", "memory": "300", "overrides": { "containerOverrides": [ { "name": "simple-app" } ], "inferenceAcceleratorOverrides": [] }, "pullStartedAt": "2021-08-11T12:21:28.234000-04:00", "pullStoppedAt": "2021-08-11T12:21:33.793000-04:00", "startedAt": "2021-08-11T12:21:34.945000-04:00", "startedBy": "ecs-svc/968695068243EXAMPLE", "tags": [], "taskArn": "arn:aws:ecs:us-east-1:123456789012:task/MyCluster/4d590253bb114126b7afa7b58eea9221", "taskDefinitionArn": "arn:aws:ecs:us-east-1:123456789012:task-definition/console-sample-app-static2:1", "version": 2 } ], "failures": [] }

Weitere Informationen finden Sie unter ECSAmazon-Aufgabendefinitionen im Amazon ECS Developer Guide.

Beispiel 2: Um mehrere Aufgaben zu beschreiben

Im folgenden describe-tasks Beispiel werden die Details mehrerer Aufgaben in einem Cluster abgerufen. Sie können die Aufgabe angeben, indem Sie entweder die ID oder den vollständigen Teil ARN der Aufgabe verwenden. In diesem Beispiel werden alle IDs Aufgaben verwendet.

aws ecs describe-tasks \ --cluster MyCluster \ --tasks "74de0355a10a4f979ac495c14EXAMPLE" "d789e94343414c25b9f6bd59eEXAMPLE"

Ausgabe:

{ "tasks": [ { "attachments": [ { "id": "d9e7735a-16aa-4128-bc7a-b2d51EXAMPLE", "type": "ElasticNetworkInterface", "status": "ATTACHED", "details": [ { "name": "subnetId", "value": "subnet-0d0eab1bb3EXAMPLE" }, { "name": "networkInterfaceId", "value": "eni-0fa40520aeEXAMPLE" }, { "name": "macAddress", "value": "0e:89:76:28:07:b3" }, { "name": "privateDnsName", "value": "ip-10-0-1-184.ec2.internal" }, { "name": "privateIPv4Address", "value": "10.0.1.184" } ] } ], "attributes": [ { "name": "ecs.cpu-architecture", "value": "x86_64" } ], "availabilityZone": "us-east-1b", "clusterArn": "arn:aws:ecs:us-east-1:123456789012:cluster/MyCluster", "connectivity": "CONNECTED", "connectivityAt": "2021-12-20T12:13:37.875000-05:00", "containers": [ { "containerArn": "arn:aws:ecs:us-east-1:123456789012:container/MyCluster/74de0355a10a4f979ac495c14EXAMPLE/aad3ba00-83b3-4dac-84d4-11f8cEXAMPLE", "taskArn": "arn:aws:ecs:us-east-1:123456789012:task/MyCluster/74de0355a10a4f979ac495c14EXAMPLE", "name": "web", "image": "nginx", "runtimeId": "74de0355a10a4f979ac495c14EXAMPLE-265927825", "lastStatus": "RUNNING", "networkBindings": [], "networkInterfaces": [ { "attachmentId": "d9e7735a-16aa-4128-bc7a-b2d51EXAMPLE", "privateIpv4Address": "10.0.1.184" } ], "healthStatus": "UNKNOWN", "cpu": "99", "memory": "100" } ], "cpu": "256", "createdAt": "2021-12-20T12:13:20.226000-05:00", "desiredStatus": "RUNNING", "enableExecuteCommand": false, "group": "service:tdsevicetag", "healthStatus": "UNKNOWN", "lastStatus": "RUNNING", "launchType": "FARGATE", "memory": "512", "overrides": { "containerOverrides": [ { "name": "web" } ], "inferenceAcceleratorOverrides": [] }, "platformVersion": "1.4.0", "platformFamily": "Linux", "pullStartedAt": "2021-12-20T12:13:42.665000-05:00", "pullStoppedAt": "2021-12-20T12:13:46.543000-05:00", "startedAt": "2021-12-20T12:13:48.086000-05:00", "startedBy": "ecs-svc/988401040018EXAMPLE", "tags": [], "taskArn": "arn:aws:ecs:us-east-1:123456789012:task/MyCluster/74de0355a10a4f979ac495c14EXAMPLE", "taskDefinitionArn": "arn:aws:ecs:us-east-1:123456789012:task-definition/webserver:2", "version": 3, "ephemeralStorage": { "sizeInGiB": 20 } }, { "attachments": [ { "id": "214eb5a9-45cd-4bf8-87bc-57fefEXAMPLE", "type": "ElasticNetworkInterface", "status": "ATTACHED", "details": [ { "name": "subnetId", "value": "subnet-0d0eab1bb3EXAMPLE" }, { "name": "networkInterfaceId", "value": "eni-064c7766daEXAMPLE" }, { "name": "macAddress", "value": "0e:76:83:01:17:a9" }, { "name": "privateDnsName", "value": "ip-10-0-1-41.ec2.internal" }, { "name": "privateIPv4Address", "value": "10.0.1.41" } ] } ], "attributes": [ { "name": "ecs.cpu-architecture", "value": "x86_64" } ], "availabilityZone": "us-east-1b", "clusterArn": "arn:aws:ecs:us-east-1:123456789012:cluster/MyCluster", "connectivity": "CONNECTED", "connectivityAt": "2021-12-20T12:13:35.243000-05:00", "containers": [ { "containerArn": "arn:aws:ecs:us-east-1:123456789012:container/MyCluster/d789e94343414c25b9f6bd59eEXAMPLE/9afef792-609b-43a5-bb6a-3efdbEXAMPLE", "taskArn": "arn:aws:ecs:us-east-1:123456789012:task/MyCluster/d789e94343414c25b9f6bd59eEXAMPLE", "name": "web", "image": "nginx", "runtimeId": "d789e94343414c25b9f6bd59eEXAMPLE-265927825", "lastStatus": "RUNNING", "networkBindings": [], "networkInterfaces": [ { "attachmentId": "214eb5a9-45cd-4bf8-87bc-57fefEXAMPLE", "privateIpv4Address": "10.0.1.41" } ], "healthStatus": "UNKNOWN", "cpu": "99", "memory": "100" } ], "cpu": "256", "createdAt": "2021-12-20T12:13:20.226000-05:00", "desiredStatus": "RUNNING", "enableExecuteCommand": false, "group": "service:tdsevicetag", "healthStatus": "UNKNOWN", "lastStatus": "RUNNING", "launchType": "FARGATE", "memory": "512", "overrides": { "containerOverrides": [ { "name": "web" } ], "inferenceAcceleratorOverrides": [] }, "platformVersion": "1.4.0", "platformFamily": "Linux", "pullStartedAt": "2021-12-20T12:13:44.611000-05:00", "pullStoppedAt": "2021-12-20T12:13:48.251000-05:00", "startedAt": "2021-12-20T12:13:49.326000-05:00", "startedBy": "ecs-svc/988401040018EXAMPLE", "tags": [], "taskArn": "arn:aws:ecs:us-east-1:123456789012:task/MyCluster/d789e94343414c25b9f6bd59eEXAMPLE", "taskDefinitionArn": "arn:aws:ecs:us-east-1:123456789012:task-definition/webserver:2", "version": 3, "ephemeralStorage": { "sizeInGiB": 20 } } ], "failures": [] }

Weitere Informationen finden Sie unter ECSAmazon-Aufgabendefinitionen im Amazon ECS Developer Guide.

  • APIEinzelheiten finden Sie DescribeTasksin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungexecute-command.

AWS CLI

Um einen interactive /bin/sh Befehl auszuführen

Im folgenden execute-command Beispiel wird ein interactive /bin/sh Befehl MyContainer für einen Container ausgeführt, der nach einer Aufgabe mit der ID benannt istarn:aws:ecs:us-east-1:123456789012:task/MyCluster/d789e94343414c25b9f6bd59eEXAMPLE.

aws ecs execute-command \ --cluster MyCluster \ --task arn:aws:ecs:us-east-1:123456789012:task/MyCluster/d789e94343414c25b9f6bd59eEXAMPLE \ --container MyContainer \ --interactive \ --command "/bin/sh"

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Verwenden von Amazon ECS Exec zum Debuggen im Amazon ECS Developer Guide.

Das folgende Codebeispiel zeigt die Verwendunglist-account-settings.

AWS CLI

Beispiel 1: Um die Kontoeinstellungen für ein Konto anzuzeigen

Das folgende list-account-settings Beispiel zeigt die effektiven Kontoeinstellungen für ein Konto.

aws ecs list-account-settings --effective-settings

Ausgabe:

{ "settings": [ { "name": "containerInstanceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:root" }, { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:root" }, { "name": "taskLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:root" } ] }

Beispiel 2: Um die Kontoeinstellungen für einen bestimmten IAM Benutzer oder eine bestimmte IAM Rolle anzuzeigen

Im folgenden list-account-settings Beispiel werden die Kontoeinstellungen für den angegebenen IAM Benutzer oder die angegebene IAM Rolle angezeigt.

aws ecs list-account-settings --principal-arn arn:aws:iam::123456789012:user/MyUser

Ausgabe:

{ "settings": [ { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:user/MyUser" } ] }

Weitere Informationen finden Sie unter Amazon Resource Names (ARNs) und IDs im Amazon ECS Developer Guide.

Das folgende Codebeispiel zeigt die Verwendunglist-attributes.

AWS CLI

Um die Container-Instances aufzulisten, die ein bestimmtes Attribut enthalten

Im folgenden Beispiel werden die Attribute für Container-Instances aufgeführt, die das stack=production Attribut im Standardcluster haben.

aws ecs list-attributes \ --target-type container-instance \ --attribute-name stack \ --attribute-value production \ --cluster default

Ausgabe:

{ "attributes": [ { "name": "stack", "targetId": "arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34", "value": "production" } ] }

Weitere Informationen finden Sie unter Amazon ECS Container Agent Configuration im Amazon ECS Developer Guide.

  • APIEinzelheiten finden Sie ListAttributesin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-clusters.

AWS CLI

Um Ihre verfügbaren Cluster aufzulisten

Das folgende list-clusters Beispiel listet alle verfügbaren Cluster auf.

aws ecs list-clusters

Ausgabe:

{ "clusterArns": [ "arn:aws:ecs:us-west-2:123456789012:cluster/MyECSCluster1", "arn:aws:ecs:us-west-2:123456789012:cluster/AnotherECSCluster" ] }

Weitere Informationen finden Sie unter Amazon ECS Clusters im Amazon ECS Developer Guide.

  • APIEinzelheiten finden Sie ListClustersin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-container-instances.

AWS CLI

Um die Container-Instances in einem Cluster aufzulisten

Das folgende list-container-instances Beispiel listet alle verfügbaren Container-Instances in einem Cluster auf.

aws ecs list-container-instances --cluster MyCluster

Ausgabe:

{ "containerInstanceArns": [ "arn:aws:ecs:us-west-2:123456789012:container-instance/MyCluster/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "arn:aws:ecs:us-west-2:123456789012:container-instance/MyCluster/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE" ] }

Weitere Informationen finden Sie unter Amazon ECS Container Instances im Amazon ECS Developer Guide.

Das folgende Codebeispiel zeigt die Verwendunglist-services-by-namespace.

AWS CLI

Um die Dienste in einem Namespace aufzulisten

Das folgende list-services-by-namespace Beispiel listet alle Dienste auf, die für den angegebenen Namespace in Ihrer Standardregion konfiguriert sind.

aws ecs list-services-by-namespace \ --namespace service-connect

Ausgabe:

{ "serviceArns": [ "arn:aws:ecs:us-west-2:123456789012:service/MyCluster/MyService", "arn:aws:ecs:us-west-2:123456789012:service/tutorial/service-connect-nginx-service" ] }

Weitere Informationen finden Sie unter Service Connect im Amazon ECS Developer Guide.

Das folgende Codebeispiel zeigt die Verwendunglist-services.

AWS CLI

Um die Dienste in einem Cluster aufzulisten

Das folgende list-services Beispiel zeigt, wie die Dienste aufgelistet werden, die in einem Cluster ausgeführt werden.

aws ecs list-services --cluster MyCluster

Ausgabe:

{ "serviceArns": [ "arn:aws:ecs:us-west-2:123456789012:service/MyCluster/MyService" ] }

Weitere Informationen finden Sie unter Services im Amazon ECS Developer Guide.

  • APIEinzelheiten finden Sie ListServicesin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-tags-for-resource.

AWS CLI

Um die Tags für eine Ressource aufzulisten

Das folgende list-tags-for-resource Beispiel listet die Tags für einen bestimmten Cluster auf.

aws ecs list-tags-for-resource \ --resource-arn arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster

Ausgabe:

{ "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value2" }, { "key": "key3", "value": "value3" } ] }

Das folgende Codebeispiel zeigt die Verwendunglist-task-definition-families.

AWS CLI

Beispiel 1: Um die registrierten Aufgabendefinitionsfamilien aufzulisten

Im folgenden list-task-definition-families Beispiel werden alle registrierten Aufgabendefinitionsfamilien aufgeführt.

aws ecs list-task-definition-families

Ausgabe:

{ "families": [ "node-js-app", "web-timer", "hpcc", "hpcc-c4-8xlarge" ] }

Beispiel 2: Um die registrierten Aufgabendefinitionsfamilien zu filtern

Im folgenden list-task-definition-families Beispiel werden die Versionen der Aufgabendefinitionen aufgeführt, die mit „hpcc“ beginnen.

aws ecs list-task-definition-families --family-prefix hpcc

Ausgabe:

{ "families": [ "hpcc", "hpcc-c4-8xlarge" ] }

Weitere Informationen finden Sie unter Aufgabendefinitionsparameter im Amazon ECS Developer Guide.

Das folgende Codebeispiel zeigt die Verwendunglist-task-definitions.

AWS CLI

Beispiel 1: Um die registrierten Aufgabendefinitionen aufzulisten

Das folgende list-task-definitions Beispiel listet alle registrierten Aufgabendefinitionen auf.

aws ecs list-task-definitions

Ausgabe:

{ "taskDefinitionArns": [ "arn:aws:ecs:us-west-2:123456789012:task-definition/sleep300:2", "arn:aws:ecs:us-west-2:123456789012:task-definition/sleep360:1", "arn:aws:ecs:us-west-2:123456789012:task-definition/wordpress:3", "arn:aws:ecs:us-west-2:123456789012:task-definition/wordpress:4", "arn:aws:ecs:us-west-2:123456789012:task-definition/wordpress:5", "arn:aws:ecs:us-west-2:123456789012:task-definition/wordpress:6" ] }

Beispiel 2: Um die registrierten Aufgabendefinitionen in einer Familie aufzulisten

Im folgenden list-task-definitions Beispiel werden die Versionen der Aufgabendefinitionen einer angegebenen Familie aufgeführt.

aws ecs list-task-definitions --family-prefix wordpress

Ausgabe:

{ "taskDefinitionArns": [ "arn:aws:ecs:us-west-2:123456789012:task-definition/wordpress:3", "arn:aws:ecs:us-west-2:123456789012:task-definition/wordpress:4", "arn:aws:ecs:us-west-2:123456789012:task-definition/wordpress:5", "arn:aws:ecs:us-west-2:123456789012:task-definition/wordpress:6" ] }

Weitere Informationen finden Sie unter ECSAmazon-Aufgabendefinitionen im Amazon ECS Developer Guide.

Das folgende Codebeispiel zeigt die Verwendunglist-tasks.

AWS CLI

Beispiel 1: Um die Aufgaben in einem Cluster aufzulisten

Das folgende list-tasks Beispiel listet alle Aufgaben in einem Cluster auf.

aws ecs list-tasks --cluster default

Ausgabe:

{ "taskArns": [ "arn:aws:ecs:us-west-2:123456789012:task/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "arn:aws:ecs:us-west-2:123456789012:task/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE" ] }

Beispiel 2: Um die Aufgaben auf einer bestimmten Container-Instance aufzulisten

Das folgende list-tasks Beispiel listet die Aufgaben auf einer Container-Instance auf, wobei die Container-Instance UUID als Filter verwendet wird.

aws ecs list-tasks --cluster default --container-instance a1b2c3d4-5678-90ab-cdef-33333EXAMPLE

Ausgabe:

{ "taskArns": [ "arn:aws:ecs:us-west-2:123456789012:task/a1b2c3d4-5678-90ab-cdef-44444EXAMPLE" ] }

Weitere Informationen finden Sie unter ECSAmazon-Aufgabendefinitionen im Amazon ECS Developer Guide.

  • APIEinzelheiten finden Sie ListTasksin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungput-account-setting-default.

AWS CLI

Um die Standardkontoeinstellungen zu ändern

Im folgenden put-account-setting-default Beispiel wird die Standardkontoeinstellung für alle IAM Benutzer oder Rollen in Ihrem Konto geändert. Diese Änderungen gelten für das gesamte AWS Konto, sofern ein IAM Benutzer oder eine Rolle diese Einstellungen nicht ausdrücklich für sich selbst außer Kraft setzt.

aws ecs put-account-setting-default --name serviceLongArnFormat --value enabled

Ausgabe:

{ "setting": { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:root" } }

Weitere Informationen finden Sie unter Amazon Resource Names (ARNs) und IDs im Amazon ECS Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungput-account-setting.

AWS CLI

Um die Kontoeinstellungen für Ihr IAM Benutzerkonto zu ändern

Das folgende put-account-setting Beispiel aktiviert die serviceLongArnFormat Kontoeinstellungen für Ihr IAM Benutzerkonto.

aws ecs put-account-setting --name serviceLongArnFormat --value enabled

Ausgabe:

{ "setting": { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::130757420319:user/your_username" } }

Weitere Informationen finden Sie unter Kontoeinstellungen ändern im Amazon ECS Developer Guide.

Das folgende Codebeispiel zeigt, wie man es benutztput-account-settings.

AWS CLI

Um die Kontoeinstellungen für einen IAM Benutzer oder eine IAM Rolle zu ändern

Im folgenden put-account-setting Beispiel werden die Kontoeinstellungen für den angegebenen IAM Benutzer oder die angegebene IAM Rolle geändert.

aws ecs put-account-setting \ --name serviceLongArnFormat \ --value enabled \ --principal-arn arn:aws:iam::123456789012:user/MyUser

Ausgabe:

{ "setting": { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:user/MyUser" } }

Das folgende Codebeispiel zeigt, wie man es benutztput-attributes.

AWS CLI

Um ein Attribut zu erstellen und es mit einer ECS Amazon-Ressource zu verknüpfen

Im Folgenden wird ein Attribut mit dem Namen Stack und dem Wert Production auf eine Container-Instance put-attributes angewendet.

aws ecs put-attributes \ --attributes name=stack,value=production,targetId=arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34

Ausgabe:

{ "attributes": [ { "name": "stack", "targetId": "arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34", "value": "production" } ] }
  • APIEinzelheiten finden Sie PutAttributesunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie man es benutztput-cluster-capacity-providers.

AWS CLI

Beispiel 1: Um einen vorhandenen Kapazitätsanbieter zu einem Cluster hinzuzufügen

Das folgende put-cluster-capacity-providers Beispiel fügt einem Cluster einen vorhandenen Kapazitätsanbieter hinzu. Der create-capacity-provider Befehl wird verwendet, um einen Kapazitätsanbieter zu erstellen. Der describe-clusters Befehl wird verwendet, um die aktuellen Kapazitätsanbieter und die mit einem Cluster verknüpfte Standardstrategie für Kapazitätsanbieter zu beschreiben. Wenn Sie einem Cluster einen neuen Kapazitätsanbieter hinzufügen, müssen Sie zusätzlich zu dem neuen Kapazitätsanbieter, den Sie dem Cluster zuordnen möchten, alle vorhandenen Kapazitätsanbieter angeben. Sie müssen auch die Standardstrategie für den Kapazitätsanbieter angeben, der dem Cluster zugeordnet werden soll. In diesem Beispiel ist dem MyCluster Cluster der MyCapacityProvider1 Kapazitätsanbieter zugeordnet, und Sie möchten den MyCapacityProvider2 Kapazitätsanbieter hinzufügen und ihn in die Standardstrategie für den Kapazitätsanbieter aufnehmen, sodass die Aufgaben gleichmäßig auf beide Kapazitätsanbieter verteilt werden.

aws ecs put-cluster-capacity-providers \ --cluster MyCluster \ --capacity-providers MyCapacityProvider1 MyCapacityProvider2 \ --default-capacity-provider-strategy capacityProvider=MyCapacityProvider1,weight=1 capacityProvider=MyCapacityProvider2,weight=1

Ausgabe:

{ "cluster": { "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "clusterName": "MyCluster", "status": "ACTIVE", "registeredContainerInstancesCount": 0, "runningTasksCount": 0, "pendingTasksCount": 0, "activeServicesCount": 0, "statistics": [], "tags": [], "settings": [ { "name": "containerInsights", "value": "enabled" } ], "capacityProviders": [ "MyCapacityProvider1", "MyCapacityProvider2" ], "defaultCapacityProviderStrategy": [ { "capacityProvider": "MyCapacityProvider1", "weight": 1, "base": 0 }, { "capacityProvider": "MyCapacityProvider2", "weight": 1, "base": 0 } ], "attachments": [ { "id": "0fb0c8f4-6edd-4de1-9b09-17e470ee1918", "type": "as_policy", "status": "ACTIVE", "details": [ { "name": "capacityProviderName", "value": "MyCapacityProvider1" }, { "name": "scalingPolicyName", "value": "ECSManagedAutoScalingPolicy-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } ] }, { "id": "ae592060-2382-4663-9476-b015c685593c", "type": "as_policy", "status": "ACTIVE", "details": [ { "name": "capacityProviderName", "value": "MyCapacityProvider2" }, { "name": "scalingPolicyName", "value": "ECSManagedAutoScalingPolicy-a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" } ] } ], "attachmentsStatus": "UPDATE_IN_PROGRESS" } }

Weitere Informationen finden Sie unter Cluster-Kapazitätsanbieter im Amazon ECS Developer Guide.

Beispiel 2: Um einen Kapazitätsanbieter aus einem Cluster zu entfernen

Im folgenden put-cluster-capacity-providers Beispiel wird ein Kapazitätsanbieter aus einem Cluster entfernt. Der describe-clusters Befehl wird verwendet, um die aktuellen Kapazitätsanbieter zu beschreiben, die einem Cluster zugeordnet sind. Wenn Sie einen Kapazitätsanbieter aus einem Cluster entfernen, müssen Sie die Kapazitätsanbieter angeben, die dem Cluster zugeordnet bleiben sollen, sowie die Standardstrategie für den Kapazitätsanbieter, die dem Cluster zugeordnet werden sollen. In diesem Beispiel sind dem Cluster die MyCapacityProvider1 und die MyCapacityProvider2 Kapazitätsanbieter zugeordnet, und Sie möchten den MyCapacityProvider2 Kapazitätsanbieter entfernen, sodass Sie ihn nur MyCapacityProvider1 im Befehl zusammen mit der aktualisierten Standardstrategie für Kapazitätsanbieter angeben.

aws ecs put-cluster-capacity-providers \ --cluster MyCluster \ --capacity-providers MyCapacityProvider1 \ --default-capacity-provider-strategy capacityProvider=MyCapacityProvider1,weight=1,base=0

Ausgabe:

{ "cluster": { "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "clusterName": "MyCluster", "status": "ACTIVE", "registeredContainerInstancesCount": 0, "runningTasksCount": 0, "pendingTasksCount": 0, "activeServicesCount": 0, "statistics": [], "tags": [], "settings": [ { "name": "containerInsights", "value": "enabled" } ], "capacityProviders": [ "MyCapacityProvider1" ], "defaultCapacityProviderStrategy": [ "capacityProvider": "MyCapacityProvider1", "weight": 1, "base": 0 ], "attachments": [ { "id": "0fb0c8f4-6edd-4de1-9b09-17e470ee1918", "type": "as_policy", "status": "ACTIVE", "details": [ { "name": "capacityProviderName", "value": "MyCapacityProvider1" }, { "name": "scalingPolicyName", "value": "ECSManagedAutoScalingPolicy-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } ] }, { "id": "ae592060-2382-4663-9476-b015c685593c", "type": "as_policy", "status": "DELETING", "details": [ { "name": "capacityProviderName", "value": "MyCapacityProvider2" }, { "name": "scalingPolicyName", "value": "ECSManagedAutoScalingPolicy-a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" } ] } ], "attachmentsStatus": "UPDATE_IN_PROGRESS" } }

Weitere Informationen finden Sie unter Cluster-Kapazitätsanbieter im Amazon ECS Developer Guide.

Beispiel 3: Um alle Kapazitätsanbieter aus einem Cluster zu entfernen

Im folgenden put-cluster-capacity-providers Beispiel werden alle vorhandenen Kapazitätsanbieter aus dem Cluster entfernt.

aws ecs put-cluster-capacity-providers \ --cluster MyCluster \ --capacity-providers [] \ --default-capacity-provider-strategy []

Ausgabe:

{ "cluster": { "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "clusterName": "MyCluster", "status": "ACTIVE", "registeredContainerInstancesCount": 0, "runningTasksCount": 0, "pendingTasksCount": 0, "activeServicesCount": 0, "statistics": [], "tags": [], "settings": [ { "name": "containerInsights", "value": "enabled" } ], "capacityProviders": [], "defaultCapacityProviderStrategy": [], "attachments": [ { "id": "0fb0c8f4-6edd-4de1-9b09-17e470ee1918", "type": "as_policy", "status": "DELETING", "details": [ { "name": "capacityProviderName", "value": "MyCapacityProvider1" }, { "name": "scalingPolicyName", "value": "ECSManagedAutoScalingPolicy-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } ] }, { "id": "ae592060-2382-4663-9476-b015c685593c", "type": "as_policy", "status": "DELETING", "details": [ { "name": "capacityProviderName", "value": "MyCapacityProvider2" }, { "name": "scalingPolicyName", "value": "ECSManagedAutoScalingPolicy-a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" } ] } ], "attachmentsStatus": "UPDATE_IN_PROGRESS" } }

Weitere Informationen finden Sie unter Cluster-Kapazitätsanbieter im Amazon ECS Developer Guide.

Das folgende Codebeispiel zeigt, wie man es benutztregister-task-definition.

AWS CLI

Beispiel 1: Um eine Aufgabendefinition in einer JSON Datei zu registrieren

Im folgenden register-task-definition Beispiel wird eine Aufgabendefinition für die angegebene Familie registriert. Die Containerdefinitionen werden im JSON Format am angegebenen Dateispeicherort gespeichert.

aws ecs register-task-definition \ --cli-input-json file://<path_to_json_file>/sleep360.json

Inhalt von sleep360.json:

{ "containerDefinitions": [ { "name": "sleep", "image": "busybox", "cpu": 10, "command": [ "sleep", "360" ], "memory": 10, "essential": true } ], "family": "sleep360" }

Ausgabe:

{ "taskDefinition": { "status": "ACTIVE", "family": "sleep360", "placementConstraints": [], "compatibilities": [ "EXTERNAL", "EC2" ], "volumes": [], "taskDefinitionArn": "arn:aws:ecs:us-east-1:123456789012:task-definition/sleep360:1", "containerDefinitions": [ { "environment": [], "name": "sleep", "mountPoints": [], "image": "busybox", "cpu": 10, "portMappings": [], "command": [ "sleep", "360" ], "memory": 10, "essential": true, "volumesFrom": [] } ], "revision": 1 } }

Weitere Informationen finden Sie unter Beispielaufgabendefinitionen im Amazon ECS Developer Guide.

Beispiel 2: Um eine Aufgabendefinition mit einem JSON Zeichenkettenparameter zu registrieren

Im folgenden register-task-definition Beispiel wird eine Aufgabendefinition mithilfe von Containerdefinitionen registriert, die als JSON Zeichenkettenparameter mit maskierten doppelten Anführungszeichen bereitgestellt werden.

aws ecs register-task-definition \ --family sleep360 \ --container-definitions "[{\"name\":\"sleep\",\"image\":\"busybox\",\"cpu\":10,\"command\":[\"sleep\",\"360\"],\"memory\":10,\"essential\":true}]"

Die Ausgabe ist identisch mit dem vorherigen Beispiel.

Weitere Informationen finden Sie unter Erstellen einer Aufgabendefinition im Amazon ECS Developer Guide.

Das folgende Codebeispiel zeigt, wie man es benutztrun-task.

AWS CLI

Um eine Aufgabe auf Ihrem Standardcluster auszuführen

Im folgenden run-task Beispiel wird eine Aufgabe auf dem Standardcluster ausgeführt und ein Client-Token verwendet.

aws ecs run-task \ --cluster default \ --task-definition sleep360:1 \ --client-token 550e8400-e29b-41d4-a716-446655440000

Ausgabe:

{ "tasks": [ { "attachments": [], "attributes": [ { "name": "ecs.cpu-architecture", "value": "x86_64" } ], "availabilityZone": "us-east-1b", "capacityProviderName": "example-capacity-provider", "clusterArn": "arn:aws:ecs:us-east-1:123456789012:cluster/default", "containerInstanceArn": "arn:aws:ecs:us-east-1:123456789012:container-instance/default/bc4d2ec611d04bb7bb97e83ceEXAMPLE", "containers": [ { "containerArn": "arn:aws:ecs:us-east-1:123456789012:container/default/d6f51cc5bbc94a47969c92035e9f66f8/75853d2d-711e-458a-8362-0f0aEXAMPLE", "taskArn": "arn:aws:ecs:us-east-1:123456789012:task/default/d6f51cc5bbc94a47969c9203EXAMPLE", "name": "sleep", "image": "busybox", "lastStatus": "PENDING", "networkInterfaces": [], "cpu": "10", "memory": "10" } ], "cpu": "10", "createdAt": "2023-11-21T16:59:34.403000-05:00", "desiredStatus": "RUNNING", "enableExecuteCommand": false, "group": "family:sleep360", "lastStatus": "PENDING", "launchType": "EC2", "memory": "10", "overrides": { "containerOverrides": [ { "name": "sleep" } ], "inferenceAcceleratorOverrides": [] }, "tags": [], "taskArn": "arn:aws:ecs:us-east-1:123456789012:task/default/d6f51cc5bbc94a47969c9203EXAMPLE", "taskDefinitionArn": "arn:aws:ecs:us-east-1:123456789012:task-definition/sleep360:1", "version": 1 } ], "failures": [] }

Weitere Informationen finden Sie unter Running Tasks im Amazon ECS Developer Guide.

  • APIEinzelheiten finden Sie RunTaskin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie man es benutztstart-task.

AWS CLI

Um eine neue Aufgabe zu starten

Im Folgenden start-task wird eine Aufgabe mit der neuesten Version der sleep360 Aufgabendefinition auf der angegebenen Container-Instance im Standardcluster gestartet.

aws ecs start-task \ --task-definition sleep360 \ --container-instances 765936fadbdd46b5991a4bd70c2a43d4

Ausgabe:

{ "tasks": [ { "taskArn": "arn:aws:ecs:us-west-2:130757420319:task/default/666fdccc2e2d4b6894dd422f4eeee8f8", "clusterArn": "arn:aws:ecs:us-west-2:130757420319:cluster/default", "taskDefinitionArn": "arn:aws:ecs:us-west-2:130757420319:task-definition/sleep360:3", "containerInstanceArn": "arn:aws:ecs:us-west-2:130757420319:container-instance/default/765936fadbdd46b5991a4bd70c2a43d4", "overrides": { "containerOverrides": [ { "name": "sleep" } ] }, "lastStatus": "PENDING", "desiredStatus": "RUNNING", "cpu": "128", "memory": "128", "containers": [ { "containerArn": "arn:aws:ecs:us-west-2:130757420319:container/75f11ed4-8a3d-4f26-a33b-ad1db9e02d41", "taskArn": "arn:aws:ecs:us-west-2:130757420319:task/default/666fdccc2e2d4b6894dd422f4eeee8f8", "name": "sleep", "lastStatus": "PENDING", "networkInterfaces": [], "cpu": "10", "memory": "10" } ], "version": 1, "createdAt": 1563421494.186, "group": "family:sleep360", "launchType": "EC2", "attachments": [], "tags": [] } ], "failures": [] }
  • APIEinzelheiten finden Sie StartTaskunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie man es benutztstop-task.

AWS CLI

So beenden Sie eine Aufgabe

Im Folgenden stop-task wird verhindert, dass die angegebene Aufgabe im Standardcluster ausgeführt wird.

aws ecs stop-task \ --task 666fdccc2e2d4b6894dd422f4eeee8f8

Ausgabe:

{ "task": { "taskArn": "arn:aws:ecs:us-west-2:130757420319:task/default/666fdccc2e2d4b6894dd422f4eeee8f8", "clusterArn": "arn:aws:ecs:us-west-2:130757420319:cluster/default", "taskDefinitionArn": "arn:aws:ecs:us-west-2:130757420319:task-definition/sleep360:3", "containerInstanceArn": "arn:aws:ecs:us-west-2:130757420319:container-instance/default/765936fadbdd46b5991a4bd70c2a43d4", "overrides": { "containerOverrides": [] }, "lastStatus": "STOPPED", "desiredStatus": "STOPPED", "cpu": "128", "memory": "128", "containers": [], "version": 2, "stoppedReason": "Taskfailedtostart", "stopCode": "TaskFailedToStart", "connectivity": "CONNECTED", "connectivityAt": 1563421494.186, "pullStartedAt": 1563421494.252, "pullStoppedAt": 1563421496.252, "executionStoppedAt": 1563421497, "createdAt": 1563421494.186, "stoppingAt": 1563421497.252, "stoppedAt": 1563421497.252, "group": "family:sleep360", "launchType": "EC2", "attachments": [], "tags": [] } }
  • APIEinzelheiten finden Sie StopTaskin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie man es benutzttag-resource.

AWS CLI

Um eine Ressource zu taggen

Im folgenden tag-resource Beispiel wird der angegebenen Ressource ein einzelnes Tag hinzugefügt.

aws ecs tag-resource \ --resource-arn arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster --tags key=key1,value=value1

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Um einer Ressource mehrere Tags hinzuzufügen

Das folgende tag-resource Beispiel fügt der angegebenen Ressource mehrere Tags hinzu.

aws ecs tag-resource \ --resource-arn arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster \ --tags key=key1,value=value1 key=key2,value=value2 key=key3,value=value3

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

  • APIEinzelheiten finden Sie TagResourceunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie man es benutztuntag-resource.

AWS CLI

Um ein Tag aus einer Ressource zu entfernen

Im folgenden untag-resource Beispiel werden die aufgelisteten Tags aus der angegebenen Ressource entfernt.

aws ecs untag-resource \ --resource-arn arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster \ --tag-keys key1,key2

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

  • APIEinzelheiten finden Sie UntagResourceunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie man es benutztupdate-cluster-settings.

AWS CLI

Um die Einstellungen für Ihren Cluster zu ändern

Das folgende update-cluster-settings Beispiel aktiviert CloudWatch Container Insights für den default Cluster.

aws ecs update-cluster-settings \ --cluster default \ --settings name=containerInsights,value=enabled

Ausgabe:

{ "cluster": { "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", "clusterName": "default", "status": "ACTIVE", "registeredContainerInstancesCount": 0, "runningTasksCount": 0, "pendingTasksCount": 0, "activeServicesCount": 0, "statistics": [], "tags": [], "settings": [ { "name": "containerInsights", "value": "enabled" } ] } }

Weitere Informationen finden Sie unter Kontoeinstellungen ändern im Amazon ECS Developer Guide.

Das folgende Codebeispiel zeigt, wie man es benutztupdate-container-agent.

AWS CLI

Um den Container-Agenten auf einer ECS Amazon-Container-Instance zu aktualisieren

Im folgenden update-container-agent Beispiel wird der Container-Agent auf der angegebenen Container-Instance im Standard-Cluster aktualisiert.

aws ecs update-container-agent --cluster default --container-instance a1b2c3d4-5678-90ab-cdef-11111EXAMPLE

Ausgabe:

{ "containerInstance": { "status": "ACTIVE", ... "agentUpdateStatus": "PENDING", "versionInfo": { "agentVersion": "1.0.0", "agentHash": "4023248", "dockerVersion": "DockerVersion: 1.5.0" } } }

Weitere Informationen finden Sie unter Updating the Amazon ECS Container Agent im Amazon ECS Developer Guide.

Das folgende Codebeispiel zeigt, wie man es benutztupdate-container-instances-state.

AWS CLI

Um den Status einer Container-Instance zu aktualisieren

Im Folgenden wird der Status der angegebenen Container-Instance update-container-instances-state aktualisiert, DRAINING wodurch sie aus dem Cluster entfernt wird, in dem sie registriert ist.

aws ecs update-container-instances-state \ --container-instances 765936fadbdd46b5991a4bd70c2a43d4 \ --status DRAINING

Ausgabe:

{ "containerInstances": [ { "containerInstanceArn": "arn:aws:ecs:us-west-2:130757420319:container-instance/default/765936fadbdd46b5991a4bd70c2a43d4", "ec2InstanceId": "i-013d87ffbb4d513bf", "version": 4390, "versionInfo": { "agentVersion": "1.29.0", "agentHash": "a190a73f", "dockerVersion": "DockerVersion:18.06.1-ce" }, "remainingResources": [ { "name": "CPU", "type": "INTEGER", "doubleValue": 0, "longValue": 0, "integerValue": 1536 }, { "name": "MEMORY", "type": "INTEGER", "doubleValue": 0, "longValue": 0, "integerValue": 2681 }, { "name": "PORTS", "type": "STRINGSET", "doubleValue": 0, "longValue": 0, "integerValue": 0, "stringSetValue": [ "22", "2376", "2375", "51678", "51679" ] }, { "name": "PORTS_UDP", "type": "STRINGSET", "doubleValue": 0, "longValue": 0, "integerValue": 0, "stringSetValue": [] } ], "registeredResources": [ { "name": "CPU", "type": "INTEGER", "doubleValue": 0, "longValue": 0, "integerValue": 2048 }, { "name": "MEMORY", "type": "INTEGER", "doubleValue": 0, "longValue": 0, "integerValue": 3705 }, { "name": "PORTS", "type": "STRINGSET", "doubleValue": 0, "longValue": 0, "integerValue": 0, "stringSetValue": [ "22", "2376", "2375", "51678", "51679" ] }, { "name": "PORTS_UDP", "type": "STRINGSET", "doubleValue": 0, "longValue": 0, "integerValue": 0, "stringSetValue": [] } ], "status": "DRAINING", "agentConnected": true, "runningTasksCount": 2, "pendingTasksCount": 0, "attributes": [ { "name": "ecs.capability.secrets.asm.environment-variables" }, { "name": "ecs.capability.branch-cni-plugin-version", "value": "e0703516-" }, { "name": "ecs.ami-id", "value": "ami-00e0090ac21971297" }, { "name": "ecs.capability.secrets.asm.bootstrap.log-driver" }, { "name": "com.amazonaws.ecs.capability.logging-driver.none" }, { "name": "ecs.capability.ecr-endpoint" }, { "name": "ecs.capability.docker-plugin.local" }, { "name": "ecs.capability.task-cpu-mem-limit" }, { "name": "ecs.capability.secrets.ssm.bootstrap.log-driver" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.30" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.31" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.32" }, { "name": "ecs.availability-zone", "value": "us-west-2c" }, { "name": "ecs.capability.aws-appmesh" }, { "name": "com.amazonaws.ecs.capability.logging-driver.awslogs" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.24" }, { "name": "ecs.capability.task-eni-trunking" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.25" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.26" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.27" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.28" }, { "name": "com.amazonaws.ecs.capability.privileged-container" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.29" }, { "name": "ecs.cpu-architecture", "value": "x86_64" }, { "name": "com.amazonaws.ecs.capability.ecr-auth" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.20" }, { "name": "ecs.os-type", "value": "linux" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.21" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.22" }, { "name": "ecs.capability.task-eia" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.23" }, { "name": "ecs.capability.private-registry-authentication.secretsmanager" }, { "name": "com.amazonaws.ecs.capability.logging-driver.syslog" }, { "name": "com.amazonaws.ecs.capability.logging-driver.json-file" }, { "name": "ecs.capability.execution-role-awslogs" }, { "name": "ecs.vpc-id", "value": "vpc-1234" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.17" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.18" }, { "name": "com.amazonaws.ecs.capability.docker-remote-api.1.19" }, { "name": "ecs.capability.task-eni" }, { "name": "ecs.capability.execution-role-ecr-pull" }, { "name": "ecs.capability.container-health-check" }, { "name": "ecs.subnet-id", "value": "subnet-1234" }, { "name": "ecs.instance-type", "value": "c5.large" }, { "name": "com.amazonaws.ecs.capability.task-iam-role-network-host" }, { "name": "ecs.capability.container-ordering" }, { "name": "ecs.capability.cni-plugin-version", "value": "91ccefc8-2019.06.0" }, { "name": "ecs.capability.pid-ipc-namespace-sharing" }, { "name": "ecs.capability.secrets.ssm.environment-variables" }, { "name": "com.amazonaws.ecs.capability.task-iam-role" } ], "registeredAt": 1560788724.507, "attachments": [], "tags": [] } ], "failures": [] }

Das folgende Codebeispiel zeigt, wie man es benutztupdate-service-primary-task-set.

AWS CLI

Um den primären Tasksatz für einen Service zu aktualisieren

Im folgenden update-service-primary-task-set Beispiel wird der primäre Tasksatz für den angegebenen Service aktualisiert.

aws ecs update-service-primary-task-set \ --cluster MyCluster \ --service MyService \ --primary-task-set arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789

Ausgabe:

{ "taskSet": { "id": "ecs-svc/1234567890123456789", "taskSetArn": "arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789", "status": "PRIMARY", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sample-fargate:2", "computedDesiredCount": 1, "pendingCount": 0, "runningCount": 0, "createdAt": 1557128360.711, "updatedAt": 1557129412.653, "launchType": "EC2", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12344321" ], "securityGroups": [ "sg-12344312" ], "assignPublicIp": "DISABLED" } }, "loadBalancers": [], "serviceRegistries": [], "scale": { "value": 50.0, "unit": "PERCENT" }, "stabilityStatus": "STABILIZING", "stabilityStatusAt": 1557129279.914 } }

Das folgende Codebeispiel zeigt, wie man es benutztupdate-service.

AWS CLI

Beispiel 1: Um die in einem Dienst verwendete Aufgabendefinition zu ändern

Im folgenden update-service Beispiel wird der my-http-service Dienst aktualisiert, sodass er die amazon-ecs-sample Aufgabendefinition verwendet.

aws ecs update-service --service my-http-service --task-definition amazon-ecs-sample

Beispiel 2: Um die Anzahl der Aufgaben in einem Service zu ändern

Im folgenden update-service Beispiel wird die gewünschte Aufgabenanzahl des Dienstes my-http-service auf 3 aktualisiert.

aws ecs update-service --service my-http-service --desired-count 3

Weitere Informationen finden Sie unter Aktualisieren eines Service im Amazon ECS Developer Guide.

  • APIEinzelheiten finden Sie UpdateServicein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie man es benutztupdate-task-set.

AWS CLI

Um einen Tasksatz zu aktualisieren

Im folgenden update-task-set Beispiel wird ein Task-Set aktualisiert, um den Maßstab anzupassen.

aws ecs update-task-set \ --cluster MyCluster \ --service MyService \ --task-set arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789 \ --scale value=50,unit=PERCENT

Ausgabe:

{ "taskSet": { "id": "ecs-svc/1234567890123456789", "taskSetArn": "arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789", "status": "ACTIVE", "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sample-fargate:2", "computedDesiredCount": 0, "pendingCount": 0, "runningCount": 0, "createdAt": 1557128360.711, "updatedAt": 1557129279.914, "launchType": "EC2", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-12344321" ], "securityGroups": [ "sg-12344321" ], "assignPublicIp": "DISABLED" } }, "loadBalancers": [], "serviceRegistries": [], "scale": { "value": 50.0, "unit": "PERCENT" }, "stabilityStatus": "STABILIZING", "stabilityStatusAt": 1557129279.914 } }
  • APIEinzelheiten finden Sie UpdateTaskSetunter AWS CLI Befehlsreferenz.