GNU/Linux >> Tutoriels Linux >  >> Linux

Gérer AWS VPC à l'aide d'aws-cli

La gestion d'un VPC et d'autres ressources telles que le sous-réseau, la table de routage, la passerelle Internet à partir du terminal à l'aide d'aws-cli peut être un peu déroutante si vous n'êtes pas bon en VPC. Dans cet article, nous allons créer un VPC avec 2 sous-réseaux, table de routage et 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 vous présenter les commandes permettant de gérer 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 pouvant être effectuées sur VPC, visitez la documentation officielle ici.

Pré-requis

  1. Compte AWS (créez-le si vous n'en avez pas).
  2. Compréhension de base du VPC (Cliquez ici pour apprendre à créer un VPC à partir de la console AWS).
  3. Utilisateur AWS IAM auquel est associée la stratégie AmazonVPCFullAccess, ainsi que ses clés d'accès et secrètes (Cliquez ici pour apprendre à créer un utilisateur IAM).
  4. AWS CLI installé sur votre ordinateur local.
  5. Compréhension de base de l'instance EC2 (Cliquez ici pour apprendre à créer une instance EC2 Ubuntu)

Qu'allons-nous faire ?

  1. Vérifiez aws cli et exportez l'accès AWS et la clé secrète sur votre ordinateur local.
  2. Gérer le VPC à l'aide d'aws cli

Vérifiez aws cli et exportez l'accès aws et la clé secrète sur votre machine locale.

Si l'utilitaire aws-cli n'est pas installé sur votre ordinateur, consultez la documentation officielle ici pour l'installer sur votre ordinateur local, puis vérifiez sa version à l'aide de la commande suivante.

aws --version

Si vous exécutez la commande suivante, vous obtiendrez une erreur car vous n'avez pas configuré l'accès à votre compte AWS dans le terminal.

aws sts get-caller-identity

Exportez l'accès utilisateur et les clés secrètes AWS IAM sur votre 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, vous pouvez vérifier votre identité en exécutant la commande suivante

aws sts get-caller-identity

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

Créez un VPC à l'aide de la commande suivante, cela ne créera pas de VPC par défaut. 10.0.0.0/16 sera le CIDR du VPC qui sera créé. Vous pouvez spécifier un CIDR valide selon votre choix et vos besoins.

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

Notez le VpcId dans la capture d'écran ci-dessus. Vous verrez un VpcId différent dans votre sortie. Notez le VpcId, nous en aurons besoin dans les prochaines étapes.

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

aws ec2 describe-vpcs

En spécifiant le VpcId, vous pouvez décrire le VPC spécifique

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

Maintenant, créons 2 sous-réseaux dans le VPC que nous avons créé. Ici, les deux sous-réseaux 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

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

aws ec2 create-internet-gateway

Attachez la passerelle Internet avec le VPC que nous avons créé précédemment.

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

Maintenant, créons une table de routage.

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

Associez la table de routage 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

La création d'une route depuis la table de routage vers la passerelle Internet rendra publics les sous-réseaux associés à la table de routage

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

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

Si nous créons une instance EC2 dans ce VPC et l'un des sous-réseaux, l'instance sera publiquement accessible depuis Internet. Reportez-vous au document mentionné dans le prérequis pour apprendre à créer une instance Ubuntu EC2. Lors de la création d'une instance, spécifiez 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]

Conclusion

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


Linux
  1. Gérer le démarrage à l'aide de systemd

  2. Guide Ansible :Gérer les fichiers à l'aide d'Ansible

  3. Créer un cloud privé virtuel (VPC) sur AWS à l'aide de Terraform

  4. Comment créer un rôle IAM dans AWS à l'aide de Terraform

  5. Comment gérer les packages NodeJS à l'aide de Npm

Créer un compartiment S3 sur AWS à l'aide de Terraform

Comment créer un compartiment S3 à l'aide de Python Boto3 sur AWS

Comment gérer l'état de Terraform dans un compartiment AWS S3

Gérez vos jeux avec Lutris sous Linux

Utiliser Docker Desktop pour gérer un conteneur

Comment installer AWS-CLI sur Ubuntu