Riserva la capacità in zone di disponibilità specifiche con prenotazioni di capacità - Amazon EC2 Auto Scaling

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à.

Riserva la capacità in zone di disponibilità specifiche con prenotazioni di capacità

Le prenotazioni della capacità on demand Amazon EC2 consentono di prenotare la capacità di elaborazione in zone di disponibilità specifiche. Per iniziare a usare le Prenotazioni della capacità, crea una prenotazione della capacità in una zona di disponibilità specifica. Quindi, è possibile avviare istanze nella capacità riservata, visualizzarne la capacità di utilizzo in tempo reale e aumentarne o diminuirne la capacità in base alle esigenze.

Le prenotazioni delle capacità sono configurate come open o targeted. Se la Prenotazione della capacità è open, tutte le istanze nuove ed esistenti che hanno attributi corrispondenti vengono eseguiti automaticamente nella capacità della Prenotazione della capacità. Se la Prenotazione della capacità è targeted, le istanze devono specificamente puntarla per l'esecuzione nella capacità riservata.

Ad esempio, non è possibile creare un gruppo con dimensionamento automatico che specifichi più tipi di avvio targeted. In questo modo si ha un maggiore controllo su quando utilizzare specifiche prenotazioni della capacità.

I passaggi di base sono:

  1. Crea prenotazioni della capacità in più zone di disponibilità con lo stesso tipo di istanza, piattaforma e numero di istanze.

  2. Prenotazioni di capacità di gruppo utilizzando AWS Resource Groups.

  3. Crea un gruppo con dimensionamento automatico con un modello di avvio destinato al gruppo di risorse, utilizzando le stesse zone di disponibilità delle prenotazioni della capacità.

Fase 1: creazione di prenotazioni della capacità

Il primo passaggio consiste nel creare una prenotazione della capacità in ogni zona di disponibilità in cui verrà distribuito il gruppo con dimensionamento automatico.

Nota

È possibile creare prenotazioni targeted solo quando si creano per la prima volta le prenotazioni della capacità.

Console
Creazione di una prenotazione della capacità
  1. Aprire la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Scegliere Prenotazioni della capacità, quindi Create Prenotazione di capacità (Crea Prenotazione di capacità).

  3. Nella pagina Crea una Prenotazione della capacità, fare attenzione alle seguenti impostazioni nella sezione Dettagli istanza. Il tipo di istanza, piattaforma e la zona di disponibilità delle istanze lanciate devono corrispondere al tipo di istanza, piattaforma e zona di disponibilità qui specificata o la Prenotazione della capacità non viene applicata.

    1. Tipo di istanza – Il tipo di istanza da avviare nella capacità riservata.

    2. Per Platform, scegli il sistema operativo per le tue istanze.

    3. Per Zona di disponibilità, scegli la prima zona di disponibilità in cui desideri prenotare la capacità.

    4. Per la capacità totale, scegli il numero di istanze di cui hai bisogno. Calcola il numero totale di istanze necessarie per il tuo gruppo con dimensionamento automatico diviso per il numero di zone di disponibilità che intendi utilizzare.

  4. In Dettagli prenotazione della capacità, per fine prenotazione della capacità scegli una delle seguenti opzioni:

    • In un momento specifico: annulla automaticamente la prenotazione della capacità alla data e all'ora specificate.

    • Manualmente: riserva la capacità fino a quando non la annulli esplicitamente.

  5. Per idoneità delle istanze, scegli Mirato: solo istanze che hanno come target la prenotazione della capacità.

  6. (Facoltativo) Per i tag, specifica i tag da associare alla prenotazione della capacità.

  7. Scegli Crea.

  8. Prendi nota dell’ID della prenotazione della capacità appena creata. È necessario per configurare il gruppo prenotazione della capacità.

Ripeti questa procedura per ogni zona di disponibilità che desideri abilitare per il tuo gruppo con dimensionamento automatico, modificando solo il valore dell'opzione Zona di disponibilità.

