AZ=curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone
export AWS_DEFAULT_REGION=${AZ::-1}
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
SG=$(aws ec2 describe-security-groups --filters Name=group-name,Values=WebSecurityGroup --query SecurityGroups[].GroupId --output text)
echo $SG
SUBNET=$(aws ec2 describe-subnets --filters 'Name=tag:Name,Values=Public Subnet' --query Subnets[].SubnetId --output text)
echo $SUBNET
wget ... /user_data.txt
EC2_INSTANCE=$(
aws ec2 run-instances
--image-id $AMI
--subnet-id $SUBNET
--security-group-ids $SG
--user-data file:///home/ec2-user/user_data.txt
--instance-type t2.micro
--tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=Web Server}]'
--query 'Instances[*].InstanceId'
--output text
)
echo $EC2_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
###################### (based on: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html )
$ lsblk
New volumes are raw block devices, and you must create a file system on them before you can mount and use them.
$ sudo file -s /dev/xvdf
to format empty "data" files system
$ lsblk $ sudo mkdir /my-data $ sudo mount /dev/xvdf /my-data $ lsblk
[ec2-user@ip-172-31-2-187 ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 8G 0 disk └─xvda1 202:1 0 8G 0 part / xvdf 202:80 0 8G 0 disk /my-data
$ blkid
[ec2-user@ip-172-31-2-187 ~]$ sudo blkid /dev/xvda1: LABEL="/" UUID="15c7809d-e6e3-4062-a5eb-afeb1939fc6e" TYPE="xfs" PARTLABEL="Linux" PARTUUID="cfb2e895-ecec-41c 5-afc2-40ffe2e4384a" /dev/xvdf: UUID="80029fd7-fa14-4515-a698-29711f1d8e38" TYPE="xfs"
[ec2-user@ip-172-31-2-187 ~]$
UUID=80029fd7-fa14-4515-a698-29711f1d8e38 /my-data xfs defaults,nofail 0 2
cat /etc/fstab
https://medium.com/devops-dudes/setting-up-an-ssh-agent-to-access-the-bastion-in-vpc-532918577949
ssh-agent -s ssh-add -l
ssh-add -k lab-vpc-k3-oregon-borrame.pem ssh-add -k lab-vpc-k3-virginia-borrame.pem ssh-add -l
ssh-add -d ~/.ssh/cloud-infra-key.pem
ssh -A
sudo amazon-linux-extras install epel -y
sudo yum install -y stress
# Stress 10 minutos
stress --cpu 2 --timeout 300