Contoh Amazon ECS menggunakan AWS CLI - AWS Command Line Interface

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

Contoh Amazon ECS menggunakan AWS CLI

Contoh kode berikut menunjukkan kepada Anda cara melakukan tindakan dan menerapkan skenario umum AWS Command Line Interface dengan menggunakan Amazon ECS.

Tindakan adalah kutipan kode dari program yang lebih besar dan harus dijalankan dalam konteks. Sementara tindakan menunjukkan cara memanggil fungsi layanan individual, Anda dapat melihat tindakan dalam konteks dalam skenario terkait.

Setiap contoh menyertakan tautan ke kode sumber lengkap, di mana Anda dapat menemukan instruksi tentang cara mengatur dan menjalankan kode dalam konteks.

Tindakan

Contoh kode berikut menunjukkan cara menggunakancapacity-provider-update.

AWS CLI

Perbarui penyedia kapasitas di cluster ECS

update-capacity-providerContoh berikut menunjukkan bagaimana kita dapat memodifikasi parameter penyedia kapasitas dalam cluster ECS.

aws ecs update-capacity-provider \ --name Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt \ --auto-scaling-group-provider "managedScaling={status=DISABLED,targetCapacity=50,minimumScalingStepSize=2,maximumScalingStepSize=30,instanceWarmupPeriod=200},managedTerminationProtection=DISABLED,managedDraining=DISABLED"

Output:

