È possibile creare un'istanza di ec2 utilizzando boto3 in python? Il documento Boto3 non sta aiutando qui e non sono riuscito a trovare alcun documento di aiuto online. si prega di fornire alcuni codici di esempio/collegamenti.Come creare un'istanza di ec2 utilizzando boto3
risposta
L'API è cambiato, ma è proprio lì nella documentazione
# Boto 3
ec2.create_instances(ImageId='<ami-image-id>', MinCount=1, MaxCount=5)
Link alla documentazione: http://boto3.readthedocs.org/en/latest/guide/migrationec2.html#launching-new-instances
Fare riferimento alla documentazione API ha tutte le opzioni disponibili per creare un'istanza
http://boto3.readthedocs.org/en/latest/reference/services/ec2.html#EC2.Subnet.create_instances
Il link che stai veramente cercando nella documentazione è lo create_instances()
method of the ServiceResource object. Questo è il tipo di oggetto che si sta chiamando se si crea una risorsa EC2 come questo:
s = boto3.Session(region_name="us-west-1")
ec2 = s.resource('ec2')
...
instance = ec2.create_instances(**y_kwargs)
Questo contiene un esempio più dettagliato e un elenco dei parametri disponibili più a lungo.
È inoltre possibile ottenere i valori dei parametri per le istanze AWS che eseguono già utilizzando l'interfaccia a riga di comando AWS:
$ aws ec2 describe-instances
Questo stampa un file JSON da cui i parametri rilevanti possono essere estratti e passati al metodo create_instances()
. (Oppure, puoi usare un client boto e chiamare lo describe_instances()
method.)
(Nota: se ti stai chiedendo quale sia la differenza tra il Cliente e la Risorsa, servono a scopi diversi per lo stesso scopo - il cliente è un'interfaccia di livello inferiore mentre la risorsa è un'interfaccia di livello superiore.)
Sapete se esiste un argomento di parole chiave per specificare il gruppo di sicurezza? In questo modo posso creare l'istanza e impostare il giusto gruppo di sicurezza che mi consentirà di ssh nel server. – applecider
Dovrebbe accettare un argomento 'SecurityGroups = ['secgroup', ..]' Parola chiave. Questo [problema] (https://github.com/boto/boto3/issues/136) sembra suggerire che 'create_instances' sta eseguendo il classico boto2' run_instances' dietro le quinte, quindi i parametri originali di 'run_instances' dovrebbero essere validi . Vedi la [documentazione] (http://botocore.readthedocs.org/en/latest/reference/services/ec2.html#EC2.Client.run_instances) – gbs
Grazie amico, gli faremo uno scatto – applecider