Comment puis-je résoudre l'erreur AWS CloudFormation « La requête non valide a énoncé l'exception de validation AWS ElasticLoadBalancingV2 ListenerRule » ?

Lecture de 3 minute(s)
0

Je souhaite résoudre l'erreur qui s’affiche lorsque je crée ou mets à jour la pile avec la ressource AWS::ElasticLoadBalancingV2::ListenerRule dans AWS CloudFormation.

Brève description

Cette erreur peut être due à :

  • Un Amazon Resource Name (ARN) d'un écouteur non valide
  • Autorisations AWS Identity and Access Management (AWS IAM) manquantes ou insuffisantes
  • Valeurs de condition qui dépassent les quotas pour la règle
  • Utilisation d'un caractère non autorisé comme valeur de champ pour une condition

Résolution

La section suivante traite de certaines erreurs courantes.

Un Amazon Resource Name (ARN) d'un écouteur non valide

Vérifiez si le format ARN de l'écouteur est incorrect. La ressource AWS::ElasticLoadBalancingV2::ListenerRule est associée à une ressource d'écouteur attachée à un Elastic Load Balancer. Assurez-vous que l'ARN d'écouteur correct est transmis à la propriété ARN de l'écouteur.

Exemple de format pour l'ARN d'un écouteur :

arn:aws:elasticloadbalancing:us-east-2:123456789012:listener/app/Application-Load-Balancer/0b761fa41d0fbe95/9e86778540dfe57b

Autorisations IAM manquantes ou insuffisantes

Assurez-vous que le rôle de service CloudFormation ou que l'utilisateur qui crée la pile dispose des autorisations requises. Les autorisations répertoriées ci-dessous permettent au rôle de service ou à l'utilisateur de créer ou de modifier correctement les règles d'écouteur.

  • elasticloadbalancing:DescribeRules
  • elasticloadbalancing:CreateRule
  • elasticloadbalancing:ModifyRule

Les valeurs de condition dépassent les quotas pour la règle (EDIT)

Une règle d'écouteur ne peut présenter que cinq valeurs de condition par règle. Ce quota ne peut pas être ajusté si les conditions spécifiées nécessitent plus de cinq valeurs.

Utilisation d'un caractère non autorisé comme valeur de champ pour une condition

Pour les conditions de règle d'écouteur, seuls les caractères suivants sont autorisés pour la propriété Field :

Si Field est un en-tête d'hôte et que vous n'utilisez pas HostHeaderConfig, spécifiez un nom d'hôte unique (par exemple, my.example.com). Un nom d'hôte ne distingue pas les majuscules et minuscules et peut comporter jusqu'à 128 caractères. Pour plus d'informations, consultez la section Conditions de l'hôte de la rubrique Écouteurs pour vos Application Load Balancers.

Lorsque vous spécifiez plusieurs noms d'hôtes qui utilisent HostHeaderConfig, la propriété doit utiliser uniquement les caractères des modèles autorisés.

Si Field est un modèle de chemin et que vous n'utilisez pas PathPatternConfig, spécifiez un modèle de chemin unique (par exemple, /img/). Un modèle de chemin distingue les majuscules et minuscules et peut comporter jusqu'à 128 caractères. Pour plus d'informations, consultez les conditions Chemin de la section Écouteurs pour vos Application Load Balancers.

Lorsque vous spécifiez plusieurs modèles de chemin à l'aide de PathPatternConfig, la propriété doit utiliser uniquement les caractères des modèles autorisés.

Reportez-vous à l'exemple suivant. Si le champ est un en-tête d'hôte et que la valeur qui lui est transmise n'est pas une valeur autorisée pour l'en-tête d'hôte, une erreur ValidationException s’affiche. Dans l'exemple ci-dessous, /dev n’est pas une valeur autorisée pour l'en-tête d'hôte. Utilisez un modèle de chemin de type champ pour /.

      Conditions:  
        - Field: host-header  
          Values:  
            - "admin-test.com/dev”     

Vérifier AWS CloudTrail

Si aucune des options précédentes ne fonctionne, vérifiez l'appel d'API CreateRule, ModifyRule ou DescribeRules qui a été invoqué lors de la création de la pile. Les erreurs détectées dans les journaux CloudTrail fournissent de plus amples détails sur les raisons pour lesquelles CloudFormation n'a pas réussi à mettre à jour la règle d'écouteur.

Informations connexes

Actions, ressources et clés de condition pour AWS Elastic Load Balancing V2

Écouteurs pour vos Application Load Balancers

Types de conditions de règle

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 7 mois