Compétences terraform-aws-modules
📦

terraform-aws-modules

Sûr

Créer des modules Terraform AWS prêts pour la production

La création d'infrastructure Terraform réutilisable est complexe et sujette aux erreurs. Cette compétence fournit des conseils d'expert sur la conception de modules, la gestion de l'état et les motifs HCL de production pour AWS.

Prend en charge: Claude Codex Code(CC)
📊 71 Adéquat
1

Télécharger le ZIP du skill

2

Importer dans Claude

Allez dans Paramètres → Capacités → Skills → Importer un skill

3

Activez et commencez à utiliser

Tester

Utilisation de "terraform-aws-modules". Créer un module EKS cluster réutilisable avec des définitions de variables appropriées

Résultat attendu:

Fournit une structure de module complète avec variables.tf définissant cluster_name, node_count et instance_type avec des règles de validation, main.tf avec les ressources aws_eks_cluster et aws_eks_node_group utilisant for_each pour les node groups, outputs.tf exportant le endpoint du cluster et le node group ARN, et versions.tf épinglant le provider aws à >= 4.0

Utilisation de "terraform-aws-modules". Configurer le verrouillage d'état pour l'environnement de production

Résultat attendu:

Retourne la configuration du backend S3 avec le bucket terraform-state-prod, la clé env/prod/terraform.tfstate, la région us-east-1, la table DynamoDB tf-state-lock, le chiffrement activé, plus des instructions pour l'import d'état initial et les politiques d'accès d'équipe

Audit de sécurité

Sûr
v1 • 2/25/2026

Static analysis detected 25 patterns but all are false positives. External command references are Terraform CLI documentation examples (terraform fmt, validate, plan, force-unlock), not executable code. The CIDR block 10.0.0.0/16 is standard RFC1918 private networking for VPC configuration. This is documentation-only content with no executable code.

1
Fichiers analysés
80
Lignes analysées
0
résultats
1
Total des audits
Aucun problème de sécurité trouvé
Audité par: claude

Score de qualité

38
Architecture
100
Maintenabilité
87
Contenu
31
Communauté
100
Sécurité
91
Conformité aux spécifications

Ce que vous pouvez construire

Ingénieur DevOps créant des modules VPC

Créer un module VPC réutilisable avec des définitions de variables appropriées, des sorties et une stratégie de taggage pour des déploiements réseau cohérents across environnements.

Équipe plateforme configurant la gestion de l'état

Configurer un backend S3 avec verrouillage DynamoDB pour l'état Terraform de production, garantissant des opérations concurrentes sécurisées et le chiffrement de l'état.

Développeur migrant depuis CloudFormation

Traduire des templates CloudFormation existants vers Terraform HCL avec une structure de module appropriée et une gestion de l'état dès le départ.

Essayez ces prompts

Créer une structure de module de base
Créer une structure de module Terraform pour un bucket S3 AWS avec versioning activé. Inclure variables.tf pour le nom du bucket et le flag de versioning, main.tf avec la ressource, outputs.tf pour le bucket ARN et le nom, et versions.tf épinglant le provider AWS.
Examiner un module pour les bonnes pratiques
Examiner ce module Terraform pour les bonnes pratiques et les problèmes de sécurité. Vérifier la validation appropriée des variables, le marquage des sorties sensibles, l'épinglage de version du provider et une stratégie de taggage cohérente.
Concevoir une stratégie d'état distant
Concevoir une configuration de backend d'état distant pour une équipe avec des environnements dev, staging et production. Utiliser S3 pour le stockage avec verrouillage DynamoDB. Inclure des clés d'état séparées par environnement et activer le chiffrement.
Migrer de count vers for_each
Refactoriser cette configuration Terraform pour utiliser for_each au lieu de count pour gérer plusieurs sous-réseaux. Le code actuel utilise count avec indexation de liste, ce qui cause des problèmes lors de la suppression d'éléments intermédiaires. Préserver tous les attributs existants.

Bonnes pratiques

  • Épingler les versions des providers et modules dans versions.tf pour prévenir les changements breaking lors des mises à jour
  • Utiliser for_each au lieu de count lorsque l'identité de la ressource doit rester stable across les applies
  • Stocker l'état distant dans S3 avec verrouillage DynamoDB et activer le chiffrement server-side

Éviter

  • Utiliser count pour des ressources où des éléments intermédiaires peuvent être supprimés, causant une recréation inutile
  • Committer des fichiers .tfstate dans le version control, ce qui expose des données sensibles de ressources
  • Référencer l'état depuis d'autres configurations sans utiliser la data source terraform_remote_state

Foire aux questions

Comment gérer les erreurs de verrouillage d'état après un échec de Terraform apply ?
Vérifiez d'abord qu'aucune autre opération n'est en cours. Ensuite, utilisez terraform force-unlock avec le lock ID du message d'erreur. Confirmez toujours que l'opération précédente a véritablement échoué avant de forcer le déverrouillage.
Dois-je utiliser un fichier d'état unique ou des états séparés par environnement ?
Utilisez des fichiers d'état séparés par environnement (dev, staging, prod) avec des clés différentes dans le même bucket S3. Cela fournit l'isolation tout en gardant la gestion de l'état simple et permet un cycle de vie indépendant par environnement.
Comment gérer les secrets dans les variables Terraform ?
Marquez les variables sensibles avec sensitive = true dans variables.tf. Stockez les valeurs réelles dans AWS Secrets Manager ou SSM Parameter Store et référencez-les via des data sources. Ne committez jamais de valeurs de variables contenant des secrets dans le version control.
Quelle est la différence entre count et for_each dans Terraform ?
Count utilise des index numériques qui se décalent lorsque des éléments sont supprimés, causant la recréation de ressources. For_each utilise des clés string ou object stables, préservant l'identité de ressource lorsque d'autres éléments changent. Préférez for_each pour la plupart des cas d'usage.
Comment importer des ressources AWS existantes dans l'état Terraform ?
Définissez d'abord la ressource dans votre HCL, puis exécutez terraform import avec l'adresse de ressource et l'ID de ressource AWS. Pour des imports complexes, envisagez d'utiliser terraform import avec -generate-config pour auto-générer la configuration.
Puis-je utiliser cette compétence pour l'infrastructure Azure ou GCP ?
Cette compétence se spécialise dans les motifs de provider AWS. Bien que les concepts Terraform généraux s'appliquent à Azure et GCP, les ressources spécifiques au provider et les bonnes pratiques diffèrent. Utilisez une guidance spécifique au provider pour l'infrastructure non-AWS.

Détails du développeur

Structure de fichiers

📄 SKILL.md