Titik akhir perlindungan skala tugas Amazon ECS - Amazon Elastic Container Service

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

Titik akhir perlindungan skala tugas Amazon ECS

Agen penampung Amazon ECS secara otomatis menyuntikkan variabel ECS_AGENT_URI lingkungan ke dalam wadah tugas Amazon ECS untuk menyediakan metode untuk berinteraksi dengan titik akhir API agen penampung.

Sebaiknya gunakan titik akhir agen penampung Amazon ECS untuk tugas yang dapat menentukan sendiri kebutuhan untuk dilindungi.

Saat kontainer mulai memproses pekerjaan, Anda dapat menyetel protectionEnabled atribut menggunakan jalur titik akhir perlindungan skala tugas $ECS_AGENT_URI/task-protection/v1/state dari dalam wadah.

Gunakan permintaan PUT ke URI ini dari dalam wadah untuk mengatur perlindungan skala tugas. Permintaan GET ke URI ini mengembalikan status perlindungan tugas saat ini.

Parameter permintaan perlindungan skala tugas

Anda dapat mengatur perlindungan skala tugas menggunakan ${ECS_AGENT_URI}/task-protection/v1/state titik akhir dengan parameter permintaan berikut.

ProtectionEnabled

Tentukan true untuk menandai tugas untuk perlindungan. Tentukan false untuk menghapus perlindungan dan membuat tugas memenuhi syarat untuk penghentian.

Jenis: Boolean

Wajib: Ya

ExpiresInMinutes

Jumlah menit tugas dilindungi. Anda dapat menentukan minimal 1 menit hingga 2.880 menit (48 jam). Selama periode waktu ini, tugas Anda tidak akan dihentikan oleh peristiwa penskalaan dari Auto Scaling atau penerapan layanan. Setelah periode waktu ini berlalu, protectionEnabled parameter diatur kefalse.

Jika Anda tidak menentukan waktu, maka tugas secara otomatis dilindungi selama 120 menit (2 jam).

Tipe: Integer

Wajib: Tidak

Contoh berikut menunjukkan cara mengatur perlindungan tugas dengan durasi yang berbeda.

Contoh cara melindungi tugas dengan periode waktu default

Contoh ini menunjukkan cara melindungi tugas dengan periode waktu default 2 jam.

curl --request PUT --header 'Content-Type: application/json' ${ECS_AGENT_URI}/task-protection/v1/state --data '{"ProtectionEnabled":true}'

Contoh cara melindungi tugas selama 60 menit

Contoh ini menunjukkan cara melindungi tugas selama 60 menit menggunakan expiresInMinutes parameter.

curl --request PUT --header 'Content-Type: application/json' ${ECS_AGENT_URI}/task-protection/v1/state --data '{"ProtectionEnabled":true,"ExpiresInMinutes":60}'

Contoh cara melindungi tugas selama 24 jam

Contoh ini menunjukkan cara melindungi tugas selama 24 jam menggunakan expiresInMinutes parameter.

curl --request PUT --header 'Content-Type: application/json' ${ECS_AGENT_URI}/task-protection/v1/state --data '{"ProtectionEnabled":true,"ExpiresInMinutes":1440}'

Permintaan PUT mengembalikan respon berikut.

{ "protection": { "ExpirationDate": "2023-12-20T21:57:44.837Z", "ProtectionEnabled": true, "TaskArn": "arn:aws:ecs:us-west-2:111122223333:task/1234567890abcdef0" } }

Parameter respons perlindungan skala tugas

Informasi berikut dikembalikan dari titik akhir perlindungan skala tugas dalam respons ${ECS_AGENT_URI}/task-protection/v1/state JSON.

ExpirationDate

Waktu zaman ketika perlindungan untuk tugas akan kedaluwarsa. Jika tugas tidak dilindungi, nilai ini adalah nol.

ProtectionEnabled

Status perlindungan tugas. Jika perlindungan scale-in diaktifkan untuk tugas, nilainya adalah. true Kalau tidak, memang begitufalse.

TaskArn

Nama lengkap Amazon Resource Name (ARN) dari tugas milik kontainer.

Contoh berikut menunjukkan detail yang dikembalikan untuk tugas yang dilindungi.

curl --request GET ${ECS_AGENT_URI}/task-protection/v1/state
{ "protection":{ "ExpirationDate":"2023-12-20T21:57:44Z", "ProtectionEnabled":true, "TaskArn":"arn:aws:ecs:us-west-2:111122223333:task/1234567890abcdef0" } }

Informasi berikut dikembalikan ketika terjadi kegagalan.

Arn

Nama Sumber Daya Amazon (ARN) lengkap dari tugas tersebut.

Detail

Detail terkait dengan kegagalan.

Reason

Sebab kegagalan.

Contoh berikut menunjukkan rincian yang dikembalikan untuk tugas yang tidak dilindungi.

{ "failure":{ "Arn":"arn:aws:ecs:us-west-2:111122223333:task/1234567890abcdef0", "Detail":null, "Reason":"TASK_NOT_VALID" } }

Informasi berikut dikembalikan ketika pengecualian terjadi.

requestID

ID AWS permintaan untuk panggilan Amazon ECS API yang menghasilkan pengecualian.

Arn

Nama Sumber Daya Amazon (ARN) lengkap dari tugas atau layanan.

Code

Kode kesalahan.

Message

Pesan kesalahan.

catatan

Jika RequestTimeout kesalahan RequestError atau muncul, kemungkinan itu adalah masalah jaringan. Coba gunakan titik akhir VPC untuk Amazon ECS.

Contoh berikut menunjukkan rincian yang dikembalikan ketika terjadi kesalahan.

{ "requestID":"12345-abc-6789-0123-abc", "error":{ "Arn":"arn:aws:ecs:us-west-2:555555555555:task/my-cluster-name/1234567890abcdef0", "Code":"AccessDeniedException", "Message":"User: arn:aws:sts::444455556666:assumed-role/my-ecs-task-role/1234567890abcdef0 is not authorized to perform: ecs:GetTaskProtection on resource: arn:aws:ecs:us-west-2:555555555555:task/test/1234567890abcdef0 because no identity-based policy allows the ecs:GetTaskProtection action" } }

Kesalahan berikut muncul jika agen Amazon ECS tidak dapat mendapatkan respons dari titik akhir Amazon ECS karena alasan seperti masalah jaringan atau bidang kontrol Amazon ECS sedang down.

{ "error": { "Arn": "arn:aws:ecs:us-west-2:555555555555:task/my-cluster-name/1234567890abcdef0", "Code": "RequestCanceled", "Message": "Timed out calling Amazon ECS Task Protection API" } }

Kesalahan berikut muncul ketika agen Amazon ECS mendapatkan pengecualian pelambatan dari Amazon ECS.

{ "requestID": "12345-abc-6789-0123-abc", "error": { "Arn": "arn:aws:ecs:us-west-2:555555555555:task/my-cluster-name/1234567890abcdef0", "Code": "ThrottlingException", "Message": "Rate exceeded" } }