From: Charles Plessy Date: Mon, 1 Aug 2016 21:10:43 +0000 (+0900) Subject: Premier jet. X-Git-Url: https://source.charles.plessy.org/?a=commitdiff_plain;h=e9f66d48cae5d016a89249e6cfa55ebf5ffed6d3;p=source.git Premier jet. --- diff --git "a/Debian/debi\303\242neries/awscli-et-vpc.mdwn" "b/Debian/debi\303\242neries/awscli-et-vpc.mdwn" new file mode 100644 index 00000000..4fa62f3c --- /dev/null +++ "b/Debian/debi\303\242neries/awscli-et-vpc.mdwn" @@ -0,0 +1,70 @@ +[[!meta date="Fri, 29 Jul 2016 09:05:19 +0900"]] +[[!meta updated="Fri, 29 Jul 2016 09:05:19 +0900"]] +[[!tag Debian]] + +[[!meta title="Nuage Amazon: remise à niveau."]] + +Cela faisait quelques années que je n'avais pas fait de travail sérieux +utilisant le nuage Amazon. Il m'a fallu un petit moment pour retrouver mes +marques et m'adapter aux changements. En particulier, les instances à plus +petit prix, `t2.nano` ne sont plus accessible que depuis les nuages virtuels +privés (« _Virtual Private Cloud_ », VPC), et j'ai eu un peu de mal à trouver +comment en créer un simple. Je pense qu'une des raisons est que les +utilisateurs arrivés après le 18 mars 2013 on automatiquement un [VPC par +défaut](https://aws.amazon.com/fr/vpc/faqs/#VPC_par_défaut) et que les autres +ont déjà créé leur VPC depuis longtemps. Au final, ce n'était pas compliqué du +tout. C'est certainement pour ça que je n'avais pas trouvé de tutoriel à ce +sujet. + +En résumé il faut d'abords créer un VPC. Pour lancer une instance de temps en +temps, la plage IP privée importe peu. Les VPCs par défaut utilisent +`172.31.0.0/16`; alors faisons de même. + + CIDR_BLOCK=172.31.0.0/16 + aws ec2 create-vpc --cidr-block $CIDR_BLOCK + +La commande renvoie un identifiant de VPC, que je stocke à la main dans la +variable `VPC` par copié-collé. Le même principe sera répété pour chaque +commande créant quelque chose. On peut retrouver l'identifiant avec la +commande `aws ec2 describe-vpcs`. + + VPC=vpc-XXXXXXXX # Et ainsi de suite + +Après, créer un sous-réseau. Là encore, pas la peine de faire compliqué, on peut +lui donner la plage IP entière. Je récupère l'identifiant renvoyé et le stocke +dans la variable `SUBNET`. Pour que les instances reçoivent une IP publique comme +dans les VPCs par défaut et l'ancien comportement du nuage sans VPC, il faut activer +l'attribut `MapPublicIpOnLaunch`. + + aws ec2 create-subnet --vpc-id $VPC --cidr-block $CIDR_BLOCK + SUBNET=subnet-XXXXXXXX + aws ec2 modify-subnet-attribute --subnet-id $SUBNET --map-public-ip-on-launch + +Ensuite, créer une passerelle (je récupère l'identifiant dans `GATEWAY`) et +l'attacher au VPC. + + aws ec2 create-internet-gateway + GATEWAY=igw-XXXXXXXX + aws ec2 attach-internet-gateway --internet-gateway-id $GATEWAY --vpc-id $VPC + +Une table de routage a été créée automatiquement, et on peut trouver son +identifiant via la commende `describe-route-tables`, pour créer ensuite une +route par défaut vers la passerelle. + + aws ec2 describe-route-tables + ROUTETABLE=rtb-XXXXXXXX + aws ec2 create-route --route-table-id $ROUTETABLE --destination-cidr-block 0.0.0.0/0 --gateway-id $GATEWAY + +Bien sûr, si on n'ouvre pas le trafic, on ne pourra pas contacter la machine... +Ici, j'ouvre le port 22 pour un accès SSH. + + aws ec2 describe-security-groups + SECURITY_GROUP=sg-XXXXXXXX + aws ec2 authorize-security-group-ingress --group-id $SECURITY_GROUP --protocol tcp --port 22 --cidr 0.0.0.0/0 + + +Autre changement, Amazon distribue maintenant des [[!debpkg aws|outils libres]] +pour la ligne de commande, qui sont plus complets qu'[[!debpkg euca2ools]]. + +Prochaine étape, recommencer les tests utilisant l'[installeur +Debian|installeur-debian-dans-le-nuage-amazon] dans le Nuage.