AWS CloudFormation에서 리소스 AWS::ElasticLoadBalancingV2::ListenerRule을 사용하여 스택을 생성하거나 업데이트할 때 발생하는 오류를 해결하려고 합니다.
간략한 설명
이 오류는 다음과 같은 원인으로 인해 발생할 수 있습니다.
- 유효하지 않은 리스너 Amazon 리소스 이름(ARN)
- AWS Identity and Access Management(AWS IAM) 권한이 없거나 충분하지 않음
- 규칙의 할당량을 초과하는 조건 값
- 허용되지 않는 문자를 조건의 필드 값으로 사용
해결 방법
다음 섹션에서는 몇 가지 일반적인 오류를 다룹니다.
유효하지 않은 리스너 Amazon 리소스 이름(ARN)
리스너 ARN 형식이 잘못되었는지 확인합니다. 리소스 AWS::ElasticLoadBalancingV2::ListenerRule은 Elastic Load Balancer에 연결된 리스너 리소스에 연결됩니다. 올바른 리스너 ARN이 리스너 ARN 속성에 전달되었는지 확인하십시오.
리스너 ARN의 형식 예:
arn:aws:elasticloadbalancing:us-east-2:123456789012:listener/app/Application-Load-Balancer/0b761fa41d0fbe95/9e86778540dfe57b
IAM 권한이 없거나 충분하지 않음
CloudFormation 서비스 역할 또는 스택을 생성하는 사용자에게 필요한 권한이 있는지 확인하십시오. 서비스 역할 또는 사용자는 아래 나열된 권한을 통해 리스너 규칙을 성공적으로 생성 또는 수정할 수 있습니다.
- elasticloadbalancing:DescribeRules
- elasticloadbalancing:CreateRule
- elasticloadbalancing:ModifyRule
조건 값이 규칙의 할당량을 초과함(EDIT)
리스너 규칙은 규칙당 5개의 조건 값만 가질 수 있습니다. 이 할당량은 지정된 조건에 5개를 초과하는 값이 필요한 경우에도 조정할 수 없습니다.
허용되지 않는 문자를 조건의 필드 값으로 사용
리스너 규칙 조건의 경우 Field 속성에 다음 문자만 사용할 수 있습니다.
Field가 host-header이고 HostHeaderConfig를 사용하지 않는 경우 단일 호스트 이름(예: my.example.com)을 지정하십시오. 호스트 이름은 대소문자를 구분하지 않으며 최대 128자까지 입력할 수 있습니다. 자세한 내용은 Application Load Balancer용 리스너에서 호스트 조건을 참조하십시오.
HostHeaderConfig를 사용하는 호스트 이름을 여러 개 지정하는 경우 속성에는 허용된 패턴의 문자만 사용해야 합니다.
Field가 path-pattern이고 PathPatternConfig를 사용하지 않는 경우 단일 경로 패턴(예: /img/)을 지정하십시오. 경로 패턴은 대소문자를 구분하며 최대 128자까지 입력할 수 있습니다. 자세한 내용은 Application Load Balancer용 리스너에서 경로 조건을 참조하십시오.
PathPatternConfig를 사용하는 경로 패턴을 여러 개 지정하는 경우 속성에는 허용된 패턴의 문자만 사용해야 합니다.
다음 예를 검토하십시오. 필드가 host-header이고 전달된 값이 host-header에 허용되는 값이 아닌 경우 ValidationException 오류가 발생합니다. 아래 예에서 /dev는 host-header에 허용되는 값이 아닙니다. **/**에는 필드 유형 경로 패턴을 사용하십시오.
Conditions:
- Field: host-header
Values:
- "admin-test.com/dev”
AWS CloudTrail 확인
이전 옵션 중 어느 것도 작동하지 않는 경우 스택 생성 중에 호출된 CreateRule, ModifyRule 또는 DescribeRules API 호출을 확인하십시오. CloudTrail 로그에서 발견된 오류는 CloudFormation이 리스너 규칙을 생성하거나 업데이트하지 못한 이유에 대한 자세한 정보를 제공합니다.
관련 정보
AWS Elastic Load Balancing V2에 대한 작업, 리소스 및 조건 키
Application Load Balancer의 할당량
규칙 조건 유형