CloudFormation の「Model Validation Failed」(モデルの検証に失敗しました) エラーを解決するにはどうすればよいですか?

最終更新日: 2022 年 4 月 6 日

AWS CloudFormation でリソースを作成すると、スタックイベントで「Model Validation Failed」(モデルの検証に失敗しました) というエラーが表示されます。

簡単な説明

[Type] (タイプ)、[Allowed values] (許可される値)、[Minimum] (最小)、[Maximum] (最大)、および [Pattern] (パターン) の値は、CloudFormation テンプレートを使用してリソースプロパティを作成する際に許容される基準です。これらのプロパティ値のいずれかが正しく定義されていない場合、次のいずれかの「Model Validation Failed」(モデルの検証に失敗しました) というエラーが表示されます。

  • Model Validation Failed (#PropertyName: Failed validation constraint for keyword [type]) (モデルの検証に失敗しました (#PropertyName: キーワード [type] の制約の検証に失敗しました))
  • Model Validation Failed (#PropertyName: Failed validation constraint for keyword [pattern]) (モデルの検証に失敗しました (#PropertyName: キーワード [pattern] の制約の検証に失敗しました))
  • Model validation failed (#PropertyName: expected type: Number, found: String) (モデルの検証に失敗しました (#PropertyName: 想定されるタイプ: [Number] (数値)、見つかったタイプ: [String] (文字列))

注: 前述のエラーメッセージは例です。表示されたエラーでは、PropertyName が明示されています。

解決方法

  1. CloudFormation スタックイベントで、失敗したリソースタイプのプロパティを特定します。例えば、Namespace はリソース AWS::CloudWatch::Alarm のプロパティです。
  2. エラーが発生しているリソースタイプを特定します。例えば、AWS::CloudWatch::Alarm などです。
  3. リソースのプロパティを確認します。
  4. テンプレートで定義されているプロパティ値を、ステップ 3 で確認した正しいプロパティ値と比較します。
    注: 一部のプロパティには、最小文字数または最大文字数の制限の値が含まれていません。
  5. リソースのプロパティ値が許容される基準を満たしていない場合は、要求されている値に基づいてテンプレートを編集します。
  6. CloudFormation スタックを新しいテンプレートで更新します。

リソースタイプ AWS::CloudWatch:AlarmNamespace プロパティの許容される基準の例を次に示します。

Required (必須): No (いいえ)

Type (タイプ): String (文字列)

Minimum (最小): 1

Maximum (最大): 255

Pattern (パターン): [^:].*

Update requires (更新が必要): No interruption (中断なし)

注: Namespace の基準が許容されるためには、[Type] (タイプ) が [String] (文字列) で、文字数が 1255 の制限の範囲内にあり、[Pattern] (パターン) が [^:].* である必要があります。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?