AWS
commandes aws
aws configure permet de configurer son compte se trouvant dans ~/.aws/credential
ec2 les images systeme
create-security-group cree un groupe de securitee
authorize-security-group-ingress ajouter un port au groupe de securitee aws ec2 authorize-security-group-ingress --group-id "$SGID" --protocol tcp --port 22 --cidr 0.0.0.0/0
create-key-pair cree une flef de securitee aws ec2 create-key-pair --key-name vmtemp --output text |sed -e 's/.*\(-----BEGIN.*KEY-----\)/\1/'|tr '\t' '\n'|sed -e '$d'|sed -e '$d' > ./script_key.pem





EC2
les EC2 sont des images (iso) de distributions
aws ec2 run-instances permet de démarrer un serveur depuis une image aws ec2 run-instances --image-id "$AMIID" --key-name vmtemp --instance-type t2.micro --security-group-ids "$SGID" --subnet-id "$SUBNETID" --query "Instances[0].InstanceId" --output text
aws ec2 wait instance-running attend qu'une instance soit en état "running" aws ec2 wait instance-running --instance-ids "$INSTANCE_WEB"





RDS
les RDS sont des images de base de donnée
aws rds create-db-instance permet de crée une instance de base de donnée aws rds create-db-instance --db-instance-identifier nom_de_limage --db-instance-class db.t2.micro --engine MariaDB --master-username wordpressuser --master-user-password word1324 --no-publicly-accessible --allocated-storage 10 --availability-zone us-east-1c --db-name wordpress
aws rds wait db-instance-available attend que l'instance de base de donnée soit accessible aws rds wait db-instance-available --db-instance-identifier nom_de_limage





gp2
les gp2 sont des volumes que l'on attache à des instances
aws ec2 create-volume permet de cree un volume aws ec2 create-volume --volume-type gp2 --size 10 --availability-zone $AVAILABILITY_ZONE --query "VolumeId" --output text
aws ec2 wait volume-available attend que le volume soit available aws ec2 wait volume-available --volume-ids "$VOLUMEID"
aws ec2 attach-volume attache un volume à une instance ec2 aws ec2 attach-volume --volume-id "$VOLUMEID" --instance-id "$INSTANCE_NFS" --device /dev/sdf





elbv2
les elbv2 sont des load balanceurs
aws ec2 allocate-address permet d'ajouter une adresse ip elastique
aws elbv2 create-load-balancer cree un load balancer aws elbv2 create-load-balancer --name load-balancer --type network --subnet-mappings SubnetId=$SUBNET,AllocationId=$ID_ALLOC
cree un groupe pour le load balancer aws elbv2 create-target-group --name groupe-lb --protocol TCP --port 80 --vpc vpc-dd75caa0
aws elbv2 register-targets enregistre une cible pour le load balanceur aws elbv2 register-targets --target-group-arn $GP_ARN --targets Id=$ID_WEB1
aws elbv2 register-targets --target-group-arn $GP_ARN --targets Id=$ID_WEB2
aws elbv2 create-listener ajoute un ecouteur au load-balanceur aws elbv2 create-listener --load-balancer-arn $(aws elbv2 describe-load-balancers --query LoadBalancers[0].LoadBalancerArn --output text) --protocol TCP --port 80 --default-actions Type=forward,TargetGroupArn=$GP_ARN
aws elbv2 wait target-in-service attend le demarrage de toutes les instances et ecouteur du load balanceur aws elbv2 wait target-in-service --target-group-arn $GP_ARN
aws ec2 describe-instances --instance-ids "$INSTANCE_NFS" permet de décrire toute une instance
--filters Name=instance-state-name,Values=running permet de filtrer si plusieurs instances identiques
--query"Reservations[0].Instances[0].PrivateIpAddress" --output text permet de filtrer le terme précis
(output texte pour l'avoir en texte sans les guillements