gecko/scripts/aws/create.py

44 lines
1.0 KiB
Python
Raw Normal View History

#!/usr/bin/env python3
"""
Start a number of AVA nodes on Amazon EC2
"""
2020-03-10 12:20:34 -07:00
import boto3
2020-03-10 12:20:34 -07:00
2020-04-18 20:45:18 -07:00
bootstapNode = "Cascade-Bootstrap"
fullNode = "Cascade-Node"
2020-03-10 12:20:34 -07:00
def runInstances(ec2, num: int, name: str):
2020-03-10 12:20:34 -07:00
if num > 0:
ec2.run_instances(
2020-04-18 20:45:18 -07:00
ImageId="ami-0c088c21fbcdb8a48",
2020-03-10 12:20:34 -07:00
InstanceType="c5.large",
MaxCount=num,
MinCount=num,
SubnetId="subnet-0c80cf240e54118c8",
TagSpecifications=[
{"ResourceType": "instance", "Tags": [{"Key": "Name", "Value": name}]}
],
SecurityGroupIds=["sg-0d6172e416170b426"],
KeyName="stephen_ava",
)
def main():
import argparse
2020-04-18 20:45:18 -07:00
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("numBootstraps", type=int)
parser.add_argument("numNodes", type=int)
args = parser.parse_args()
ec2 = boto3.client("ec2")
runInstances(ec2, args.numBootstraps, bootstapNode)
runInstances(ec2, args.numNodes, fullNode)
2020-03-10 12:20:34 -07:00
if __name__ == "__main__":
main()