Skip to content
Marco Paolini edited this page Mar 29, 2025 · 9 revisions

AWS account setup (once)

  • create aws account, if you dont have one
  • install awsCLI
  • enable IAM Identity Center
    • create IAM user with PowerUserAccess
  • aws configure sso
  • set AWS_DEFAULT_PROFILE
  • log in with aws sso login
  • set default region with aws configure
  • test with aws ec2 desribe-instances
  • create an ec2 instance connect endpoint (in vpc tool)

Create ssh keypair (once)

ssh-keygen -m PEM -f ~/.ssh/aws_ec2_mpaolini
aws ec2 import-key-pair --key-name mpaolini --public-key-material fileb://~/.ssh/aws_ec2_mpaolini.pub
aws ec2 describe-instance-connect-endpoints

Create instance

aws ec2 describe-images --image-ids ami-0bade3941f267d2b8
aws ec2 run-instances --key-name mpaolini --image-id ami-0bade3941f267d2b8 --instance-type t3a.nano
export AWS_INSTANCE_ID=i-010b61e4ba14a9ddc

Connect to instance

  1. start tunnel aws ec2-instance-connect open-tunnel --instance-id $AWS_INSTANCE_ID --local-port 8888

  2. add to ~/.ssh/config:

Host ec2
  HostName localhost
  IdentityFile ~/.ssh/aws_ec2_mpaolini
  User ec2-user
  Port 8888
  ForwardAgent yes
  1. connect ssh ec2
  2. upload git config scp ~/.gitconfig ec2:

Or, alternatively aws ec2-instance-connect ssh --instance-id $AWS_INSTANCE_ID --os-user ec2-user --connection-type eice

Or, connect with VSCode https://code.visualstudio.com/docs/remote/ssh

Development

sudo dnf install git clang perf lldb
git clone git@github.com:mpaolini/sqlite_mode.git

Stop instance

aws ec2 stop-instances --instance-id $AWS_INSTANCE_ID
aws ec2 terminate-instances --instance-id $AWS_INSTANCE_ID

Clone this wiki locally