Est-il possible de créer une instance ec2 en utilisant boto3 en python? Le document Boto3 n'aide pas ici, et je n'ai trouvé aucun document d'aide en ligne. Veuillez fournir quelques exemples de codes/liens.Comment créer une instance ec2 en utilisant boto3
Répondre
L'API a changé, mais il est là, dans la documentation
# Boto 3
ec2.create_instances(ImageId='<ami-image-id>', MinCount=1, MaxCount=5)
Lien vers la documentation: http://boto3.readthedocs.org/en/latest/guide/migrationec2.html#launching-new-instances
Reportez-vous à l'API docs a toutes les options disponibles pour créer une instance
http://boto3.readthedocs.org/en/latest/reference/services/ec2.html#EC2.Subnet.create_instances
Le lien que vous cherchez vraiment dans la documentation est le create_instances()
method of the ServiceResource object. Ceci est le type d'objet que vous appelez si vous créez une ressource EC2 comme ceci:
s = boto3.Session(region_name="us-west-1")
ec2 = s.resource('ec2')
...
instance = ec2.create_instances(**y_kwargs)
Ceci contient un exemple plus détaillé et une liste plus longue des paramètres disponibles.
Vous pouvez également obtenir des valeurs de paramètres pour les instances AWS qui sont déjà en cours d'exécution en utilisant l'interface de ligne de commande AWS:
$ aws ec2 describe-instances
Ceci affiche un fichier JSON à partir duquel on peut extraire les paramètres pertinents et passés à la méthode create_instances()
. (Ou, vous pouvez utiliser un client boto et appeler le describe_instances()
method.)
(Remarque: Si vous vous demandez quelle est la différence entre le client et la ressource, ils servent des fins différentes pour le même but - le client est une interface de niveau inférieur alors que la ressource est une interface de niveau supérieur.)
Savez-vous s'il existe un argument mot-clé pour spécifier le groupe de sécurité? De cette façon, je peux créer l'instance et définir le bon groupe de sécurité qui me permettra d'entrer dans le serveur. – applecider
Il doit accepter un argument de type 'SecurityGroups = ['secgroup', ..]'. Ce [question] (https://github.com/boto/boto3/issues/136) semble suggérer que 'create_instances' exécute le classique boto2' run_instances' en coulisses, donc les paramètres d'origine de 'run_instances' devraient être valides . Voir la [documentation] (http://botocore.readthedocs.org/en/latest/reference/services/ec2.html#EC2.Client.run_instances) – gbs
Merci mon pote, je vais tenter le coup – applecider