AWS CLI
Creazione di una prenotazione della capacità

Utilizzate il seguente create-capacity-reservationcomando per creare le prenotazioni di capacità. Sostituisci i valori di esempio per --availability-zone, --instance-type, --instance-platform e --instance-count.

aws ec2 create-capacity-reservation \ --availability-zone us-east-1a \ --instance-type c5.xlarge \ --instance-platform Linux/UNIX \ --instance-count 3 \ --instance-match-criteria targeted

Esempio di ID prenotazione della capacità risultante

{ "CapacityReservation": { "CapacityReservationId": "cr-1234567890abcdef1", "OwnerId": "123456789012", "CapacityReservationArn": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1", "InstanceType": "c5.xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "Tenancy": "default", "TotalInstanceCount": 3, "AvailableInstanceCount": 3, "EbsOptimized": false, "EphemeralStorage": false, "State": "active", "StartDate": "2023-07-26T21:36:14+00:00", "EndDateType": "unlimited", "InstanceMatchCriteria": "targeted", "CreateDate": "2023-07-26T21:36:14+00:00" } }

Prendi nota dell’ID della prenotazione della capacità appena creata. È necessario per configurare il gruppo prenotazione della capacità.

Ripeti questo comando per ogni zona di disponibilità che desideri abilitare per il tuo gruppo con dimensionamento automatico, modificando solo il valore dell'opzione --availability-zone.

Fase 2: creazione di un gruppo di prenotazione della capacità

Al termine della creazione delle prenotazioni di capacità, è possibile raggrupparle utilizzando il servizio AWS Resource Groups. AWS Resource Groups supporta diversi tipi di gruppi per usi diversi. Amazon EC2 utilizza un gruppo per finalità speciali, noto come gruppo di risorse collegato al servizio, per indirizzare un gruppo di prenotazioni della capacità. Per interagire con questo gruppo di risorse collegato al servizio, puoi utilizzare AWS CLI o un SDK ma non la console. Per ulteriori informazioni sui gruppi di risorse collegati ai servizi, consultare Configurazioni dei servizi per i gruppi di risorse AWS Guida per l’utente dei gruppi di risorse.

Per creare un gruppo di prenotazione della capacità utilizzando il AWS CLI

Utilizza il comando create-group per creare un gruppo di risorse che può contenere solo prenotazioni della capacità. In questo esempio, il gruppo di risorse è denominato my-cr-group.

aws resource-groups create-group \ --name my-cr-group \ --configuration '{"Type":"AWS::EC2::CapacityReservationPool"}' '{"Type":"AWS::ResourceGroups::Generic", "Parameters": [{"Name": "allowed-resource-types", "Values": ["AWS::EC2::CapacityReservation"]}]}'

Di seguito è riportata una risposta di esempio.

{ "Group": { "GroupArn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-cr-group", "Name": "my-cr-group" }, "GroupConfiguration": { "Configuration": [ { "Type": "AWS::EC2::CapacityReservationPool" }, { "Type": "AWS::ResourceGroups::Generic", "Parameters": [ { "Name": "allowed-resource-types", "Values": [ "AWS::EC2::CapacityReservation" ] } ] } ], "Status": "UPDATE_COMPLETE" } }

Notare l'ARN del nuovo gruppo di risorse. Ad esempio, non è possibile creare un gruppo con dimensionamento automatico per creare un gruppo con dimensionamento automatico.

Per associare le tue prenotazioni della capacità al gruppo appena creato utilizzando AWS CLI

Utilizza il seguente comando group-resources per associare le prenotazioni della capacità al gruppo di prenotazione di capacità appena creato. Per l'opzione --resource-arns, specifica le prenotazioni della capacità utilizzando i relativi ARN. Gli ARN vanno creati utilizzando la regione pertinente, l'ID del tuo account e gli ID di prenotazione che hai annotato in precedenza. In questo esempio, le prenotazioni con ID cr-1234567890abcdef1 e cr-54321abcdef567890 verranno raggruppate nel gruppo denominato my-cr-group.