{ "capacityProvider": { "capacityProviderArn": "arn:aws:ecs:us-west-2:123456789012:capacity-provider/Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt", "name": "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt", "status": "ACTIVE", "autoScalingGroupProvider": { "autoScalingGroupArn": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:424941d1-b43f-4a17-adbb-08b6a6e397e1:autoScalingGroupName/Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-ECSAutoScalingGroup-f44jrQHS2nRB", "managedScaling": { "status": "ENABLED", "targetCapacity": 100, "minimumScalingStepSize": 1, "maximumScalingStepSize": 10000, "instanceWarmupPeriod": 300 }, "managedTerminationProtection": "DISABLED", "managedDraining": "ENABLED" }, "updateStatus": "UPDATE_IN_PROGRESS", "tags": [] } }

Untuk informasi selengkapnya tentang Penyedia Kapasitas, lihat Penyedia kapasitas Amazon ECS untuk jenis EC2 peluncuran di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakancreate-capacity-provider.

AWS CLI

Untuk membuat penyedia kapasitas

create-capacity-providerContoh berikut membuat penyedia kapasitas yang menggunakan grup Auto Scaling bernama myASG, telah mengelola penskalaan dan perlindungan terminasi terkelola yang diaktifkan. Konfigurasi ini digunakan untuk auto scaling klaster Amazon ECS.

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"

Output:

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

Untuk informasi selengkapnya, lihat penskalaan otomatis klaster Amazon ECS di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakancreate-cluster.

AWS CLI

Contoh 1: Untuk membuat cluster baru

create-clusterContoh berikut menciptakan sebuah cluster.

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

Output:

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

Untuk informasi selengkapnya, lihat Membuat Cluster di Panduan Pengembang Amazon ECS.

Contoh 2: Untuk membuat cluster baru menggunakan penyedia kapasitas

create-clusterContoh berikut membuat cluster dan mengaitkan dua penyedia kapasitas yang ada dengannya. create-capacity-providerPerintah ini digunakan untuk membuat penyedia kapasitas. Menentukan strategi penyedia kapasitas default adalah opsional, tetapi disarankan. Dalam contoh ini, kita membuat sebuah cluster bernama MyCluster dan mengasosiasikan MyCapacityProvider1 dan penyedia MyCapacityProvider2 kapasitas dengannya. Strategi penyedia kapasitas default ditentukan yang menyebarkan tugas secara merata di kedua penyedia kapasitas.

aws ecs create-cluster --cluster-name MyCluster --capacity-providers 1 2 -- CapacityProvider= 1, berat = 1 kapasitasPenyedia= 2, berat = MyCapacityProvider 1 MyCapacityProvider default-capacity-provider-strategy MyCapacityProvider MyCapacityProvider

Output:

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

Untuk informasi selengkapnya, lihat Penyedia kapasitas klaster di Panduan Pengembang Amazon ECS.

Contoh 3: Untuk membuat cluster baru dengan beberapa tag

create-clusterContoh berikut membuat cluster dengan beberapa tag. Untuk informasi selengkapnya tentang menambahkan tag menggunakan sintaks singkatan, lihat Menggunakan Sintaks Shorthand dengan Antarmuka AWS Baris Perintah di Panduan Pengguna CLI.AWS

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

Output:

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

Untuk informasi selengkapnya, lihat Membuat Cluster di Panduan Pengembang Amazon ECS.

  • Untuk detail API, lihat CreateClusterdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakancreate-service.

AWS CLI

Contoh 1: Untuk membuat layanan dengan tugas Fargate

create-serviceContoh berikut menunjukkan cara membuat layanan menggunakan tugas Fargate.

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

Output:

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

Contoh 2: Untuk membuat layanan menggunakan tipe EC2 peluncuran

create-serviceContoh berikut menunjukkan cara membuat layanan yang dipanggil ecs-simple-service dengan tugas yang menggunakan jenis EC2 peluncuran. Layanan ini menggunakan definisi sleep360 tugas dan mempertahankan 1 instantiasi tugas.

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

Output:

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

Contoh 3: Untuk membuat layanan yang menggunakan pengontrol penyebaran eksternal

create-serviceContoh berikut membuat layanan yang menggunakan controller deployment eksternal.

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

Output:

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

Contoh 4: Untuk membuat layanan baru di belakang penyeimbang beban

create-serviceContoh berikut menunjukkan cara membuat layanan yang berada di belakang penyeimbang beban. Anda harus memiliki penyeimbang beban yang dikonfigurasi di Wilayah yang sama dengan instance container Anda. Contoh ini menggunakan --cli-input-json opsi dan file input JSON yang disebut ecs-simple-service-elb.json dengan konten berikut:

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

Perintah:

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

Output:

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

Untuk informasi selengkapnya, lihat Membuat Layanan di Panduan Pengembang Amazon ECS.

  • Untuk detail API, lihat CreateServicedi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakancreate-task-set.

AWS CLI

Untuk membuat set tugas

create-task-setContoh berikut membuat tugas yang ditetapkan dalam layanan yang menggunakan controller deployment eksternal.

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

Output:

{ "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 } }
  • Untuk detail API, lihat CreateTaskSetdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakandelete-account-setting.

AWS CLI

Untuk menghapus pengaturan akun untuk pengguna IAM tertentu atau peran IAM

Contoh berikut delete-account-setting menghapus pengaturan akun untuk pengguna IAM tertentu atau peran IAM.

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

Output:

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

Untuk informasi selengkapnya, lihat Nama Sumber Daya Amazon (ARNs) dan IDs di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakandelete-attributes.

AWS CLI

Untuk menghapus satu atau beberapa atribut kustom dari sumber daya Amazon ECS

Berikut ini delete-attributes menghapus atribut dengan nama stack dari instance container.

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

Output:

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

Contoh kode berikut menunjukkan cara menggunakandelete-capacity-provider.

AWS CLI

Contoh 1: Untuk menghapus penyedia kapasitas menggunakan Amazon Resource Name (ARN)

delete-capacity-providerContoh berikut menghapus penyedia kapasitas dengan menentukan Amazon Resource Name (ARN) dari penyedia kapasitas. ARN serta status penghapusan penyedia kapasitas dapat diambil menggunakan perintah. describe-capacity-providers

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

Output:

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

Untuk informasi selengkapnya, lihat Penyedia kapasitas klaster di Panduan Pengembang Amazon ECS.

Contoh 2: Untuk menghapus penyedia kapasitas menggunakan nama

delete-capacity-providerContoh berikut menghapus penyedia kapasitas dengan menentukan nama pendek penyedia kapasitas. Nama pendek serta status penghapusan penyedia kapasitas dapat diambil menggunakan perintah. describe-capacity-providers

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

Output:

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

Untuk informasi selengkapnya, lihat Penyedia kapasitas klaster di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakandelete-cluster.

AWS CLI

Untuk menghapus cluster kosong

delete-clusterContoh berikut menghapus cluster kosong yang ditentukan.

aws ecs delete-cluster --cluster MyCluster

Output:

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

Untuk informasi selengkapnya, lihat Menghapus Cluster di Panduan Pengembang Amazon ECS.

  • Untuk detail API, lihat DeleteClusterdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakandelete-service.

AWS CLI

Untuk menghapus layanan

ecs delete-serviceContoh berikut menghapus layanan tertentu dari cluster. Anda dapat menyertakan --force parameter untuk menghapus layanan meskipun belum diskalakan ke nol tugas.

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

Untuk informasi selengkapnya, lihat Menghapus Layanan di Panduan Pengembang Amazon ECS.

  • Untuk detail API, lihat DeleteServicedi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakandelete-task-definitions.

AWS CLI

Untuk menghapus definisi tugas

delete-task-definitionsContoh berikut menghapus definisi tugas INACTIVE.

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

Output:

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

Untuk informasi selengkapnya, lihat Definisi Tugas Amazon ECS di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakandelete-task-set.

AWS CLI

Untuk menghapus set tugas

delete-task-setContoh berikut menunjukkan cara menghapus set tugas. Anda dapat menyertakan --force parameter untuk menghapus set tugas meskipun belum diskalakan ke nol.

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

Output:

{ "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 } }
  • Untuk detail API, lihat DeleteTaskSetdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanderegister-container-instance.

AWS CLI

Untuk membatalkan pendaftaran instance kontainer dari cluster

deregister-container-instanceContoh berikut deregisters instance container dari cluster tertentu. Jika masih ada tugas yang berjalan dalam instance penampung, Anda harus menghentikan tugas tersebut sebelum membatalkan pendaftaran, atau menggunakan opsi. --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

Output:

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

Untuk informasi selengkapnya, lihat Membatalkan pendaftaran Instans Kontainer di Panduan Pengembang ECS.

Contoh kode berikut menunjukkan cara menggunakanderegister-task-definition.

AWS CLI

Untuk membatalkan pendaftaran definisi tugas

deregister-task-definitionContoh berikut membatalkan pendaftaran revisi pertama definisi curler tugas di wilayah default Anda.

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

Perhatikan bahwa dalam output yang dihasilkan, status definisi tugas menunjukkanINACTIVE:

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

Untuk informasi selengkapnya, lihat Definisi Tugas Amazon ECS di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakandescribe-capacity-providers.

AWS CLI

Contoh 1: Untuk menggambarkan semua penyedia kapasitas

describe-capacity-providersContoh berikut mengambil rincian tentang semua penyedia kapasitas.

aws ecs describe-capacity-providers

Output:

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

Untuk informasi selengkapnya, lihat Penyedia kapasitas klaster di Panduan Pengembang Amazon ECS.

Contoh 2: Untuk menggambarkan penyedia kapasitas tertentu

describe-capacity-providersContoh berikut mengambil rincian tentang penyedia kapasitas tertentu. Menggunakan --include TAGS parameter akan menambahkan tag yang terkait dengan penyedia kapasitas ke output.

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

Output:

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

Untuk informasi selengkapnya, lihat Penyedia kapasitas klaster di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakandescribe-clusters.

AWS CLI

Contoh 1: Untuk mendeskripsikan sebuah cluster

describe-clustersContoh berikut mengambil rincian tentang cluster tertentu.

aws ecs describe-clusters \ --cluster default

Output:

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

Untuk informasi selengkapnya, lihat Cluster Amazon ECS di Panduan Pengembang Amazon ECS.

Contoh 2: Untuk mendeskripsikan cluster dengan opsi lampiran

describe-clustersContoh berikut menentukan pilihan ATTACHMENTS. Ini mengambil rincian tentang cluster yang ditentukan dan daftar sumber daya yang melekat pada cluster dalam bentuk lampiran. Saat menggunakan penyedia kapasitas dengan klaster, sumber daya, baik AutoScaling rencana atau kebijakan penskalaan, akan direpresentasikan sebagai asp atau as_policy ATTACHMENTS.

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

Output:

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

Untuk informasi selengkapnya, lihat Cluster Amazon ECS di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakandescribe-container-instances.

AWS CLI

Untuk menggambarkan contoh kontainer

describe-container-instancesContoh berikut mengambil rincian untuk instance container di update cluster, menggunakan container instance UUID sebagai identifier.

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

Output:

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

Untuk informasi selengkapnya, lihat Instans Kontainer Amazon ECS di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakandescribe-service-deployments.

AWS CLI

Untuk menjelaskan detail penyebaran layanan

describe-service-deploymentsContoh berikut mengembalikan rincian penyebaran layanan untuk penyebaran layanan dengan ARN. arn:aws:ecs:us-east-1:123456789012:service-deployment/example-cluster/example-service/ejGvqq2ilnbKT9qj0vLJe

aws ecs describe-service-deployments \ --service-deployment-arn arn:aws:ecs:us-east-1:123456789012:service-deployment/example-cluster/example-service/ejGvqq2ilnbKT9qj0vLJe

Output:

{ "serviceDeployments": [ { "serviceDeploymentArn": "arn:aws:ecs:us-east-1:123456789012:service-deployment/example-cluster/example-service/ejGvqq2ilnbKT9qj0vLJe", "serviceArn": "arn:aws:ecs:us-east-1:123456789012:service/example-cluster/example-service", "clusterArn": "arn:aws:ecs:us-east-1:123456789012:cluster/example-cluster", "createdAt": "2024-10-31T08:03:30.917000-04:00", "startedAt": "2024-10-31T08:03:32.510000-04:00", "finishedAt": "2024-10-31T08:05:04.527000-04:00", "updatedAt": "2024-10-31T08:05:04.527000-04:00", "sourceServiceRevisions": [], "targetServiceRevision": { "arn": "arn:aws:ecs:us-east-1:123456789012:service-revision/example-cluster/example-service/1485800978477494678", "requestedTaskCount": 1, "runningTaskCount": 1, "pendingTaskCount": 0 }, "status": "SUCCESSFUL", "deploymentConfiguration": { "deploymentCircuitBreaker": { "enable": true, "rollback": true }, "maximumPercent": 200, "minimumHealthyPercent": 100, "alarms": { "alarmNames": [], "rollback": false, "enable": false } }, "deploymentCircuitBreaker": { "status": "MONITORING_COMPLETE", "failureCount": 0, "threshold": 3 }, "alarms": { "status": "DISABLED" } } ], "failures": [] }

Untuk informasi selengkapnya, lihat Melihat riwayat layanan menggunakan penerapan layanan Amazon ECS di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakandescribe-service-revisions.

AWS CLI

Untuk menjelaskan rincian revisi layanan

describe-service-revisionsContoh berikut mengembalikan rincian revisi layanan untuk revisi layanan dengan ARN. arn:aws:ecs:us-east-1:123456789012:service-revision/example-cluster/example-service/1485800978477494678

aws ecs describe-service-revisions \ --service-revision-arns arn:aws:ecs:us-east-1:123456789012:service-revision/example-cluster/example-service/1485800978477494678

Output:

{ "serviceRevisions": [ { "serviceRevisionArn": "arn:aws:ecs:us-east-1:123456789012:service-revision/example-cluster/example-service/1485800978477494678", "serviceArn": "arn:aws:ecs:us-east-1:123456789012:service/example-cluster/example-service", "clusterArn": "arn:aws:ecs:us-east-1:123456789012:cluster/example-cluster", "taskDefinition": "arn:aws:ecs:us-east-1:123456789012:task-definition/webserver:5", "capacityProviderStrategy": [ { "capacityProvider": "FARGATE", "weight": 1, "base": 0 } ], "platformVersion": "1.4.0", "platformFamily": "Linux", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "subnet-0d0eab1bb38d5ca64", "subnet-0db5010045995c2d5" ], "securityGroups": [ "sg-02556bf85a191f59a" ], "assignPublicIp": "ENABLED" } }, "containerImages": [ { "containerName": "aws-otel-collector", "imageDigest": "sha256:7a1b3560655071bcacd66902c20ebe9a69470d5691fe3bd36baace7c2f3c4640", "image": "public.ecr.aws/aws-observability/aws-otel-collector:v0.32.0" }, { "containerName": "web", "imageDigest": "sha256:28402db69fec7c17e179ea87882667f1e054391138f77ffaf0c3eb388efc3ffb", "image": "nginx" } ], "guardDutyEnabled": false, "serviceConnectConfiguration": { "enabled": false }, "createdAt": "2024-10-31T08:03:29.302000-04:00" } ], "failures": [] }

Untuk informasi selengkapnya, lihat revisi layanan Amazon ECS di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakandescribe-services.

AWS CLI

Untuk menggambarkan layanan

describe-servicesContoh berikut mengambil rincian untuk my-http-service layanan di cluster default.

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

Output:

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

Untuk informasi selengkapnya, lihat Layanan di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakandescribe-task-definition.

AWS CLI

Untuk menggambarkan definisi tugas

describe-task-definitionContoh berikut mengambil rincian definisi tugas.

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

Output:

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

Untuk informasi selengkapnya, lihat Definisi Tugas Amazon ECS di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakandescribe-task-sets.

AWS CLI

Untuk menggambarkan set tugas

describe-task-setsContoh berikut menjelaskan tugas yang ditetapkan dalam layanan yang menggunakan deployer eksternal.

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

Output:

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

Contoh kode berikut menunjukkan cara menggunakandescribe-tasks.

AWS CLI

Contoh 1: Untuk menggambarkan tugas tugas tunggal

describe-tasksContoh berikut mengambil rincian tugas dalam sebuah cluster. Anda dapat menentukan tugas dengan menggunakan ID atau ARN penuh tugas. Contoh ini menggunakan ARN penuh tugas.

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

Output:

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

Untuk informasi selengkapnya, lihat Definisi Tugas Amazon ECS di Panduan Pengembang Amazon ECS.

Contoh 2: Untuk menggambarkan beberapa tugas

describe-tasksContoh berikut mengambil rincian beberapa tugas dalam sebuah cluster. Anda dapat menentukan tugas dengan menggunakan ID atau ARN penuh tugas. Contoh ini menggunakan IDs tugas penuh.

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

Output:

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

Untuk informasi selengkapnya, lihat Definisi Tugas Amazon ECS di Panduan Pengembang Amazon ECS.

  • Untuk detail API, lihat DescribeTasksdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanexecute-command.

AWS CLI

Untuk menjalankan interactive /bin/sh perintah

execute-commandContoh berikut menjalankan interactive /bin/sh perintah terhadap kontainer bernama MyContainer untuk tugas dengan id dariarn: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"

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Menggunakan Amazon ECS Exec untuk men-debug di Panduan Pengembang Amazon ECS.

  • Untuk detail API, lihat ExecuteCommanddi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanget-task-protection.

AWS CLI

Mengambil status perlindungan tugas dalam layanan ECS

Berikut ini get-task-protection memberikan status perlindungan tugas ECS yang dimiliki oleh layanan Amazon ECS.

aws ecs get-task-protection \ --cluster ECS-project-update-cluster \ --tasks c43ed3b1331041f289316f958adb6a24

Output:

{ "protectedTasks": [ { "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/c43ed3b1331041f289316f958adb6a24", "protectionEnabled": false } ], "failures": [] }

Untuk pembentukan selengkapnya tentang perlindungan tugas, lihat Melindungi tugas Amazon ECS agar tidak dihentikan oleh peristiwa penskalaan dalam Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakanlist-account-settings.

AWS CLI

Contoh 1: Untuk melihat pengaturan akun untuk akun

list-account-settingsContoh berikut menampilkan pengaturan akun yang efektif untuk akun.

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

Output:

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

Contoh 2: Untuk melihat pengaturan akun untuk pengguna IAM tertentu atau peran IAM

list-account-settingsContoh berikut menampilkan pengaturan akun untuk pengguna IAM tertentu atau peran IAM.

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

Output:

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

Untuk informasi selengkapnya, lihat Nama Sumber Daya Amazon (ARNs) dan IDs di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakanlist-attributes.

AWS CLI

Untuk membuat daftar instance kontainer yang berisi atribut tertentu

Contoh berikut mencantumkan atribut untuk instance kontainer yang memiliki stack=production atribut di cluster default.

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

Output:

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

Untuk informasi selengkapnya, lihat Konfigurasi Agen Kontainer Amazon ECS di Panduan Pengembang Amazon ECS.

  • Untuk detail API, lihat ListAttributesdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanlist-clusters.

AWS CLI

Untuk membuat daftar cluster yang tersedia

list-clustersContoh berikut mencantumkan semua cluster yang tersedia.

aws ecs list-clusters

Output:

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

Untuk informasi selengkapnya, lihat Cluster Amazon ECS di Panduan Pengembang Amazon ECS.

  • Untuk detail API, lihat ListClustersdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanlist-container-instances.

AWS CLI

Untuk membuat daftar instance kontainer dalam sebuah cluster

list-container-instancesContoh berikut mencantumkan semua instance kontainer yang tersedia dalam sebuah cluster.

aws ecs list-container-instances --cluster MyCluster

Output:

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

Untuk informasi selengkapnya, lihat Instans Kontainer Amazon ECS di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakanlist-service-deployments.

AWS CLI

Untuk membuat daftar penyebaran layanan

list-service-deploymentsContoh berikut mengambil penerapan layanan untuk layanan bernama. example-service

aws ecs list-service-deployments \ --service arn:aws:ecs:us-east-1:123456789012:service/example-cluster/example-service

Output:

{ "serviceDeployments": [ { "serviceDeploymentArn": "arn:aws:ecs:us-east-1:123456789012:service-deployment/example-cluster/example-service/ejGvqq2ilnbKT9qj0vLJe", "serviceArn": "arn:aws:ecs:us-east-1:123456789012:service/example-cluster/example-service", "clusterArn": "arn:aws:ecs:us-east-1:123456789012:cluster/example-cluster", "startedAt": "2024-10-31T08:03:32.510000-04:00", "createdAt": "2024-10-31T08:03:30.917000-04:00", "finishedAt": "2024-10-31T08:05:04.527000-04:00", "targetServiceRevisionArn": "arn:aws:ecs:us-east-1:123456789012:service-revision/example-cluster/example-service/1485800978477494678", "status": "SUCCESSFUL" } ] }

Untuk informasi selengkapnya, lihat Melihat riwayat layanan menggunakan penerapan layanan Amazon ECS di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakanlist-services-by-namespace.

AWS CLI

Untuk membuat daftar layanan di namespace

list-services-by-namespaceContoh berikut mencantumkan semua layanan yang dikonfigurasi untuk namespace yang ditentukan di Region default Anda.

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

Output:

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

Untuk informasi selengkapnya, lihat Service Connect di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakanlist-services.

AWS CLI

Untuk membuat daftar layanan dalam klaster

list-servicesContoh berikut menunjukkan cara membuat daftar layanan yang berjalan di cluster.

aws ecs list-services --cluster MyCluster

Output:

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

Untuk informasi selengkapnya, lihat Layanan di Panduan Pengembang Amazon ECS.

  • Untuk detail API, lihat ListServicesdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanlist-tags-for-resource.

AWS CLI

Untuk membuat daftar tag untuk sumber daya

list-tags-for-resourceContoh berikut mencantumkan tag untuk cluster tertentu.

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

Output:

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

Contoh kode berikut menunjukkan cara menggunakanlist-task-definition-families.

AWS CLI

Contoh 1: Untuk membuat daftar keluarga definisi tugas terdaftar

list-task-definition-familiesContoh berikut mencantumkan semua keluarga definisi tugas terdaftar.

aws ecs list-task-definition-families

Output:

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

Contoh 2: Untuk memfilter keluarga definisi tugas terdaftar

list-task-definition-familiesContoh berikut mencantumkan revisi definisi tugas yang dimulai dengan “hpcc”.

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

Output:

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

Untuk informasi selengkapnya, lihat Parameter Definisi Tugas di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakanlist-task-definitions.

AWS CLI

Contoh 1: Untuk mencantumkan definisi tugas yang terdaftar

list-task-definitionsContoh berikut mencantumkan semua definisi tugas terdaftar.

aws ecs list-task-definitions

Output:

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

Contoh 2: Untuk mencantumkan definisi tugas yang terdaftar dalam keluarga

list-task-definitionsContoh berikut mencantumkan revisi definisi tugas dari keluarga tertentu.

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

Output:

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

Untuk informasi selengkapnya, lihat Definisi Tugas Amazon ECS di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakanlist-tasks.

AWS CLI

Contoh 1: Untuk membuat daftar tugas dalam sebuah cluster

list-tasksContoh berikut mencantumkan semua tugas dalam sebuah cluster.

aws ecs list-tasks --cluster default

Output:

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

Contoh 2: Untuk membuat daftar tugas pada instance kontainer tertentu

list-tasksContoh berikut mencantumkan tugas-tugas pada instance container, menggunakan container instance UUID sebagai filter.

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

Output:

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

Untuk informasi selengkapnya, lihat Definisi Tugas Amazon ECS di Panduan Pengembang Amazon ECS.

  • Untuk detail API, lihat ListTasksdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanput-account-setting-default.

AWS CLI

Untuk mengubah pengaturan akun default

put-account-setting-defaultContoh berikut memodifikasi pengaturan akun default untuk semua pengguna IAM atau peran di akun Anda. Perubahan ini berlaku untuk seluruh AWS akun kecuali pengguna atau peran IAM secara eksplisit mengesampingkan pengaturan ini untuk diri mereka sendiri.

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

Output:

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

Untuk informasi selengkapnya, lihat Nama Sumber Daya Amazon (ARNs) dan IDs di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakanput-account-setting.

AWS CLI

Untuk mengubah pengaturan akun untuk akun pengguna IAM Anda

put-account-settingContoh berikut memungkinkan pengaturan serviceLongArnFormat akun untuk akun pengguna IAM Anda.

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

Output:

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

Untuk informasi selengkapnya, lihat Memodifikasi Pengaturan Akun di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakanput-account-settings.

AWS CLI

Untuk mengubah pengaturan akun untuk pengguna IAM atau peran IAM

put-account-settingContoh berikut memodifikasi pengaturan akun untuk pengguna IAM tertentu atau peran IAM.

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

Output:

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

Contoh kode berikut menunjukkan cara menggunakanput-attributes.

AWS CLI

Untuk membuat atribut dan mengaitkannya dengan sumber daya Amazon ECS

Berikut ini put-attributes menerapkan atribut dengan nama stack dan nilai produksi untuk instance container.

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

Output:

{ "attributes": [ { "name": "stack", "targetId": "arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34", "value": "production" } ] }
  • Untuk detail API, lihat PutAttributesdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanput-cluster-capacity-providers.

AWS CLI

Contoh 1: Untuk menambahkan penyedia kapasitas yang ada ke cluster

put-cluster-capacity-providersContoh berikut menambahkan penyedia kapasitas yang ada ke cluster. create-capacity-providerPerintah ini digunakan untuk membuat penyedia kapasitas. describe-clustersPerintah ini digunakan untuk menggambarkan penyedia kapasitas saat ini dan strategi penyedia kapasitas default yang terkait dengan cluster. Saat menambahkan penyedia kapasitas baru ke klaster, Anda harus menentukan semua penyedia kapasitas yang ada selain penyedia kapasitas baru yang ingin Anda kaitkan dengan cluster. Anda juga harus menentukan strategi penyedia kapasitas default untuk dikaitkan dengan cluster. Dalam contoh ini, MyCluster cluster memiliki penyedia MyCapacityProvider1 kapasitas yang terkait dengannya dan Anda ingin menambahkan penyedia MyCapacityProvider2 kapasitas dan memasukkannya ke dalam strategi penyedia kapasitas default sehingga tugas tersebar merata di kedua penyedia kapasitas.

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

Output:

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

Untuk informasi selengkapnya, lihat Penyedia kapasitas klaster di Panduan Pengembang Amazon ECS.

Contoh 2: Untuk menghapus penyedia kapasitas dari cluster

put-cluster-capacity-providersContoh berikut menghapus penyedia kapasitas dari cluster. describe-clustersPerintah ini digunakan untuk menggambarkan penyedia kapasitas saat ini yang terkait dengan cluster. Saat menghapus penyedia kapasitas dari klaster, Anda harus menentukan penyedia kapasitas yang ingin tetap terkait dengan klaster serta strategi penyedia kapasitas default untuk dikaitkan dengan cluster. Dalam contoh ini, cluster memiliki MyCapacityProvider1 dan penyedia MyCapacityProvider2 kapasitas yang terkait dengannya dan Anda ingin menghapus penyedia MyCapacityProvider2 kapasitas, sehingga Anda hanya menentukan MyCapacityProvider1 dalam perintah bersama dengan strategi penyedia kapasitas default yang diperbarui.

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

Output:

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

Untuk informasi selengkapnya, lihat Penyedia kapasitas klaster di Panduan Pengembang Amazon ECS.

Contoh 3: Untuk menghapus semua penyedia kapasitas dari cluster

put-cluster-capacity-providersContoh berikut menghapus semua penyedia kapasitas yang ada dari cluster.

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

Output:

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

Untuk informasi selengkapnya, lihat Penyedia kapasitas klaster di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakanregister-task-definition.

AWS CLI

Contoh 1: Untuk mendaftarkan definisi tugas dengan file JSON

register-task-definitionContoh berikut mendaftarkan definisi tugas ke keluarga yang ditentukan. Definisi wadah disimpan dalam format JSON di lokasi file yang ditentukan.

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

Isi dari sleep360.json:

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

Output:

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

Untuk informasi selengkapnya, lihat Contoh definisi tugas di Panduan Pengembang Amazon ECS.

Contoh 2: Untuk mendaftarkan definisi tugas dengan parameter string JSON

register-task-definitionContoh berikut mendaftarkan definisi tugas menggunakan definisi kontainer yang disediakan sebagai parameter string JSON dengan tanda kutip ganda yang lolos.

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

Outputnya identik dengan contoh sebelumnya.

Untuk informasi selengkapnya, lihat Membuat Definisi Tugas di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakanrun-task.

AWS CLI

Untuk menjalankan tugas di klaster default Anda

run-taskContoh berikut menjalankan tugas pada cluster default dan menggunakan token klien.

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

Output:

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

Untuk informasi selengkapnya, lihat Menjalankan Tugas di Panduan Pengembang Amazon ECS.

  • Untuk detail API, lihat RunTaskdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanstart-task.

AWS CLI

Untuk memulai tugas baru

Berikut ini start-task memulai tugas menggunakan revisi terbaru dari definisi sleep360 tugas pada instance kontainer yang ditentukan di cluster default.

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

Output:

{ "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": [] }
  • Untuk detail API, lihat StartTaskdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanstop-task.

AWS CLI

Untuk menghentikan tugas

Berikut ini stop-task menghentikan tugas yang ditentukan agar tidak berjalan di cluster default.

aws ecs stop-task \ --task 666fdccc2e2d4b6894dd422f4eeee8f8

Output:

{ "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": [] } }
  • Untuk detail API, lihat StopTaskdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakantag-resource.

AWS CLI

Untuk menandai sumber daya

tag-resourceContoh berikut menambahkan tag tunggal ke sumber daya yang ditentukan.

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

Perintah ini tidak menghasilkan output.

Untuk menambahkan beberapa tag ke sumber daya

tag-resourceContoh berikut menambahkan beberapa tag ke sumber daya yang ditentukan.

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

Perintah ini tidak menghasilkan output.

  • Untuk detail API, lihat TagResourcedi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanuntag-resource.

AWS CLI

Untuk menghapus tag dari sumber daya

untag-resourceContoh berikut menghapus tag yang terdaftar dari sumber daya yang ditentukan.

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

Perintah ini tidak menghasilkan output.

  • Untuk detail API, lihat UntagResourcedi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanupdate-cluster-settings.

AWS CLI

Untuk mengubah pengaturan untuk klaster Anda

update-cluster-settingsContoh berikut memungkinkan CloudWatch Container Insights untuk default cluster.

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

Output:

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

Untuk informasi selengkapnya, lihat Memodifikasi Pengaturan Akun di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakanupdate-cluster.

AWS CLI

Contoh 1: Perbarui cluster ECS yang mengaktifkan ContainerInsights

Berikut ini update-cluster memperbarui nilai containerInsights ke enabled dalam klaster yang sudah dibuat. Secara default, ini dinonaktifkan.

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

Output:

"cluster": { "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/ECS-project-update-cluster", "clusterName": "ECS-project-update-cluster", "status": "ACTIVE", "registeredContainerInstancesCount": 0, "runningTasksCount": 0, "pendingTasksCount": 0, "activeServicesCount": 0, "statistics": [], "tags": [], "settings": [ { "name": "containerInsights", "value": "enabled" } ], "capacityProviders": [ "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt" ], "defaultCapacityProviderStrategy": [ { "capacityProvider": "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt", "weight": 1, "base": 0 } ], "attachments": [ { "id": "069d002b-7634-42e4-b1d4-544f4c8f6380", "type": "as_policy", "status": "CREATED", "details": [ { "name": "capacityProviderName", "value": "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt" }, { "name": "scalingPolicyName", "value": "ECSManagedAutoScalingPolicy-152363a6-8c65-484c-b721-42c3e070ae93" } ] }, { "id": "08b5b6ca-45e9-4209-a65d-e962a27c490a", "type": "managed_draining", "status": "CREATED", "details": [ { "name": "capacityProviderName", "value": "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt" }, { "name": "autoScalingLifecycleHookName", "value": "ecs-managed-draining-termination-hook" } ] }, { "id": "45d0b36f-8cff-46b6-9380-1288744802ab", "type": "sc", "status": "ATTACHED", "details": [] } ], "attachmentsStatus": "UPDATE_COMPLETE", "serviceConnectDefaults": { "namespace": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-igwrsylmy3kwvcdx" } }

Contoh 2: Perbarui cluster ECS untuk mengatur ruang nama Service Connect default

Berikut ini update-cluster memperbarui cluster ECS dengan menyetel namespace Service Connect default.

aws ecs update-cluster \ --cluster ECS-project-update-cluster \ --service-connect-defaults namespace=test

Output:

{ "cluster": { "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/ECS-project-update-cluster", "clusterName": "ECS-project-update-cluster", "status": "ACTIVE", "registeredContainerInstancesCount": 0, "runningTasksCount": 0, "pendingTasksCount": 0, "activeServicesCount": 0, "statistics": [], "tags": [], "settings": [ { "name": "containerInsights", "value": "enabled" } ], "capacityProviders": [ "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt" ], "defaultCapacityProviderStrategy": [ { "capacityProvider": "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt", "weight": 1, "base": 0 } ], "attachments": [ { "id": "069d002b-7634-42e4-b1d4-544f4c8f6380", "type": "as_policy", "status": "CREATED", "details": [ { "name": "capacityProviderName", "value": "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt" }, { "name": "scalingPolicyName", "value": "ECSManagedAutoScalingPolicy-152363a6-8c65-484c-b721-42c3e070ae93" } ] }, { "id": "08b5b6ca-45e9-4209-a65d-e962a27c490a", "type": "managed_draining", "status": "CREATED", "details": [ { "name": "capacityProviderName", "value": "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt" }, { "name": "autoScalingLifecycleHookName", "value": "ecs-managed-draining-termination-hook" } ] }, { "id": "45d0b36f-8cff-46b6-9380-1288744802ab", "type": "sc", "status": "DELETED", "details": [] }, { "id": "3e6890c3-609c-4832-91de-d6ca891b3ef1", "type": "sc", "status": "ATTACHED", "details": [] }, { "id": "961b8ec1-c2f1-4070-8495-e669b7668e90", "type": "sc", "status": "DELETED", "details": [] } ], "attachmentsStatus": "UPDATE_COMPLETE", "serviceConnectDefaults": { "namespace": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-dtjmxqpfi46ht7dr" } } }

Untuk informasi selengkapnya tentang Service Connect, lihat Menggunakan Service Connect untuk menghubungkan layanan Amazon ECS dengan nama pendek di Panduan Pengembang Amazon ECS.

  • Untuk detail API, lihat UpdateClusterdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanupdate-container-agent.

AWS CLI

Untuk memperbarui agen kontainer pada instans penampung Amazon ECS

update-container-agentContoh berikut memperbarui agen kontainer pada instance kontainer tertentu di cluster default.

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

Output:

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

Untuk informasi selengkapnya, lihat Memperbarui Agen Kontainer Amazon ECS di Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakanupdate-container-instances-state.

AWS CLI

Untuk memperbarui status instance kontainer

Berikut ini update-container-instances-state memperbarui status instance kontainer tertentu DRAINING yang akan menghapusnya dari cluster apakah itu terdaftar.

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

Output:

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

Contoh kode berikut menunjukkan cara menggunakanupdate-service-primary-task-set.

AWS CLI

Untuk memperbarui set tugas utama untuk layanan

update-service-primary-task-setContoh berikut memperbarui tugas utama yang ditetapkan untuk layanan tertentu.

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

Output:

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

Contoh kode berikut menunjukkan cara menggunakanupdate-service.

AWS CLI

Contoh 1: Untuk mengubah definisi tugas yang digunakan dalam layanan

update-serviceContoh berikut memperbarui my-http-service layanan untuk menggunakan definisi amazon-ecs-sample tugas.

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

Contoh 2: Untuk mengubah jumlah tugas dalam suatu layanan

update-serviceContoh berikut memperbarui jumlah tugas yang diinginkan dari layanan my-http-service ke 3.

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

Untuk informasi selengkapnya, lihat Memperbarui Layanan di Panduan Pengembang Amazon ECS.

  • Untuk detail API, lihat UpdateServicedi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanupdate-task-protection.

AWS CLI

Contoh 1: Aktifkan perlindungan tugas untuk tugas ECS

Berikut ini update-task-protection melindungi tugas ECS Anda dari penghentian selama scale-in dari Deployment atau Service. AutoScaling Anda dapat menentukan periode kedaluwarsa khusus untuk perlindungan tugas dari 1 hingga 2.880 menit (48 jam). Jika Anda tidak menentukan periode kedaluwarsa, mengaktifkan waktu default perlindungan tugas adalah 2 jam.

aws ecs update-task-protection \ --cluster ECS-project-update-cluster \ --tasks c43ed3b1331041f289316f958adb6a24 \ --protection-enabled \ --expires-in-minutes 300

Output:

{ "protectedTasks": [ { "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/c43ed3b1331041f289316f958adb6a24", "protectionEnabled": true, "expirationDate": "2024-09-14T19:53:36.687000-05:00" } ], "failures": [] }

Contoh 2: Nonaktifkan perlindungan tugas untuk tugas ECS

Berikut ini update-task-protection menonaktifkan tugas yang dilindungi dari skala dari Deployment atau Service. AutoScaling

aws ecs update-task-protection \ --cluster ECS-project-update-cluster \ --tasks c43ed3b1331041f289316f958adb6a24 \ --no-protection-enabled

Output:

{ "protectedTasks": [ { "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/c43ed3b1331041f289316f958adb6a24", "protectionEnabled": false } ], "failures": [] }

Untuk pembentukan selengkapnya tentang perlindungan tugas, lihat Melindungi tugas Amazon ECS agar tidak dihentikan oleh peristiwa penskalaan dalam Panduan Pengembang Amazon ECS.

Contoh kode berikut menunjukkan cara menggunakanupdate-task-set.

AWS CLI

Untuk memperbarui set tugas

update-task-setContoh berikut memperbarui set tugas untuk menyesuaikan skala.

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

Output:

{ "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 } }
  • Untuk detail API, lihat UpdateTaskSetdi Referensi AWS CLI Perintah.