View a markdown version of this page

Meluncurkan instance dengan penyediaan sinkron - Amazon EC2 Auto Scaling

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-name group-name \ --requested-capacity number \ [--availability-zones zone-name] \ [--subnet-ids subnet-id] \ [--availability-zone-ids zone-id] \ [--retry-strategy none|retry-with-group-configuration] \ [--client-token token]

Contoh

Meluncurkan instance di Availability Zone tertentu

aws autoscaling launch-instances \ --auto-scaling-group-name my-asg \ --requested-capacity 3 \ --availability-zones us-east-1a \ --retry-strategy retry-with-group-configuration

Meluncurkan instance di subnet tertentu

aws autoscaling launch-instances \ --auto-scaling-group-name my-asg \ --requested-capacity 2 \ --subnet-ids subnet-12345678 \ --retry-strategy none \ --client-token my-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