-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
58 lines (47 loc) · 1.47 KB
/
main.py
File metadata and controls
58 lines (47 loc) · 1.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# A criação de seções, recursos e instâncias foi baseada na documentação oficial do boto3: https://boto3.amazonaws.com/v1/documentation/api/latest/index.html
import boto3
from scripts import juju_script, docker_script
from credentials import keys
# Definition of some important variables
main_region = "us-east-1"
ubuntu20_ami = "ami-09e67e426f25ce0d7" # Ubuntu 20.04
inst_type = "t2.micro"
key_name = "instancesKey"
sec_group_id = "sg-0600eeadf42d0e6fd" # WebServer
# Session
main_session = boto3.session.Session(
aws_access_key_id = keys.ACCESS_KEY,
aws_secret_access_key = keys.SECRET_KEY,
region_name = main_region
)
# Resource and instances inicialization
ec2 = main_session.resource('ec2')
print("Iniciando Instâncias...")
user_script = f'''#!/bin/bash
cd /home/ubuntu/
sudo apt update && sudo apt upgrade -y
sudo snap install juju --classic
cat << EOF > juju_script.txt
{juju_script.script}
EOF
chmod +x juju_script.txt
cat << EOF > docker_script.txt
{docker_script.script}
EOF
chmod +x docker_script.txt
'''
inst_cluster = ec2.create_instances(
ImageId = ubuntu20_ami,
InstanceType = inst_type,
KeyName = key_name,
MaxCount = 1,
MinCount = 1,
SecurityGroupIds = [sec_group_id],
UserData = user_script,
# Monitoring = ,
TagSpecifications = [{
"ResourceType" : "instance",
"Tags" : [{"Key" : "Name", "Value" : "docker"}]
}]
)
print(f"A instância com ID {inst_cluster[0].id} está sendo iniciada")