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à.
Esempi per la creazione e la gestione di modelli di lancio con AWS CLI
Puoi creare e gestire modelli di lancio tramite Console di gestione AWS, AWS Command Line Interface (AWS CLI) o SDK. Questa sezione mostra esempi di creazione e gestione di modelli di lancio per Amazon EC2 Auto AWS CLI Scaling da.
Indice
Specificare uno script di dati utente che configura le istanze all'avvio
Specificare di una mappatura dei dispositivi a blocchi di un'AMI
Specificare gli host dedicati per portare licenze software da fornitori esterni
Aggiornare un gruppo con dimensionamento automatico per utilizzare un modello di avvio
Esempio di utilizzo
{ "LaunchTemplateName": "my-template-for-auto-scaling", "VersionDescription": "test description", "LaunchTemplateData": { "ImageId": "ami-04d5cc9b88example", "InstanceType": "t2.micro", "SecurityGroupIds": [ "sg-903004f88example" ], "KeyName": "MyKeyPair", "Monitoring": { "Enabled": true }, "Placement": { "Tenancy": "dedicated" }, "CreditSpecification": { "CpuCredits": "unlimited" }, "MetadataOptions": { "HttpTokens": "required", "HttpPutResponseHopLimit": 1, "HttpEndpoint": "enabled" } } }
Creare un modello di avvio di base
Per creare un modello di avvio di base, utilizza il comando create-launch-template
-
Replace (Sostituisci)
ami-04d5cc9b88examplecon l'ID dell'AMI da cui avviare le istanze. -
Sostituisci
t2.microcon un tipo di istanza compatibile con l'AMI specificata.
Questo esempio crea un modello di lancio con il nome. my-template-for-auto-scaling Se le istanze create da questo modello di avvio vengono avviate in un VPC predefinito, ricevono un indirizzo IP pubblico per impostazione predefinita. Se le istanze vengono avviate in un VPC non predefinito, non ricevono un indirizzo IP pubblico per impostazione predefinita.
aws ec2 create-launch-template --launch-template-namemy-template-for-auto-scaling--version-descriptionversion1\ --launch-template-data '{"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'
Per ulteriori informazioni sui JSON-formatted parametri di citazione, vedete Uso delle virgolette con le stringhe nella Guida per l' AWS CLIutente.AWS Command Line Interface
In alternativa, è possibile specificare i JSON-formatted parametri in un file di configurazione.
Nell'esempio seguente viene creato un modello di avvio di base, facendo riferimento a un file di configurazione per i valori dei parametri del modello di avvio.
aws ec2 create-launch-template --launch-template-namemy-template-for-auto-scaling--version-descriptionversion1\ --launch-template-data file://config.json
Contenuto di config.json.
{ "ImageId":"ami-04d5cc9b88example", "InstanceType":"t2.micro" }
Specificare dei tag che etichettano le istanze all'avvio
Nell'esempio seguente viene aggiunto un tag (ad esempio purpose=webserver) alle istanze al momento dell'avvio.
aws ec2 create-launch-template --launch-template-namemy-template-for-auto-scaling--version-descriptionversion1\ --launch-template-data '{"TagSpecifications":[{"ResourceType":"instance","Tags":[{"Key":"purpose","Value":"webserver"}]}],"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'
Nota
Se si specificano i tag delle istanze nel modello di avvio e si sceglie di propagare i tag del gruppo con dimensionamento automatico alle relative istanze, tutti i tag vengono uniti. Se viene specificata la stessa chiave tag per un tag nel modello di avvio e un tag nel gruppo con dimensionamento automatico, il valore del tag del gruppo ha la precedenza.
Specificare un ruolo IAM da passare alle istanze
L'esempio seguente specifica il nome del profilo di istanza associato al ruolo IAM da passare alle istanze all'avvio. Per ulteriori informazioni, consulta Ruoli IAM per le applicazioni in esecuzione sulle istanze Amazon EC2.
aws ec2 create-launch-template --launch-template-namemy-template-for-auto-scaling--version-descriptionversion1\ --launch-template-data '{"IamInstanceProfile":{"Name":"my-instance-profile"},"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'
Assegnare un indirizzo IP pubblico
Nell'esempio seguente, create-launch-template
Nota
Quando specifichi un'interfaccia di rete, specifica un valore per Groups che corrisponda ai gruppi di sicurezza per il VPC nel quale il gruppo con dimensionamento automatico avvierà le istanze. Specificare il VPC e le sottoreti come proprietà del gruppo con dimensionamento automatico.
aws ec2 create-launch-template --launch-template-namemy-template-for-auto-scaling--version-descriptionversion1\ --launch-template-data '{"NetworkInterfaces":[{"DeviceIndex":0,"AssociatePublicIpAddress":true,"Groups":["sg-903004f88example"],"DeleteOnTermination":true}],"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'
Specificare uno script di dati utente che configura le istanze all'avvio
Nell'esempio seguente viene specificato uno script di dati utente come stringa con codifica base64 che configura le istanze all'avvio. Il comando create-launch-template
aws ec2 create-launch-template --launch-template-namemy-template-for-auto-scaling--version-descriptionversion1\ --launch-template-data '{"UserData":"IyEvYmluL2Jhc...","ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'
Specificare di una mappatura dei dispositivi a blocchi di un'AMI
Nell'esempio seguente, create-launch-template/dev/xvdcz. Il volume /dev/xvdcz utilizza il tipo di volume a scopo generico SSD (gp2) e viene eliminato quando termina l'istanza a cui è allegato.
aws ec2 create-launch-template --launch-template-namemy-template-for-auto-scaling--version-descriptionversion1\ --launch-template-data '{"BlockDeviceMappings":[{"DeviceName":"/dev/xvdcz","Ebs":{"VolumeSize":22,"VolumeType":"gp2","DeleteOnTermination":true}}],"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'
Specificare gli host dedicati per portare licenze software da fornitori esterni
Se specifichi un tenancy host, è possibile specificare un gruppo di risorse host e una configurazione delle licenze di License Manager per ottenere licenze software idonee da fornitori esterni. Quindi, è possibile utilizzare le licenze su istanze EC2 utilizzando il seguente comando: create-launch-template
aws ec2 create-launch-template --launch-template-namemy-template-for-auto-scaling--version-descriptionversion1\ --launch-template-data '{"Placement":{"Tenancy":"host","HostResourceGroupArn":"arn"},"LicenseSpecifications":[{"LicenseConfigurationArn":"arn"}],"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'
Specificare un'interfaccia di rete esistente
Il seguente esempio, create-launch-template
aws ec2 create-launch-template --launch-template-namemy-template-for-auto-scaling--version-descriptionversion1\ --launch-template-data '{"NetworkInterfaces":[{"DeviceIndex":0,"NetworkInterfaceId":"eni-b9a5ac93","DeleteOnTermination":false}],"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'
Creare più interfacce di rete
Il seguente esempio, create-launch-template
aws ec2 create-launch-template --launch-template-namemy-template-for-auto-scaling--version-descriptionversion1\ --launch-template-data '{"NetworkInterfaces":[{"DeviceIndex":0,"Groups":["sg-903004f88example"],"DeleteOnTermination":true},{"DeviceIndex":1,"Groups":["sg-903004f88example"],"DeleteOnTermination":true}],"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'
Se utilizzi un tipo di istanza che supporta più schede di rete ed Elastic Fabric Adapters (EFA), puoi aggiungere un'interfaccia secondaria a una scheda di rete secondaria e abilitare EFA utilizzando il seguente comando: create-launch-template
aws ec2 create-launch-template --launch-template-namemy-template-for-auto-scaling--version-descriptionversion1\ --launch-template-data '{"NetworkInterfaces":[{"NetworkCardIndex":0,"DeviceIndex":0,"Groups":["sg-7c2270198example"],"InterfaceType":"efa","DeleteOnTermination":true},{"NetworkCardIndex":1,"DeviceIndex":1,"Groups":["sg-7c2270198example"],"InterfaceType":"efa","DeleteOnTermination":true}],"ImageId":"ami-09d95fab7fexample","InstanceType":"p4d.24xlarge"}'
avvertimento
Il tipo di istanza p4d.24xlarge comporta costi superiori, rispetto agli altri esempi in questa sezione. Per ulteriori informazioni sui prezzi delle istanze P4d, consulta Prezzi delle istanze P4d di Amazon EC2
Nota
Allegare più interfacce di rete della stessa sottorete a un'istanza può introdurre il routing asimmetrico, specialmente nelle istanze che utilizzano una variante di Linux non Amazon. Se hai bisogno di questo tipo di configurazione, dovrai anche configurare l'interfaccia di rete secondaria all'interno del sistema operativo. Per un esempio, vedi Come posso far funzionare la mia interfaccia di rete secondaria nella mia istanza di Ubuntu EC2?
Gestire i modelli di avvio
AWS CLI Include diversi altri comandi che consentono di gestire i modelli di lancio.
Indice
Pubblicare e descrivere i modelli di avvio
Puoi usare due AWS CLI comandi per ottenere informazioni sui tuoi modelli di lancio: describe-launch-templates e describe-launch-template-versions
Il comando describe-launch-templates
L'esempio seguente fornisce un riepilogo del modello di avvio specificato.
aws ec2 describe-launch-templates --launch-template-namesmy-template-for-auto-scaling
Di seguito è riportata una risposta di esempio.
{
"LaunchTemplates": [
{
"LaunchTemplateId": "lt-068f72b729example",
"LaunchTemplateName": "my-template-for-auto-scaling",
"CreateTime": "2020-02-28T19:52:27.000Z",
"CreatedBy": "arn:aws:iam::123456789012:user/Bob",
"DefaultVersionNumber": 1,
"LatestVersionNumber": 1
}
]
}
Se non utilizzi l'opzione --launch-template-names per limitare l'output a un modello di avvio, vengono restituite le informazioni su tutti i modelli di avvio.
Il seguente comando describe-launch-template-versions
aws ec2 describe-launch-template-versions --launch-template-idlt-068f72b729example
Di seguito è riportata una risposta di esempio.
{
"LaunchTemplateVersions": [
{
"VersionDescription": "version1",
"LaunchTemplateId": "lt-068f72b729example",
"LaunchTemplateName": "my-template-for-auto-scaling",
"VersionNumber": 1,
"CreatedBy": "arn:aws:iam::123456789012:user/Bob",
"LaunchTemplateData": {
"TagSpecifications": [
{
"ResourceType": "instance",
"Tags": [
{
"Key": "purpose",
"Value": "webserver"
}
]
}
],
"ImageId": "ami-04d5cc9b88example",
"InstanceType": "t2.micro",
"NetworkInterfaces": [
{
"DeviceIndex": 0,
"DeleteOnTermination": true,
"Groups": [
"sg-903004f88example"
],
"AssociatePublicIpAddress": true
}
]
},
"DefaultVersion": true,
"CreateTime": "2020-02-28T19:52:27.000Z"
}
]
}
Creazione di una versione del modello di avvio
Il seguente comando, create-launch-template-version
aws ec2 create-launch-template-version --launch-template-idlt-068f72b729example--version-descriptionversion2\ --source-version1--launch-template-data "ImageId=ami-c998b6b2example"
Per impostare la versione di default del modello di avvio, utilizzare il comando: modify-launch-template
Eliminare una versione del modello di avvio
Il seguente comando, delete-launch-template-version
aws ec2 delete-launch-template-versions --launch-template-idlt-068f72b729example--versions 1
Eliminare un modello di avvio
Se un modello di avvio non è più necessario, puoi eliminarlo utilizzando il seguente comando: delete-launch-template
aws ec2 delete-launch-template --launch-template-idlt-068f72b729example
Aggiornare un gruppo con dimensionamento automatico per utilizzare un modello di avvio
Per aggiungere un modello di avvio a un gruppo con dimensionamento automatico esistente, puoi utilizzare il comando: update-auto-scaling-group
Aggiornare un gruppo con dimensionamento automatico affinché utilizzi la versione più recente di un modello di avvio
Il seguente comando, update-auto-scaling-group
aws autoscaling update-auto-scaling-group --auto-scaling-group-namemy-asg\ --launch-template LaunchTemplateId=lt-068f72b729example,Version='$Latest'
Aggiornare un gruppo con dimensionamento automatico affinché utilizzi la versione specifica di un modello di avvio
Il seguente comando, update-auto-scaling-group
aws autoscaling update-auto-scaling-group --auto-scaling-group-namemy-asg\ --launch-template LaunchTemplateName=my-template-for-auto-scaling,Version='2'