スキップしてコンテンツを表示

AWS CloudFormation で発生するエラー「指定されたリクエストが無効です。ElasticLoadBalancingV2 ListenerRule Validation で例外発生」のトラブルシューティング方法を教えてください。

所要時間1分
0

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)

リスナールールには、1 つのルールにつき 5 個の条件値しか設定できません。指定された条件で 5 個よりも多い値が必要な場合、このクォータは調整できません。

条件のフィールド値として許可されていない文字を使用している

リスナールール条件では、Field プロパティには次の文字のみを使用できます。

Field がホストヘッダーであり、HostHeaderConfig を使用していない場合は、ホスト名を 1 つ指定します (my.example.com など)。ホスト名は大文字と小文字を区別せず、128 文字まで使用できます。詳細については、Application Load Balancer のリスナーで、「ホスト条件」を参照してください。

HostHeaderConfig を使用して複数のホスト名を指定する場合、プロパティには許可されたパターンの文字のみを使用する必要があります。

Fieldパスパターンであり、PathPatternConfig を使用していない場合は、単一のパスパターン (/img/ など) を指定します。パスパターンでは大文字と小文字が区別され、文字長は最大 128 文字です。詳細については、Application Load Balancer のリスナーで、「Path の条件」を参照してください。

PathPatternConfig を使用して複数のパスパターンを指定する場合、プロパティでは許可されたパターンの文字のみを使用する必要があります。

次の例を確認してください。フィールドがホストヘッダーであり、渡された値がホストヘッダーで許可されている値でない場合は、ValidationException エラーが発生します。次の例では、/dev はホストヘッダーの値として許可されていません。/ には、フィールドタイプのパスパターンを使用します。

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

AWS CloudTrail を検証する

上記のオプションのいずれでも解決できない場合、スタックの作成中に呼び出された CreateRuleModifyRule、または DescribeRulesAPI コールを確認してください。CloudTrail ログで見つかったエラーは、CloudFormation がリスナールールの作成または更新に失敗した理由の詳細を示しています。

関連情報

AWS Elastic Load Balancing V2 のアクション、リソース、条件キー

Application Load Balancer のクォータ

ルール条件の種類

AWS公式更新しました 2年前
コメントはありません

関連するコンテンツ