Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Meluncurkan instance dengan penyediaan sinkron
Anda dapat menggunakan LaunchInstances API untuk meluncurkan sejumlah instans tertentu secara sinkron di grup Auto Scaling Anda. API meluncurkan instance di Availability Zone atau subnet yang Anda tentukan dan segera mengembalikan informasi instans IDs atau kesalahan.
Prasyarat
Sebelum Anda dapat menggunakan LaunchInstances API, Anda harus memiliki:
-
Grup Auto Scaling yang menggunakan template peluncuran (konfigurasi peluncuran tidak didukung)
-
Anda harus memiliki izin untuk tindakan IAM berikut:
-
autoscaling:LaunchInstances -
ec2:CreateFleet -
ec2:DescribeLaunchTemplateVersions
-
Luncurkan instance dengan penyediaan sinkron
Anda dapat meluncurkan instance dengan penyediaan sinkron melalui file. AWS CLI
AWS CLI
Untuk meluncurkan instance dengan penyediaan sinkron:
aws autoscaling launch-instances \ --auto-scaling-group-namegroup-name\ --requested-capacitynumber\ [--availability-zoneszone-name] \ [--subnet-idssubnet-id] \ [--availability-zone-idszone-id] \ [--retry-strategynone|retry-with-group-configuration] \ [--client-tokentoken]
Contoh
Meluncurkan instance di Availability Zone tertentu
aws autoscaling launch-instances \ --auto-scaling-group-namemy-asg\ --requested-capacity3\ --availability-zonesus-east-1a\ --retry-strategyretry-with-group-configuration
Meluncurkan instance di subnet tertentu
aws autoscaling launch-instances \ --auto-scaling-group-namemy-asg\ --requested-capacity2\ --subnet-idssubnet-12345678\ --retry-strategynone\ --client-tokenmy-unique-token-123
Menangani tanggapan
Contoh respon yang sukses:
{ "AutoScalingGroupName": "my-asg", "ClientToken": "my-unique-token-123", "Instances": [ { "InstanceType": "m5.xlarge", "AvailabilityZone": "us-east-1a", "AvailabilityZoneId": "use1-az1", "SubnetId": "subnet-12345678", "MarketType": "OnDemand", "InstanceIds": ["i-0123456789abcdef0", "i-0fedcba9876543210"] } ], "Errors": [] }
Contoh respons dengan kesalahan
{ "AutoScalingGroupName": "my-asg", "ClientToken": "my-unique-token-123", "Instances": [], "Errors": [ { "InstanceType": "m5.large", "AvailabilityZone": "us-east-1a", "AvailabilityZoneId": "use1-az1", "SubnetId": "subnet-12345678", "MarketType": "OnDemand", "ErrorCode": "InsufficientInstanceCapacity", "ErrorMessage": "There is not enough capacity to fulfill your request for instance type 'm5.large' in 'us-east-1a'" } ] }
Menangani kegagalan peluncuran dan percobaan ulang
Saat LaunchInstances API mengalami kegagalan, Anda dapat menerapkan strategi coba ulang menggunakan token idempotensi dan kebijakan coba ulang yang sesuai.
Anda dapat menggunakan parameter client-token untuk mencoba kembali permintaan. Anda juga dapat menggunakan strategi coba lagi berikut:
-
RetryStrategy: none(default) - Jika panggilan API gagal, kapasitas yang diinginkan grup Auto Scaling tetap tidak berubah dan tidak ada percobaan ulang otomatis yang terjadi. -
RetryStrategy: retry-with-group-configuration- Jika panggilan API gagal, kapasitas yang diinginkan grup Auto Scaling ditingkatkan dengan jumlah yang diminta, dan Auto Scaling akan secara otomatis mencoba meluncurkan instance menggunakan konfigurasi dan proses standar grup.
Coba lagi perilaku untuk RetryStrategy: retry-with-group-configuration tergantung pada jenis kegagalan:
-
Kesalahan validasi: Kapasitas yang diinginkan tidak meningkat karena operasi tidak dapat dilanjutkan. Misalnya, parameter tidak valid atau konfigurasi yang tidak didukung.
-
Kesalahan kapasitas: Kapasitas yang diinginkan ditingkatkan dan Auto Scaling akan mencoba lagi meluncurkan instance secara asinkron menggunakan proses penskalaan normal grup.
Menggunakan token klien untuk idempotensi
client-tokenParameter memastikan operasi idempoten dan memungkinkan percobaan ulang permintaan peluncuran yang aman.
Perilaku kunci:
-
Token klien memiliki masa pakai 8 jam dari permintaan awal
-
Mencoba lagi dengan token klien yang sama dalam waktu 8 jam mengembalikan respons yang di-cache alih-alih meluncurkan instance baru
-
Setelah 8 jam, token klien yang sama akan memulai operasi peluncuran baru