AWS CloudFormation で発生するモジュールエラーを解決したいです。
解決策
CloudFormation モジュールにより、インフラストラクチャをコードとして簡素化できます。スタックテンプレート全体での透明性と管理性を得られます。ただし、モジュールの作成および使用中にエラーが発生する可能性があります。
エラー: 「モジュールフラグメントは有効かもしれませんが、cfn-lint からの警告があります。 無効なプロパティ (Resources/<Resource-Name>/Properties/<PropertyName>。もしかして <Valid-PropertyName>(ルール E3002 基準: リソースプロパティが無効です)」
このエラーは、モジュールを作成するときに発生する可能性があります。
このエラーを解決するには、次の手順を実行します。
-
CloudFormation テンプレートが有効であることを確認してください。
GitHub ウェブサイトにある CloudFormation Liter を使用して、フラグメントフォルダ内のテンプレートを検証します。モジュールを作成する前にこれを使用すると、潜在的な問題を早期に発見できます。
-
その他のエラーについては、CloudFormation モジュールの初期化中に作成された rpdk.log ファイルを確認してください。
rpdk.log ファイルには、cfn コマンドを実行したときに生成される詳細なログが含まれています。ログを分析すると、アクションの順序と潜在的なエラーを把握できます。
エラー: 「リソースのプロパティ検証に失敗しました <stack-name> 次のメッセージが発生しました: #/<Property>: キーワード [pattern] は、検証制約を満たしません」
このエラーは、モジュールを使用するときに発生する可能性があります。プロパティ検証エラーの原因を確認します。
-
パラメータの制約を確認します。
プロパティが指定されたパラメータの制約を満たしていることを確認します。モジュールの作成時に使用した CloudFormation テンプレートのデータタイプとパターンが対象です。
-
リソースプロパティの制約を調査します。
CloudFormation テンプレート内の実際のリソースのプロパティに対する制約を調査します。
CloudFormation モジュールテンプレートパラメータで Amazon Simple Storage Service (Amazon S3) のバケット名を制約なしで Test に設定すると、検証エラーが発生します。入力はパラメータ制約に準拠していますが、入力が大文字を使用しているため、S3 バケットの命名規則に違反しています。
関連情報
AWS CloudFormation モジュールについて
モジュールを使用してリソース構成をカプセル化し、再利用する
CloudFormation CLI コマンドリファレンス