AWS fournit un service de cloud privé virtuel (VPC) pour créer un réseau virtuel logiquement isolé dans le cloud. Ici, nous pouvons lancer des instances EC2 et RDS et créer des groupes de sécurité et d'autres ressources. Comme beaucoup d'autres tâches, nous pouvons également créer un VPC utilisant Terraform.
Ce que nous couvrirons
Ce guide montrera comment créer un VPC AWS (Cloud privé virtuel) à l'aide de Terraform.
Ce dont tu auras besoin
Création d'AWS VPC à l'aide de Terraform
Maintenant que nous avons installé Terraform sur notre machine locale, nous pouvons continuer notre tâche de travailler avec VPC. Ici, nous avons décrit la configuration VPC pour notre cas:
Nous avons un sous-réseau privé et un sous-réseau public avec leur table d'itinéraire correspondante. Le sous-réseau public a également une passerelle NAT attachée. La configuration Terraform pour différents composants est stockée dans différents fichiers comme:
Comme mentionné précédemment, Terraform utilise plusieurs fichiers de configuration pour l'approvisionnement des ressources, et chacun de ces fichiers doit résider dans leur dossier / répertoire de travail respectif. Créons un répertoire à cet effet:
Étape 1. Créez un dossier qui conservera vos fichiers de configuration, puis accédez à ce dossier:
1 | $ Mkdir Linuxhint-Terraform && CD Linuxhint-Terraform |
Étape 2. Créons notre premier fichier de configuration, «Variables.TF », qui contiendra des informations sur notre région AWS et le type d'instance que nous voulons utiliser:
1 | $ variables nano.TF |
Maintenant, mettez le texte suivant à l'intérieur et enregistrez le fichier:
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 | variable "aws_region" |
Étape 3. Créer VPC.TF:
1 | $ nano vpc.TF |
Maintenant, mettez le texte suivant à l'intérieur et enregistrez le fichier:
1 2 3 4 5 | ressource "aws_vpc" "my-vpc" |
Étape 4. Créer une passerelle.Fichier TF et définir la passerelle Internet et la passerelle NAT ici:
1 | $ nano passerelle.TF |
Maintenant, mettez le texte suivant à l'intérieur et enregistrez le fichier:
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 | # Créez une ressource de passerelle Internet et attachez-la au VPC |
Étape 5. Créer des sous-réseaux.TF pour les sous-réseaux privés et publics à l'intérieur du VPC:
1 | $ sous-réseaux nano.TF |
Maintenant, mettez le texte suivant à l'intérieur et enregistrez le fichier:
1 2 3 4 5 6 7 8 9 | ressource "aws_subnet" "myprivatesubnet" |
Étape 6. Créer la table d'itinéraire.TF pour les sous-réseaux privés et publics:
1 | $ Nano Route-Table.TF |
Maintenant, mettez le texte suivant à l'intérieur et enregistrez le fichier:
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | # Création de RT pour le sous-réseau privé |
Étape 7. Faire un «principal.Fichier TF ”qui contiendra la définition de notre infrastructure:
1 | $ nano main.TF |
Maintenant, mettez la configuration suivante à l'intérieur:
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 21 | Terraform |
Modifier le "Nom d'utilisateur"Dans le code ci-dessus avec le nom d'utilisateur dans votre cas. Voyons un peu sur les paramètres utilisés dans les fichiers précédents:
Initialisation du répertoire Terraform
Pour télécharger et installer le fournisseur que nous avons défini dans notre configuration et autres fichiers, nous devons initialiser le répertoire contenant ce fichier:
1 | $ Terraform init |
Construire l'infrastructure
Pour appliquer les modifications que nous avons planifiées ci-dessus, exécutez la commande suivante:
1 | $ terraform s'applique |
Entrez «oui» sur le terminal lorsque vous avez invité.
Vérification de la procédure
Maintenant, vérifions si le VPC souhaité est créé ou non. Dirigez-vous vers la console VPC et vérifiez les VPC disponibles:
Nous pouvons voir que notre VPC est créé avec succès.
Après avoir effectué cette tâche, supprimez les ressources pour éviter les frais inutiles:
1 | $ terraform détruire |
Entrez «oui» pour appliquer l'action.
Conclusion
Dans ce guide, nous avons appris à créer un VPC sur AWS à l'aide de Terraform. La prochaine chose que vous pouvez faire est d'essayer de provisionner une instance RDS ou EC2 à l'aide de Terraform.