Gérer AWS VPC à l’aide de aws-cli

La gestion d’un VPC et d’autres ressources comme le sous-réseau, la table de routage et la passerelle Internet depuis le terminal à l’aide d’aws-cli peut être un peu déroutante si tu ne connais pas bien le VPC. Dans cet article, nous allons créer un VPC avec 2 sous-réseaux, une table de routage et une passerelle Internet, ces sous-réseaux seront des sous-réseaux publics. Une fois le VPC créé, nous essaierons de nous connecter à l’instance EC2 créée dans ce VPC. Le but de cet article est de te présenter les commandes utilisées pour gérer le VPC depuis le terminal.

Il est conseillé de bien comprendre d’abord le VPC, l’objectif de cet article n’est pas d’expliquer le VPC. Pour connaître les opérations qui peuvent être effectuées sur VPC, consulte la documentation officielle ici.

Pré-requis

  1. Compte AWS (Crée-le si tu n’en as pas).
  2. Compréhension de base du VPC(cliqueici pour apprendre à créer un VPC depuis la console AWS).
  3. Utilisateur AWS IAM auquel est attachée la politiqueAmazonVPCFullAccess et ses clés d’accès et secrètes (clique ici pour apprendre à créer un utilisateur IAM).
  4. AWS CLI installé sur ta machine locale.
  5. Compréhension de base de l’instance EC2 (cliqueici pour apprendre à créer une instance EC2 Ubuntu).

Que ferons-nous ?

  1. Vérifier aws cli et exporter la clé d’accès et secrète AWS sur ta machine locale.
  2. Gère le VPC à l’aide d’aws cli.

Vérifie aws cli et exporte la clé d’accès et la clé secrète d’AWS sur ta machine locale.

Si l’utilitaire aws-cli n’est pas installé sur ta machine, consulte la documentation officielle ici pour l’installer sur ta machine locale, puis vérifie sa version à l’aide de la commande suivante.

aws --version

Si tu exécutes la commande suivante, tu obtiendras une erreur car tu n’as pas configuré l’accès à ton compte AWS dans le terminal.

aws sts get-caller-identity

Exporte l’accès de l’utilisateur AWS IAM et les clés secrètes sur ton terminal à l’aide des commandes suivantes.

export AWS_ACCESS_KEY_ID=<aws-user-access-key>
export AWS_SECRET_ACCESS_KEY=<aws-user-secret-key>

Cette fois, tu peux vérifier ton identité en exécutant la commande suivante.

aws sts get-caller-identity

Gérer le VPC à l’aide d’aws-cli

Crée un VPC à l’aide de la commande suivante, elle ne créera pas de VPC par défaut. 10.0.0.0/16 sera le CIDR du VPC qui sera créé. Tu peux spécifier un CIDR valide selon ton choix et tes besoins.

aws ec2 create-vpc --cidr-block 10.0.0.0/16

Créer un VPC

Remarque le VpcId dans la capture d’écran ci-dessus. Tu verras un VpcId différent dans ta sortie. Prends note du VpcId, nous en aurons besoin dans les étapes suivantes.

Pour décrire tous les VPC de ta région actuelle, exécute la commande suivante.

aws ec2 describe-vpcs

En spécifiant le VpcId, tu peux décrire le VPC spécifique.

aws ec2 describe-vpcs --vpc-ids vpc-03c4278f3b75efd77

Maintenant, créons 2 Subnets dans le VPC que nous avons créé. Ici, les deux Subnets doivent avoir des blocs CIDR uniques dans le VPC.

aws ec2 create-subnet --vpc-id vpc-03c4278f3b75efd77 --cidr-block 10.0.1.0/24
aws ec2 create-subnet --vpc-id vpc-03c4278f3b75efd77 --cidr-block 10.0.2.0/24

Créer des sous-réseaux

Pour rendre les sous-réseaux publics, nous devons créer une passerelle Internet.

aws ec2 create-internet-gateway

Attache la passerelle Internet au VPC que nous avons créé précédemment.

aws ec2 attach-internet-gateway --internet-gateway-id igw-04f1e4f13f92599c3 --vpc-id vpc-03c4278f3b75efd77

Créer une passerelle Internet

Maintenant, créons une Table des routes.

aws ec2 create-route-table --vpc-id vpc-03c4278f3b75efd77

Associe la Table des routes aux deux sous-réseaux

aws ec2 associate-route-table --route-table-id rtb-0878d652f460dbf50 --subnet-id subnet-0748ef7a26aefc7cc
aws ec2 associate-route-table --route-table-id rtb-0878d652f460dbf50 --subnet-id subnet-0375b656eb64962e8

Créer une table de route

En créant une route de la table des routes vers la passerelle Internet, les sous-réseaux associés à la table des routes seront publics.

aws ec2 create-route --route-table-id rtb-0878d652f460dbf50 --destination-cidr-block 0.0.0.0/0 --gateway-id igw-04f1e4f13f92599c3

Route de la Crète

Nous avons maintenant un VPC avec 2 sous-réseaux, 1 table des routes et une route de la table des routes vers la passerelle Internet.

Si nous créons une instance EC2 dans ce VPC et dans l’un des sous-réseaux, l’instance sera publiquement accessible depuis Internet. Reporte-toi au document mentionné dans les conditions préalables pour apprendre à créer une instance EC2 Ubuntu. En créant une instance, indique le VPC que nous venons de créer.

aws ec2 describe-instances --instance-ids i-079acfea39b6ad2c9 | grep VpcId
aws ec2 describe-instances --instance-ids i-079acfea39b6ad2c9 | grep SubnetId
aws ec2 describe-instances --instance-ids i-079acfea39b6ad2c9 | grep PublicIpAddress
ssh -i ~/Downloads/aws-cli.pem [email protected]

Connecte-toi à EC2

Conclusion

Dans cet article, nous avons vu les étapes pour créer un VPC avec 2 sous-réseaux, 1 table des routes, une passerelle Internet et une route vers la passerelle Internet à partir de la table des routes. Nous avons également vu que l’instance créée dans l’un des sous-réseaux rend l’instancepubliquement disponible car les deux sous-réseaux sont des sous-réseaux publics.

Vous aimerez aussi...