Est-il possible de créer une instance ec2 en utilisant boto3 en python? veuillez fournir des exemples de codes/liens.
L'API a changé mais c'est juste 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/fr/latest/guide/migrationec2.html#launching-new-instances
Référez-vous à la documentation d'API a toutes les options disponibles pour créer l'instance
http://boto3.readthedocs.org/fr/latest/reference/services/ec2.html#EC2.Subnet.create_instances
Le lien que vous recherchez réellement dans la documentation est la méthode create_instances()
de l'objet ServiceResource . C'est le type d'objet que vous appelez si vous créez une ressource EC2 comme celle-ci:
s = boto3.Session(region_name="us-west-1")
ec2 = s.resource('ec2')
...
instance = ec2.create_instances(**y_kwargs)
Celui-ci contient un exemple plus détaillé et une liste plus longue des paramètres disponibles.
Vous pouvez également obtenir des valeurs de paramètre pour les instances AWS déjà en cours d'exécution à l'aide de l'interface de ligne de commande AWS:
$ aws ec2 describe-instances
Ceci affiche un fichier JSON à partir duquel des paramètres pertinents peuvent être extraits et passés à la méthode create_instances()
. (Vous pouvez également utiliser un client de boto et appeler la méthode describe_instances()
.)
(Remarque: si vous vous demandez quelle est la différence entre le client et la ressource, ils servent des objectifs différents pour le même objectif - le client est une interface de niveau inférieur tandis que la ressource est une interface de niveau supérieur.)
Vous pouvez exécuter le code que j'ai utilisé à partir de boto3 docs . Vous pouvez ajouter ou supprimer des paramètres selon vos besoins, mais voici ce que vous auriez normalement besoin:
import boto3
client = boto3.client('ec2', region_name='us-west-2')
response = client.run_instances(
BlockDeviceMappings=[
{
'DeviceName': '/dev/xvda',
'Ebs': {
'DeleteOnTermination': True,
'VolumeSize': 8,
'VolumeType': 'gp2'
},
},
],
ImageId='AMI-6cd6f714',
InstanceType='t3.micro',
MaxCount=1,
MinCount=1,
Monitoring={
'Enabled': False
},
SecurityGroupIds=[
'sg-1f39854x',
],
)
Si vous êtes sous Windows, vous devez configurer AWS Cli avec l’autorisation appropriée EC2 pour lancer l’instance.
import boto3
ec2 = boto3.resource('ec2')
instance = ec2.create_instances(
ImageId='AMI-5eb63a32',
MinCount=1,
MaxCount=1,
InstanceType='t2.micro',
)
print(instance[0].id)