Crea un modello di EC2 lancio Amazon - Amazon Elastic Compute Cloud

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

Crea un modello di EC2 lancio Amazon

Puoi creare un modello di EC2 lancio Amazon specificando i tuoi valori per i parametri di configurazione dell'istanza o ottenendo i valori da un modello di lancio o da un'EC2istanza Amazon esistente.

Non è necessario specificare un valore per ogni parametro nel modello di lancio; è sufficiente specificare un solo parametro di configurazione dell'istanza per creare un modello di lancio. Per indicare i parametri che scegli di non specificare, seleziona Non includere nel modello di avvio quando usi la console. Quando usi uno strumento da riga di comando, non includere i parametri per indicare che stai scegliendo di non specificarli nel modello di lancio.

Se si desidera specificare un AMI nel modello di avvio, è possibile selezionare o specificare un AMI parametro Systems Manager che indichi un avvio AMI su istanza.

Quando un'istanza viene avviata con un modello di avvio, i valori specificati nel modello di avvio vengono utilizzati per configurare i parametri dell'istanza corrispondenti. Se non è specificato un valore nel modello di lancio, viene utilizzato il valore predefinito per il parametro di istanza corrispondente.

Crea un modello di lancio specificando i parametri

Per creare un modello di avvio, è necessario specificare il nome del modello di avvio e almeno un parametro di configurazione dell'istanza.

