terraform-aws-modules
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.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
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ûrStatic 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.
Score de qualité
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 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 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 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.
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