aws resource-groups group-resources \ --group my-cr-group \ --resource-arns \ arn:aws:ec2:region:account-id:capacity-reservation/cr-1234567890abcdef1 \ arn:aws:ec2:region:account-id:capacity-reservation/cr-54321abcdef567890

Di seguito è riportata una risposta di esempio.

{ "Succeeded": [ "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1", "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-54321abcdef567890" ], "Failed": [], "Pending": [] }

Per informazioni sulla modifica o l'eliminazione del gruppo di risorse, consulta i AWS documenti di riferimento all’API per gruppi di risorse.

Fase 3: creazione di un modello di avvio

Console
Per creare un modello di avvio
  1. Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nel pannello di navigazione, in Istanze, scegli Modelli di avvio.

  3. Scegli Crea modello di avvio. Immetti un nome e una descrizione per la versione iniziale del modello di avvio.

  4. In Auto Scaling guidance (Guida Auto Scaling), seleziona la casella di controllo.

  5. Creazione del modello di avvio. Scegli un AMI e un tipo di istanza che corrisponda alle prenotazioni della capacità che si intende utilizzare e, facoltativamente, una coppia di chiavi, uno o più gruppi di sicurezza ed eventuali volumi EBS o volumi di archivio dell’istanza aggiuntivi per le istanze.

  6. Espandere Impostazioni avanzate ed eseguire le operazioni descritte di seguito:

    1. Per Prenotazioni della capacità, scegli Destinazione per gruppo.

    2. Per Prenotazione della capacità: destinazione per gruppo, scegli il gruppo di prenotazioni della capacità creato nella sezione precedente, quindi scegli Salva.

  7. Scegli Crea modello di avvio.

  8. Nella pagina di conferma, scegli Crea gruppo con dimensionamento automatico).

AWS CLI
Per creare un modello di avvio

Utilizzate il create-launch-templatecomando seguente per creare un modello di avvio che specifichi che la Capacity Reservation è destinata a un gruppo di risorse specifico. Sostituisci i valori di esempio per --launch-template-name. Sostituisci c5.xlarge con il tipo di istanza utilizzato nella prenotazione della capacità e ami-0123456789EXAMPLEcon l'ID dell'AMI che desideri utilizzare. Sostituisci arn:aws:resource-groups:region:account-id:group/my-cr-group con l’ARN del gruppo risorsa creato all’inizio della sezione precedente.

aws ec2 create-launch-template \ --launch-template-name my-launch-template \ --launch-template-data \ '{"InstanceType": "c5.xlarge", "ImageId": "ami-0123456789EXAMPLE", "CapacityReservationSpecification": {"CapacityReservationTarget": { "CapacityReservationResourceGroupArn": "arn:aws:resource-groups:region:account-id:group/my-cr-group" } } }'

Di seguito è riportata una risposta di esempio.

{ "LaunchTemplate": { "LaunchTemplateId": "lt-0dd77bd41dEXAMPLE", "LaunchTemplateName": "my-launch-template", "CreateTime": "2023-07-26T21:42:48+00:00", "CreatedBy": "arn:aws:iam::123456789012:user/Bob", "DefaultVersionNumber": 1, "LatestVersionNumber": 1 } }

Fase 4: creazione di un gruppo con dimensionamento automatico

Console

Crea il tuo gruppo con dimensionamento automatico come al solito, ma quando scegli le sottoreti VPC, scegli una sottorete da ogni zona di disponibilità che corrisponda alle targeted prenotazioni della capacità che hai creato. Quindi, quando il gruppo con dimensionamento automatico avvia un'istanza on demand in una di queste zone di disponibilità, l'istanza verrà eseguita nella capacità riservata per quella zona di disponibilità. Se il gruppo di risorse esaurisce le prenotazioni della capacità prima che la capacità desiderata sia soddisfatta, lanciamo qualsiasi altra capacità oltre la capacità riservata come normale capacità on demand.

