· 5 years ago · Sep 09, 2020, 10:12 AM
1import boto3, pprint
2
3accessKey = 'La clé d'accès'
4secretKey = 'La clé secrète'
5
6instanceType = 't2.micro'
7imageId = 'ami-0287acb18b6d8efff'
8keyName = 'une belle paire'
9securityGroupIds = ['sg-07b055e1e8be0df56']
10securityGroups = ['launch-wizard-2']
11
12class Account:
13 zone = 'eu-west-2'
14 def __init__(self,access_key,secret_key):
15 self.access_key = accessKey
16 self.secret_key = secretKey
17
18 def connect(self):
19 connection = boto3.client('ec2',
20 self.zone,
21 aws_access_key_id=self.access_key,
22 aws_secret_access_key=self.secret_key
23 )
24 return connection
25
26class Ec2:
27 def __init__(self,instanceType,imageId,keyName,securityGroupIds,securityGroups):
28 self.instance_type = instanceType
29 self.image_id = imageId
30 self.key_name = keyName
31 self.security_group_ids = securityGroupIds
32 self.security_groups = securityGroups
33
34 def create(self):
35 print("Combien d'Ec2 créer ?")
36 number = int(input())
37 machineCount = 0
38 myAccount = Account(accessKey,secretKey)
39 ec2 = myAccount.connect()
40 createEc2 = ec2.run_instances(InstanceType=self.instance_type,
41 MaxCount=number,
42 MinCount=number,
43 ImageId=self.image_id,
44 KeyName=self.key_name,
45 SecurityGroupIds=self.security_group_ids,
46 SecurityGroups=self.security_groups
47 )
48 instancesLog = createEc2.get('Instances')
49 for instance in instancesLog:
50 machineCount +=1
51 state = instance.get('State')
52 print(f'Instance #{machineCount} : {state}')
53
54
55myEc2 = Ec2(instanceType,imageId,keyName,securityGroupIds,securityGroups)
56myEc2.create()