Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Avvio di istanze con provisioning sincrono
Puoi utilizzare l' LaunchInstances API per avviare in modo sincrono un numero specifico di istanze nel tuo gruppo Auto Scaling. L'API avvia le istanze nella zona di disponibilità o nella sottorete specificata e restituisce immediatamente le informazioni sull'istanza o sull'errore. IDs
Prerequisiti
Prima di poter utilizzare l' LaunchInstances API, è necessario disporre di:
-
Un gruppo Auto Scaling che utilizza un modello di avvio (le configurazioni di avvio non sono supportate)
-
È necessario disporre delle autorizzazioni per le seguenti azioni IAM:
-
autoscaling:LaunchInstances -
ec2:CreateFleet -
ec2:DescribeLaunchTemplateVersions
-
Avvia istanze con provisioning sincrono
È possibile avviare istanze con provisioning sincrono tramite. AWS CLI
AWS CLI
Per avviare istanze con provisioning sincrono:
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]
Esempi
Avvio di istanze in una zona di disponibilità specifica
aws autoscaling launch-instances \ --auto-scaling-group-namemy-asg\ --requested-capacity3\ --availability-zonesus-east-1a\ --retry-strategyretry-with-group-configuration
Avvio di istanze in una sottorete specifica
aws autoscaling launch-instances \ --auto-scaling-group-namemy-asg\ --requested-capacity2\ --subnet-idssubnet-12345678\ --retry-strategynone\ --client-tokenmy-unique-token-123
Gestione delle risposte
Esempio di risposta riuscita:
{ "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": [] }
Esempio di risposta con errori
{ "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'" } ] }
Gestisci gli errori di avvio e i nuovi tentativi
Quando l' LaunchInstances API riscontra errori, puoi implementare strategie di ripetizione dei tentativi utilizzando token di idempotenza e politiche di ripetizione dei tentativi appropriate.
È possibile utilizzare il parametro client-token per riprovare le richieste. È inoltre possibile utilizzare le seguenti strategie di riprova:
-
RetryStrategy: none(impostazione predefinita) - Se la chiamata API fallisce, la capacità desiderata del gruppo Auto Scaling rimane invariata e non si verifica alcun tentativo automatico. -
RetryStrategy: retry-with-group-configuration- Se la chiamata API fallisce, la capacità desiderata del gruppo Auto Scaling viene aumentata della quantità richiesta e Auto Scaling riproverà automaticamente ad avviare le istanze utilizzando la configurazione e i processi standard del gruppo.
Il comportamento dei nuovi tentativi dipende dal tipo di erroreRetryStrategy: retry-with-group-configuration:
-
Errori di convalida: la capacità desiderata non viene aumentata poiché l'operazione non può continuare. Ad esempio, parametri non validi o configurazioni non supportate.
-
Errori di capacità: la capacità desiderata è aumentata e Auto Scaling riproverà ad avviare le istanze in modo asincrono utilizzando i normali processi di scalabilità del gruppo.
Utilizzo dei token client per l'idempotenza
Il client-token parametro garantisce operazioni idempotenti e consente di ripetere in sicurezza le richieste di avvio.
Comportamenti chiave:
-
I token client hanno una durata di 8 ore dalla richiesta iniziale
-
Un nuovo tentativo con lo stesso token client entro 8 ore restituisce la risposta memorizzata nella cache anziché avviare nuove istanze
-
Dopo 8 ore, lo stesso token client avvierà una nuova operazione di avvio