Creazione di un semplice gruppo con dimensionamento automatico
  1. Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/ e scegli Gruppi con dimensionamento automatico dal pannello di navigazione.

  2. Nella barra di navigazione nella parte superiore dello schermo, scegli lo stesso Regione AWS che hai usato per creare il modello di lancio.

  3. Selezionare Crea un gruppo con dimensionamento automatico.

  4. Nella pagina Scegli il modello o la configurazione di avvio, in Nome gruppo con dimensionamento automatico, inserisci un nome per il gruppo con dimensionamento automatico.

  5. Come Launch template (Modello di avvio) scegli un modello di avvio esistente.

  6. Per la Versione del modello di avvio, scegli se durante il dimensionamento orizzontale il gruppo con dimensionamento automatico debba usare la versione di default, quella più recente o una versione specifica del modello di avvio.

  7. Nella pagina Scegli le opzioni di avvio dell'istanza, salta la sezione Requisiti del tipo di istanza per utilizzare il tipo di istanza EC2 specificato nel modello di avvio.

  8. In Rete, per VPC, scegli un VPC. Il gruppo con dimensionamento automatico deve essere creato nello stesso VPC del gruppo di sicurezza specificato nel modello di avvio. Se non hai specificato un gruppo di sicurezza nel modello di avvio, puoi scegliere qualsiasi VPC con sottoreti nelle stesse zone di disponibilità delle prenotazioni della capacità.

  9. Per le zone di disponibilità delle e le sottoreti, scegli le sottoreti da ciascuna zona di disponibilità che desideri includere, in base alle zone di disponibilità in cui si trovano le tue prenotazioni della capacità.

  10. Scegliere Next (Successivo) due volte.

  11. Nella pagina Configura le dimensioni del gruppo e le policy di dimensionamento, per Capacità desiderata, inserisci il numero iniziale di istanze da avviare. Quando si modifica questo numero in un valore non compreso nei limiti di capacità minima o massima, è necessario aggiornare i valori di Minimum capacity (Capacità minima) o Maximum capacity (Capacità massima). Per ulteriori informazioni, consulta Impostare i limiti di dimensionamento per il gruppo con dimensionamento automatico.

  12. Selezionare Passa a revisione.

  13. Nella pagina Verifica, scegliere Crea gruppo con dimensionamento automatico.

AWS CLI
Creazione di un semplice gruppo con dimensionamento automatico

Usa il create-auto-scaling-groupcomando seguente e specifica il nome e la versione del modello di lancio come valore per l'--launch-templateopzione. Sostituisci i valori di esempio per --auto-scaling-group-name, --min-size, --max-size e --vpc-zone-identifier.

Per l'opzione --availability-zones, specifica le zone di disponibilità per le quali hai creato le prenotazioni della capacità. Ad esempio, se le prenotazioni della capacità specificano le zone di disponibilità us-east-1a e us-east-1b, è necessario creare il gruppo con dimensionamento automatico nelle stesse zone. Quindi, quando il gruppo con dimensionamento automatico avvia un'istanza on demand in una di queste zone di disponibilità, l'istanza verrà eseguita nella capacità riservata per quella zona di disponibilità. Se il gruppo di risorse esaurisce le prenotazioni della capacità prima che la capacità desiderata sia soddisfatta, lanciamo qualsiasi altra capacità oltre la capacità riservata come normale capacità on demand.

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateName=my-launch-template,Version='1' \ --min-size 6 \ --max-size 6 \ --vpc-zone-identifier "subnet-5f46ec3b,subnet-0ecac448" \ --availability-zones us-east-1a us-east-1b

Per un esempio di implementazione, consultate il AWS CloudFormation modello nel seguente GitHub repository di AWS esempi: https://github.com/aws-samples/ aws-auto-scaling-backed - by-on-demand-capacity -reservations/.

I seguenti argomenti correlati possono essere utili per imparare a conoscere prenotazioni della capacità.