launching ec2 instance with cli
Reference scripts. No Explanations; almost self explanatory if you understand bash and little bit of aws

Reliable NodeJs, React, Flutter and AWS Certified Developer with an outstanding work ethic and computer language knowledge base. Proficient at explaining complex application development concepts and processes to a variety of professional and lay audiences in a clear and accessible manner. Able to work well independently or as part of an Agile development team.
# Set the Region
AZ=`curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone`
export AWS_DEFAULT_REGION=${AZ::-1}
# Obtain latest Linux AMI
AMI=$(aws ssm get-parameters --names /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 --query 'Parameters[0].[Value]' --output text)
echo $AMI
SUBNET=$(aws ec2 describe-subnets --filters 'Name=tag:Name,Values=Public Subnet' --query Subnets[].SubnetId --output text)
echo $SUBNET
SG=$(aws ec2 describe-security-groups --filters Name=group-name,Values=WebSecurityGroup --query SecurityGroups[].GroupId --output text)
echo $SG
wget https://aws-tc-largeobjects.s3.amazonaws.com/ILT-TF-200-ACSOPS-1/lab-2-ec2-linux/UserData.txt
#!/bin/bash
# Install Apache Web Server
yum install -y httpd
# Turn on web server
systemctl enable httpd.service
systemctl start httpd.service
# Download App files
wget https://aws-tc-largeobjects.s3.amazonaws.com/CUR-TF-200-RESOPS/lab2vocareum/dashboard-app.zip
unzip dashboard-app.zip -d /var/www/html/
INSTANCE=$(\
aws ec2 run-instances \
--image-id $AMI \
--subnet-id $SUBNET \
--security-group-ids $SG \
--user-data file:///home/ec2-user/UserData.txt \
--instance-type t2.micro \
--tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=Web Server}]' \
--query 'Instances[*].InstanceId' \
--output text \
)
echo $INSTANCE
aws ec2 describe-instances --instance-ids $INSTANCE
aws ec2 describe-instances --instance-ids $INSTANCE --query 'Reservations[].Instances[].State.Name' --output text
aws ec2 describe-instances --instance-ids $INSTANCE --query Reservations[].Instances[].PublicDnsName --output text




