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 |