aws ec2 create-key-pair --key-name MyKeyPair --query "KeyMaterial" --output text > MyKeyPair.pem


chmod 400 MyKeyPair.pem

aws ec2 create-security-group --group-name SSHAccess --description "Security group for SSH access" --vpc-id <VPC ID>


aws ec2 authorize-security-group-ingress --group-id <SG ID> --protocol tcp --port 22 --cidr 0.0.0.0/0

You can get the AMI ID by accessing EC2, selecting AMI Catalog. Here we will get the AMI ID of Amazon Linux 2023 kernel-6.1 AMI.

aws ec2 run-instances --image-id <AMI ID> --count 1 --instance-type t2.micro --key-name MyKeyPair --security-group-ids <SG ID> --subnet-id <Subnet ID>

aws ec2 describe-instances --instance-id <Instance ID> --query "Reservations[*].Instances[*].{State:State.Name,Address:PublicIpAddress}"

ssh -i "MyKeyPair.pem" ec2-user@<IP Public>

aws ec2 terminate-instances --instance-ids <Instance ID>

aws ec2 describe-instances --instance-id <Instance ID> --query "Reservations[*].Instances[*].State.Name"

Note: Secure your key pair carefully and delete it when not in use.