Initial commit
Project-1, part-1 started ready on local? 2.6s for 1000 req
26
Project-1/Part-1/instance_info.py
Normal file
@@ -0,0 +1,26 @@
|
||||
import boto3
|
||||
from pprint import pprint
|
||||
|
||||
# creds from ~/.aws/credentials
|
||||
session = boto3.Session(profile_name="dev")
|
||||
|
||||
dev_ec2_client = session.client("ec2", region_name="us-east-1")
|
||||
|
||||
# Get all instances' information
|
||||
all_instances = dev_ec2_client.describe_instances()
|
||||
with open("output.txt", "w") as out_f:
|
||||
pprint(all_instances, stream=out_f)
|
||||
|
||||
print("Capacity Reservations:", len(all_instances["Reservations"]))
|
||||
for idx, reservation in enumerate(all_instances["Reservations"]):
|
||||
print("Reservation", idx + 1, ":-")
|
||||
print("\tGroups:", len(reservation["Groups"])) # TODO: add grp info logging
|
||||
print("\tInstances:", len(reservation["Instances"]))
|
||||
for inst_idx, instance in enumerate(reservation["Instances"]):
|
||||
print("\tInstance", inst_idx + 1, ":-")
|
||||
print("\t\tInstance ID:", instance["InstanceId"])
|
||||
print("\t\tInstance state:", instance["State"]["Name"])
|
||||
print(f"\t\t{instance["InstanceType"]} in {instance["Placement"]["AvailabilityZone"]}")
|
||||
print(f"\t\t{instance["CpuOptions"]["CoreCount"]}vCPU, {instance["Hypervisor"]} hypervisor")
|
||||
print(f"\t\t{instance["PlatformDetails"]} on {instance["RootDeviceType"]} volume")
|
||||
print("\t\tPublic IP address:", instance["PublicIpAddress"] if "PublicIpAddress" in instance else "N/A")
|
||||
4
Project-1/Part-1/requirements.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
boto3
|
||||
numpy
|
||||
pandas
|
||||
requests
|
||||
28
Project-1/Part-1/run_instances.py
Normal file
@@ -0,0 +1,28 @@
|
||||
import boto3
|
||||
|
||||
# creds from ~/.aws/credentials
|
||||
session = boto3.Session(profile_name="dev")
|
||||
dev_ec2_client = session.client("ec2", region_name="us-east-1")
|
||||
|
||||
# Create capacity reservation of instances
|
||||
ami_id = "ami-0c7217cdde317cfec" # Ubuntu Server 22.04 LTS, SSD on EBS, 64-bit (x86)
|
||||
reservation = dev_ec2_client.run_instances(
|
||||
ImageId=ami_id,
|
||||
KeyName='cse546-dev',
|
||||
MinCount=1, # if available instances are less than min_count, abort with no allocation
|
||||
MaxCount=1, # try to allocate max_count instances. we only need one for now
|
||||
InstanceType="t2.micro",
|
||||
TagSpecifications=[
|
||||
{"ResourceType": "instance", "Tags": [{"Key": "Name", "Value": "WebTier"}]}
|
||||
],
|
||||
)
|
||||
|
||||
print("Instances allocated successfully:", "Yes" if reservation else "No")
|
||||
print("Groups:", len(reservation["Groups"])) # TODO: add grp info logging
|
||||
print("Instances:", len(reservation["Instances"]))
|
||||
for inst_idx, inst in enumerate(reservation["Instances"]):
|
||||
print("Instance", inst_idx + 1, ":-")
|
||||
print("\tInstance ID:", inst["InstanceId"])
|
||||
print("\tInstance state:", inst["State"]["Name"])
|
||||
print(f"\t{inst["InstanceType"]} in {inst["Placement"]["AvailabilityZone"]}")
|
||||
print(f"\t{inst["CpuOptions"]["CoreCount"]}vCPU, {inst["Hypervisor"]} hypervisor")
|
||||
4
Project-1/Part-1/web-tier-express/README.md
Normal file
@@ -0,0 +1,4 @@
|
||||
# Web tier with ExpressJS
|
||||
|
||||
- Run `npm i` to install all dependencies
|
||||
- Start: `npm run dev` or `prod`
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |