Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Résoudre les problèmes de déploiement de Terraform
Cette section décrit les solutions possibles aux problèmes liés au déploiement des ressources Transfer Family à l'aide de Terraform. Pour des informations générales sur les modules Terraform pour Transfer Family, consultez. Modules Transfer Family Terraform
Rubriques
Résoudre les problèmes de création de ressources Terraform
Description
Lorsque vous tentez de créer des ressources Transfer Family à l'aide de Terraform, vous rencontrez des erreurs telles que :
Error: error creating Transfer Server: InvalidRequestException: The request is not valid. Error: error creating Transfer User: InvalidRequestException: Unable to create the user because the server endpoint type is incompatible with the home directory type.
Cause
Ces erreurs se produisent généralement en raison de paramètres de configuration incompatibles ou de dépendances manquantes dans votre configuration Terraform. Les causes courantes incluent :
-
Type de terminal et configurations de stockage incompatibles
-
Rôles ou politiques IAM requis manquants
-
Spécifications de politique de sécurité incorrectes
-
Problèmes de configuration des points de terminaison VPC
Solution
Pour résoudre les problèmes de déploiement de Terraform :
-
Assurez-vous que votre configuration Terraform utilise des combinaisons de paramètres compatibles :
-
Pour les points de terminaison publics, assurez-vous d'utiliser Amazon S3 pour le stockage.
-
Pour les points de terminaison VPC, vérifiez que le VPC et le groupe de sécurité sont correctement configurés.
-
-
Utilisez des dépendances explicites avec l'
depends_onattribut pour vous assurer que les ressources sont créées dans le bon ordre. -
Vérifiez que tous les rôles IAM disposent des relations de confiance et des autorisations nécessaires.
-
Utilisez la dernière version du AWS fournisseur pour Terraform afin de garantir la compatibilité avec toutes les fonctionnalités de Transfer Family.
-
Pour les déploiements complexes et les cas d'utilisation simples, pensez à utiliser les modules officiels Transfer Family Terraform disponibles sur le site. GitHub https://github.com/aws-ia/terraform-aws-transfer-family
Ces modules fournissent de nombreux exemples couvrant des cas d'utilisation simples et complexes pour les clients, suivent les AWS meilleures pratiques et peuvent simplifier le déploiement pour les clients qui ont besoin d'aide pour la configuration de l'infrastructure en tant que code (IaC).
Résoudre les problèmes de gestion de l'état de Terraform
Description
Après avoir modifié vos ressources Transfer Family en dehors de Terraform (via console ou AWS CLI), vous rencontrez une dérive d'état ou des erreurs lors de l'exécution terraform plan de ou. terraform apply
Cause
Terraform gère un fichier d'état qui suit les ressources qu'il gère. Lorsque des modifications sont apportées en dehors de Terraform, le fichier d'état se désynchronise avec les ressources réelles, ce qui entraîne des erreurs ou un comportement inattendu lors des opérations Terraform suivantes.
Solution
Pour résoudre les problèmes de gestion de l'état de Terraform avec les ressources Transfer Family :
-
terraform importÀ utiliser pour placer les ressources existantes sous la gestion de Terraform :terraform import<transfer_family_server.example>s-<server-id>terraform import<transfer_family_server.example>s-<server-id>/username -
terraform refreshÀ utiliser pour mettre à jour le fichier d'état avec l'infrastructure réelle actuelle -
Pour les ressources qui ne peuvent pas être importées ou qui présentent des problèmes d'état complexes, envisagez de les
terraform state rmsupprimer du fichier d'état, puis de les recréer avec Terraform -
Mettre en œuvre une politique visant à gérer les ressources de Transfer Family exclusivement via Terraform afin d'éviter une future dérive de l'État
-
Utilisez le stockage d'état à distance avec verrouillage pour empêcher les modifications simultanées lorsque vous travaillez en équipe