#!/bin/bash
sudo yum install -y jq
sudo yum install -y curl --allowerasing
sudo yum install -y amazon-cloudwatch-agent
sudo yum install -y python3
sudo yum install -y python3-pip
sudo python3 -m uvicorn main:app --host 0.0.0.0 --port 8000
sudo python3 -m pip install --user fastapi uvicorn pymysql sqlalchemy boto3 "passlib[bcrypt]==1.7.4" "bcrypt==4.0.1" "pydantic[email]"
aws s3 cp s3://wsc-iost-1234-bucket/main.py /home/ec2-user/
sudo mkdir -p /var/log/app
sudo chmod 777 /var/log/app
sudo touch /var/log/app/app.log
sudo chmod 777 /var/log/app/app.log
echo '{
"logs": {
"logs_collected": {
"files": {
"collect_list": [
{
"file_path": "/var/log/app/app.log",
"log_group_name": "/wsc/log",
"log_stream_name": "api_{instance_id}",
"timezone": "UTC"
}
]
}
}
}
}' | sudo tee /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json > /dev/null
cd /home/ec2-user
sudo nohup python3 -m uvicorn main:app --host 0.0.0.0 --port 8000 > /var/log/app/app.log 2>&1 &
sudo systemctl start amazon-cloudwatch-agent
sudo systemctl enable amazon-cloudwatch-agent