This project uses GitHub Actions for automated builds and deployments. Ready to tweak and test this webapp locally? Follow these instructions:
Ready to tinker? For development, you'll need:
- AWS CLI (
aws
) - curl (
curl
) - jq (
jq
) - SQLite3 (
sqlite3
) - Perl 5 (
perl
) - Perl modules:
Debian/Ubuntu
Packages:
sudo apt update
sudo apt install \
awscli \
curl \
jq \
libdbd-sqlite3-perl \
libjson-xs-perl \
libplack-perl \
libtemplate-perl \
libtext-csv-perl \
sqlite3
macOS
Homebrew packages:
brew install \
awscli \
cpanminus \
curl \
jq \
perl \
pkg-config \
sqlite3
Perl modules:
cpanm --installdeps .
sqlite3 ec2.db < create.sql
curl -O "https://b0.p.awsstatic.com/locations/1.0/aws/current/locations.json"
perl locations.pl < locations.json
curl -O "https://ip-ranges.amazonaws.com/ip-ranges.json"
perl ip-ranges.pl < ip-ranges.json
# On-demand and reserved price
bash price-lists.sh
# Spot price
curl -O "https://website.spot.ec2.aws.a2z.com/spot.json"
perl spot.pl < spot.json
We're gonna assume us-east-1
(N. Virginia) has all the available instance types.
aws ec2 describe-instance-types --region us-east-1 --output json > instance-types.json
perl instance-types.pl < instance-types.json
We're gonna assume us-east-1
(N. Virginia) has all the available storage types.
sqlite3 ec2.db < storage-types.sql
Copy tables from AWS General SAP Guide and paste as unformatted text (Crtl+Shift+V)to LibreOffice Calc Spreadsheet:
Export as CSV (sap.csv
, sap-hana.csv
):
Update database:
perl sap.pl
perl sap-hana.pl
bash export.sh
perl web.pl
Run:
plackup --host "127.0.0.1" --port "8080"
- Reserved Instances: https://aws.amazon.com/ec2/pricing/reserved-instances/
- Spot Instances: https://aws.amazon.com/ec2/spot/
- Compute Savings Plans: https://docs.aws.amazon.com/savingsplans/latest/userguide/what-is-savings-plans.html
- EBS Volume types: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html#vol-type-ssd
- EBS performance: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/general-purpose.html#gp2-performance
- Connect GitHub Actions: https://aws.amazon.com/blogs/security/use-iam-roles-to-connect-github-actions-to-actions-in-aws/