Per una descrizione di ogni parametro, vedereRiferimento per i parametri di configurazione delle EC2 istanze Amazon.

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

  2. Nel riquadro di navigazione, seleziona Modelli di avvio quindi Crea modello di avvio.

  3. In Nome e descrizione del modello di Launch, procedi come segue:

    1. In nome modello di avvio, inserire un nome descrittivo per il modello di avvio.

    2. In Template version description (Descrizione versione modello), fornire una breve descrizione della versione del modello di avvio.

    3. Per etichettare il modello di lancio al momento della creazione, espandi Tag modello, scegli Aggiungi nuovo tag, quindi inserisci una coppia di valori e chiave per il tag. Scegli Aggiungi tag per ogni tag aggiuntivo.

      Nota

      Per applicare un tag alle risorse create all'avvio di un'istanza, è necessario specificare i tag in Resource tags (Tag delle risorse). Per ulteriori informazioni, consulta il passaggio 9 di questa procedura.

  4. In Immagini dell'applicazione e del sistema operativo (Amazon Machine Image), puoi mantenere selezionato Non includere nel modello di avvio oppure scegliere il sistema operativo (OS) per l'istanza e quindi scegliere unAMI. In alternativa, è possibile specificare un parametro Systems Manager anziché specificare unAMI. Per ulteriori informazioni, consulta Utilizzare un parametro Systems Manager anziché un AMI ID.

    An AMI è un modello che contiene il sistema operativo e il software necessari per avviare un'istanza.

  5. In Tipo di istanza, puoi mantenere selezionato Don't include in launch template, selezionare un tipo di istanza o specificare gli attributi dell'istanza e consentire ad Amazon di EC2 identificare i tipi di istanza con tali attributi.

    Nota

    La specificazione degli attributi dell'istanza è supportata solo quando il modello di lancio viene utilizzato dai gruppi Auto ScalingEC2, Fleet e Spot Fleet per avviare le istanze. Per ulteriori informazioni, vedere Creazione di un gruppo di Auto Scaling utilizzando la selezione del tipo di istanza basata sugli attributi e. Specificare gli attributi, ad esempio la selezione del tipo per EC2 Fleet o Spot Fleet.

    Se prevedi di utilizzare il modello di avvio nella procedura guidata di avvio dell'istanza o con RunInstances API, non puoi specificare gli attributi del tipo di istanza.

    Il tipo di istanza determina la configurazione hardware (capacità di memoriaCPU, archiviazione e rete) e le dimensioni del computer host utilizzato per un'istanza.

    Se non sei sicuro del tipo di istanza scegliere, puoi fare quanto segue:

    • Scegli Confronta tipi di istanze per confrontare diversi tipi di istanze in base ai seguenti attributi: numerovCPUs, architettura, quantità di memoria (GiB), quantità di spazio di archiviazione (GB), tipo di archiviazione e prestazioni di rete.

    • Scegli Ottieni consigli per ottenere indicazioni e suggerimenti per i tipi di istanza dallo strumento di ricerca dei tipi di EC2 istanza. Per ulteriori informazioni, consulta Ottieni consigli da EC2 Instance Type Finder.

    Nota

    Se hai Account AWS meno di 12 mesi, puoi utilizzare Amazon EC2 nel piano gratuito scegliendo il tipo di istanza t2.micro o il tipo di istanza t3.micro nelle regioni in cui t2.micro non è disponibile. Tieni presente che quando avvii un'istanza t3.micro, l'impostazione predefinita è la modalità Unlimited, che potrebbe comportare costi aggiuntivi in base all'utilizzo. CPU Se un tipo di istanza è idoneo al piano gratuito, viene etichettato Idoneo al piano gratuito.

  6. In Key pair (login), per Key pair name, mantieni selezionata l'opzione Don't include in launch template, oppure scegli una coppia di chiavi esistente o creane una nuova.

  7. In Impostazioni di rete, puoi mantenere selezionata l'opzione Non includere nel modello di avvio oppure puoi specificare i valori per le varie impostazioni di rete.

  8. In Configura archiviazione, se ne hai specificato uno AMI nel modello di avvio, AMI include uno o più volumi di archiviazione, incluso il volume root (Volume 1 (AMIRoot). Facoltativamente, puoi specificare volumi aggiuntivi da collegare all'istanza. Per aggiungere un nuovo volume, scegli Add new volume (Aggiungi nuovo volume).

  9. In Tag delle risorse, per etichettare le risorse create all'avvio di un'istanza, scegli Aggiungi tag, quindi inserisci una coppia chiave e valore per il tag. Per Resource types (Tipi di risorsa), specifica le risorse alle quali applicare un tag al momento della creazione. È possibile specificare lo stesso tag per tutte le risorse o specificare tag diversi per risorse diverse. Scegliere Add tag (Aggiungi tag) per ogni tag aggiuntivo.

    È possibile specificare i tag per le seguenti risorse che vengono create quando si utilizza un modello di avvio:

    • Istanze

    • Volumi

    • Grafica elastica

    • Richieste di istanza spot

    • Interfacce di rete

    Nota

    Per applicare un tag al modello di avvio stesso, è necessario specificare i tag in Template tags (Tag del modello). Per ulteriori informazioni, consulta il passaggio 3 di questa procedura.

  10. Per informazioni avanzate, espandi la sezione per visualizzare i campi e, facoltativamente, specifica eventuali parametri aggiuntivi per l'istanza.

  11. Utilizzate il pannello Riepilogo per rivedere la configurazione del modello di lancio. È possibile accedere a qualsiasi sezione selezionando il relativo collegamento e quindi apportare le modifiche necessarie.

  12. Quando è tutto pronto per creare il modello di avvio, scegliere Create launch template (Crea modello di avvio).

AWS CLI

L'esempio seguente utilizza il create-launch-templatecomando per creare un modello di avvio con il nome e la configurazione dell'istanza specificati.

aws ec2 create-launch-template \ --launch-template-name TemplateForWebServer \ --version-description WebVersion1 \ --tag-specifications 'ResourceType=launch-template,Tags=[{Key=purpose,Value=production}]' \ --launch-template-data file://template-data.json

Di seguito è riportato un esempio JSON che specifica i dati del modello di avvio per la configurazione dell'istanza. JSONSalvateli in un file e includeteli nel --launch-template-data parametro come mostrato nel comando di esempio.

{ "NetworkInterfaces": [{ "AssociatePublicIpAddress": true, "DeviceIndex": 0, "Ipv6AddressCount": 1, "SubnetId": "subnet-7b16de0c" }], "ImageId": "ami-8c1be5f6", "InstanceType": "r4.4xlarge", "TagSpecifications": [{ "ResourceType": "instance", "Tags": [{ "Key":"Name", "Value":"webserver" }] }], "CpuOptions": { "CoreCount":4, "ThreadsPerCore":2 } }

Di seguito è riportato un output di esempio.

{ "LaunchTemplate": { "LatestVersionNumber": 1, "LaunchTemplateId": "lt-01238c059e3466abc", "LaunchTemplateName": "TemplateForWebServer", "DefaultVersionNumber": 1, "CreatedBy": "arn:aws:iam::123456789012:root", "CreateTime": "2017-11-27T09:13:24.000Z" } }
PowerShell

L'esempio seguente utilizza il New-EC2LaunchTemplatecmdlet per creare un modello di avvio con il nome e la configurazione dell'istanza specificati.

$launchTemplateData = [Amazon.EC2.Model.RequestLaunchTemplateData]@{ ImageId = 'ami-8c1be5f6' InstanceType = 'r4.4xlarge' NetworkInterfaces = @( [Amazon.EC2.Model.LaunchTemplateInstanceNetworkInterfaceSpecificationRequest]@{ AssociatePublicIpAddress = $true DeviceIndex = 0 Ipv6AddressCount = 1 SubnetId = 'subnet-7b16de0c' } ) TagSpecifications = @( [Amazon.EC2.Model.LaunchTemplateTagSpecificationRequest]@{ ResourceType = 'instance' Tags = [Amazon.EC2.Model.Tag]@{ Key = 'Name' Value = 'webserver' } } ) CpuOptions = [Amazon.EC2.Model.LaunchTemplateCpuOptionsRequest]@{ CoreCount = 4 ThreadsPerCore = 2 } } $tagSpecificationData = [Amazon.EC2.Model.TagSpecification]@{ ResourceType = 'launch-template' Tags = [Amazon.EC2.Model.Tag]@{ Key = 'purpose' Value = 'production' } } New-EC2LaunchTemplate -LaunchTemplateName 'TemplateForWebServer' -VersionDescription 'WebVersion1' -LaunchTemplateData $launchTemplateData -TagSpecification $tagSpecificationData

Di seguito è riportato un output di esempio.

CreatedBy : arn:aws:iam::123456789012:root CreateTime : 9/19/2023 16:57:55 DefaultVersionNumber : 1 LatestVersionNumber : 1 LaunchTemplateId : lt-01238c059eEXAMPLE LaunchTemplateName : TemplateForWebServer Tags : {purpose}

Creazione di un modello di avvio da un modello di avvio esistente

È possibile clonare un modello di avvio esistente e quindi modificare i parametri per crearne uno nuovo. Tuttavia, puoi farlo solo quando usi la EC2 console Amazon. Non AWS CLI supporta la clonazione di un modello. Per una descrizione di ogni parametro, vedereRiferimento per i parametri di configurazione delle EC2 istanze Amazon.

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

  2. Nel riquadro di navigazione, seleziona Modelli di avvio quindi Crea modello di avvio.

  3. In nome modello di avvio, inserire un nome descrittivo per il modello di avvio.

  4. In Template version description (Descrizione versione modello), fornire una breve descrizione della versione del modello di avvio.

  5. Per etichettare il modello di lancio al momento della creazione, espandi Tag modello, scegli Aggiungi nuovo tag, quindi inserisci una chiave per il tag e una coppia di valori.

  6. Espandere Modello origine e per Nome modello di avvio scegliere un modello di avvio su cui basare il nuovo modello di avvio.

  7. Per Source template version (Versione modello origine), scegli la versione del modello di avvio su cui basare il nuovo modello di avvio.

  8. Regola i parametri di lancio come necessario e scegli Create launch template (Crea modello di avvio).

Creazione di un modello di avvio da un'istanza

Puoi clonare i parametri di un'EC2istanza Amazon esistente e quindi modificare i parametri per creare un modello di lancio. Per una descrizione di ogni parametro, consultaRiferimento per i parametri di configurazione delle EC2 istanze Amazon.

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

  2. Nel pannello di navigazione, seleziona Instances (Istanze).

  3. Seleziona l'istanza e scegli Azioni, Immagine e modelli, Crea modello da istanza.

  4. Specificare un nome, una descrizione e i tag e modificare i parametri di lancio come necessario.

    Nota

    Quando crei un modello di avvio da un'istanza, l'interfaccia di rete IDs e gli indirizzi IP dell'istanza non sono inclusi nel modello.

  5. Scegli Crea modello di avvio.

AWS CLI

È possibile utilizzare il AWS CLI per creare un modello di avvio da un'istanza esistente ottenendo prima i dati del modello di avvio da un'istanza e quindi creando un modello di avvio utilizzando i dati del modello di avvio.

Recupero dei dati del modello di avvio da un'istanza
  • Utilizzate il get-launch-template-datacomando e specificate l'ID dell'istanza. È possibile utilizzare l'output come base per creare un nuovo modello di avvio o una nuova versione del modello di avvio. Per impostazione predefinita, l'output include un oggetto LaunchTemplateData di primo livello, che non può essere specificato nei dati del modello di avvio. Utilizzare l'opzione --query per escludere questo oggetto.

    aws ec2 get-launch-template-data \ --instance-id i-0123d646e8048babc \ --query "LaunchTemplateData"

    Di seguito è riportato un output di esempio.

    { "Monitoring": {}, "ImageId": "ami-8c1be5f6", "BlockDeviceMappings": [ { "DeviceName": "/dev/xvda", "Ebs": { "DeleteOnTermination": true } } ], "EbsOptimized": false, "Placement": { "Tenancy": "default", "GroupName": "", "AvailabilityZone": "us-east-1a" }, "InstanceType": "t2.micro", "NetworkInterfaces": [ { "Description": "", "NetworkInterfaceId": "eni-35306abc", "PrivateIpAddresses": [ { "Primary": true, "PrivateIpAddress": "10.0.0.72" } ], "SubnetId": "subnet-7b16de0c", "Groups": [ "sg-7c227019" ], "Ipv6Addresses": [ { "Ipv6Address": "2001:db8:1234:1a00::123" } ], "PrivateIpAddress": "10.0.0.72" } ] }

    È possibile scrivere l'output direttamente su un file, ad esempio:

    aws ec2 get-launch-template-data \ --instance-id i-0123d646e8048babc \ --query "LaunchTemplateData" >> instance-data.json
Creazione di un modello di avvio utilizzando i dati del modello di avvio

Utilizzare un parametro Systems Manager anziché un AMI ID

Invece di specificare un AMI ID nei modelli di avvio, è possibile specificare un AWS Systems Manager parametro. Se l'AMIID cambia, è possibile aggiornarlo in un'unica posizione aggiornando il parametro Systems Manager in Systems Manager Parameter Store. AMI I parametri possono anche essere condivisi con altri Account AWS. È possibile archiviare e gestire centralmente AMI i parametri in un account e condividerli con tutti gli altri account che devono farvi riferimento. Utilizzando un parametro Systems Manager, tutti i modelli di avvio possono essere aggiornati con un'unica operazione.

Un parametro Systems Manager è una coppia chiave-valore definita dall'utente che viene creata in Parameter Store.AWS Systems Manager Parameter Store fornisce un luogo centralizzato per archiviare i valori di configurazione dell'applicazione.

Nel diagramma seguente, il golden-ami parametro viene prima mappato all'originale AMI ami-aabbccddeeffgghhi nel Parameter Store. Nel modello di avvio, il valore dell'AMIID è. golden-ami Quando un'istanza viene avviata utilizzando questo modello di avvio, l'AMIID viene risolto in. ami-aabbccddeeffgghhi Successivamente, AMI viene aggiornato generando un nuovo AMI ID. Nel Parameter Store, il parametro golden-ami è mappato alla nuova ami-00112233445566778. Il modello di avvio rimane invariato. Quando un'istanza viene avviata utilizzando questo modello di avvio, l'AMIID diventa il nuovo. ami-00112233445566778

Utilizzo dei parametri Systems Manager nel Parameter Store per aggiornare un modello di avvio.

Formato dei parametri Systems Manager per AMI IDs

I modelli di avvio richiedono che i parametri Systems Manager definiti dall'utente aderiscano al formato seguente se utilizzati al posto di un AMI ID:

  • Tipo parametro: String

  • Tipo di dati dei parametri: aws:ec2:image — Ciò garantisce che Parameter Store convalidi che il valore immesso sia nel formato corretto per un ID. AMI

Per ulteriori informazioni sulla creazione di un parametro valido per un AMI ID, vedere Creazione dei parametri di Systems Manager nella Guida per l'AWS Systems Manager utente.

Formato dei parametri Systems Manager nei modelli di avvio

Per utilizzare un parametro Systems Manager al posto di un AMI ID in un modello di avvio, è necessario utilizzare uno dei seguenti formati quando si specifica il parametro nel modello di avvio:

Per fare riferimento a un parametro pubblico:

  • resolve:ssm:public-parameter

Per fare riferimento a un parametro memorizzato nello stesso account:

  • resolve:ssm:parameter-name

  • resolve:ssm:parameter-name:version-number: il numero di versione stesso è un'etichetta predefinita

  • resolve:ssm:parameter-name:label

Per fare riferimento a un parametro condiviso da un altro Account AWS:

  • resolve:ssm:parameter-ARN

  • resolve:ssm:parameter-ARN:version-number

  • resolve:ssm:parameter-ARN:label

Versioni dei parametri

I parametri Systems Manager sono risorse con versione. Quando si aggiorna un parametro, si creano nuove versioni successive del parametro. Systems Manager supporta etichette dei parametri che è possibile mappare a versioni specifiche di un parametro.

Ad esempio, il parametro golden-ami può avere tre versioni: 1, 2 e 3. È possibile creare un'etichetta del parametro beta che corrisponde alla versione 2 e un'etichetta del parametro prod che corrisponde alla versione 3.

In un modello di avvio, è possibile specificare la versione 3 del parametro golden-ami utilizzando uno dei seguenti formati:

  • resolve:ssm:golden-ami:3

  • resolve:ssm:golden-ami:prod

Specificare la versione o l'etichetta è facoltativo. Quando non è specificata alcuna versione viene utilizzata la versione più recente del parametro.

Specificare un parametro Systems Manager in un modello di avvio

È possibile specificare un parametro Systems Manager in un modello di avvio anziché un AMI ID quando si crea un modello di avvio o una nuova versione di un modello di avvio.

Console
Per specificare un parametro Systems Manager in un modello di avvio
  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nel riquadro di navigazione, seleziona Modelli di avvio quindi Crea modello di avvio.

  3. In nome modello di avvio, inserire un nome descrittivo per il modello di avvio.

  4. In Immagini dell'applicazione e del sistema operativo (Amazon Machine Image), scegli Sfoglia altro AMIs.

  5. Scegli il pulsante con la freccia a destra della barra di ricerca, quindi scegli Specifica valore personalizzato/parametro Systems Manager.

  6. Nella finestra di dialogo Specifica valore personalizzato o parametro Systems Manager, segui questi passaggi:

    1. Per la stringa del parametro AMI ID o Systems Manager, immettete il nome del parametro Systems Manager utilizzando uno dei seguenti formati:

      Per fare riferimento a un parametro pubblico:

      • resolve:ssm:public-parameter

      Per fare riferimento a un parametro memorizzato nello stesso account:

      • resolve:ssm:parameter-name

      • resolve:ssm:parameter-name:version-number

      • resolve:ssm:parameter-name:label

      Per fare riferimento a un parametro condiviso da un altro Account AWS:

      • resolve:ssm:parameter-ARN

      • resolve:ssm:parameter-ARN:version-number

      • resolve:ssm:parameter-ARN:label

    2. Seleziona Salva.

  7. Specifica qualsiasi altro parametro del modello di avvio, se necessario, quindi scegli Crea modello di avvio.

Per ulteriori informazioni, consulta Crea un modello di lancio specificando i parametri.

AWS CLI
Per specificare un parametro Systems Manager in un modello di avvio
  • Utilizzate il create-launch-templatecomando per creare il modello di lancio. Per specificare il tipo AMI da utilizzare, immettere il nome del parametro Systems Manager utilizzando uno dei seguenti formati:

    Per fare riferimento a un parametro pubblico:

    • resolve:ssm:public-parameter

    Per fare riferimento a un parametro memorizzato nello stesso account:

    • resolve:ssm:parameter-name

    • resolve:ssm:parameter-name:version-number

    • resolve:ssm:parameter-name:label

    Per fare riferimento a un parametro condiviso da un altro Account AWS:

    • resolve:ssm:parameter-ARN

    • resolve:ssm:parameter-ARN:version-number

    • resolve:ssm:parameter-ARN:label

    L'esempio seguente crea un modello di avvio che specifica quanto segue:

    • Un nome per il modello di avvio (TemplateForWebServer)

    • Un tag per il modello di avvio (purpose=production)

    • I dati per la configurazione dell'istanza, specificati in un JSON file:

      • Il AMI da usare (resolve:ssm:golden-ami)

      • Il tipo di istanza da avviare (m5.4xlarge)

      • Un tag per l'istanza (Name=webserver)

    aws ec2 create-launch-template \ --launch-template-name TemplateForWebServer \ --tag-specifications 'ResourceType=launch-template,Tags=[{Key=purpose,Value=production}]' \ --launch-template-data file://template-data.json

    Di seguito è riportato un JSON file di esempio che contiene i dati del modello di avvio per la configurazione dell'istanza. Il valore di ImageId è il nome del parametro Systems Manager, inserito nel formatoresolve:ssm:golden-ami richiesto.

    {"LaunchTemplateData": { "ImageId": "resolve:ssm:golden-ami", "InstanceType": "m5.4xlarge", "TagSpecifications": [{ "ResourceType": "instance", "Tags": [{ "Key":"Name", "Value":"webserver" }] }] } }

Verifica che un modello di lancio riceva l'AMIID corretto

Per risolvere il parametro Systems Manager con l'AMIID effettivo

Utilizzate il describe-launch-template-versionscomando e includete il --resolve-alias parametro.

aws ec2 describe-launch-template-versions \ --launch-template-name my-launch-template \ --versions $Default \ --resolve-alias

La risposta include l'AMIID perImageId. In questo esempio, quando un'istanza viene avviata utilizzando questo modello di avvio, l'AMIID viene risolto in. ami-0ac394d6a3example

{ "LaunchTemplateVersions": [ { "LaunchTemplateId": "lt-089c023a30example", "LaunchTemplateName": "my-launch-template", "VersionNumber": 1, "CreateTime": "2022-12-28T19:52:27.000Z", "CreatedBy": "arn:aws:iam::123456789012:user/Bob", "DefaultVersion": true, "LaunchTemplateData": { "ImageId": "ami-0ac394d6a3example", "InstanceType": "t3.micro", } } ] }

Per ulteriori informazioni sull'utilizzo dei parametri di Systems Manager, vedere i seguenti materiali di riferimento nella documentazione di Systems Manager.

Limitazioni

  • Solo EC2 le flotte di tipo instant C supportano l'utilizzo di un modello di avvio con un parametro Systems Manager specificato al posto di un AMI ID.

  • EC2Le flotte di tipo maintain e e request le flotte Spot non supportano l'utilizzo di un modello di avvio con un parametro Systems Manager specificato al posto di un AMI ID. Per le EC2 flotte di tipo maintain erequest, e per le flotte Spot, se ne specifichi un AMI nel modello di lancio, devi specificare l'ID. AMI

  • Se utilizzi la selezione di istanze basata sugli attributi nella tua EC2 flotta, non puoi specificare un parametro Systems Manager al posto di un ID. AMI Quando si utilizza la selezione dell'istanza basata sugli attributi, è necessario specificare l'ID. AMI

  • Amazon EC2 Auto Scaling prevede altre restrizioni. Per ulteriori informazioni, consulta Usa AWS Systems Manager i parametri anziché AMI IDs nei modelli di avvio nella Amazon EC2 Auto Scaling User Guide.