メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

テンプレートの検証

テンプレートファイルの構文エラーを確認するには、aws cloudformation validate-templateコマンドを使用できます。

注記

aws cloudformation validate-template コマンドは、テンプレートの構文を確認するためのもので、リソースに対して指定したプロパティの値がリソースで有効であることを確認するためのものではありません。また、スタックの作成時に含めるリソースの数を決めるものでもありません。

運用上の有効性を確認するには、スタックを作成してみる必要があります。AWS CloudFormation スタックにはサンドボックスまたはテスト領域がないので、テストの実行中は作成するリソースに対して課金されます。

検証中に、AWS CloudFormation はテンプレートが有効な JSON であるかどうかをまず確認します。そうでない場合は、AWS CloudFormation はテンプレートが有効な YAML であるかどうかを確認します。両方のチェックが失敗すると、AWS CloudFormation はテンプレートの検証エラーを返します。--template-body パラメーターを使用してローカルで、または --template-url パラメーターでリモートでテンプレートを検証できます。以下の例は、リモートの場所にあるテンプレートを検証しています。

Copy
PROMPT> aws cloudformation validate-template --template-url https://s3.amazonaws.com/cloudformation-templates-us-east-1/S3_Bucket.template { "Description": "AWS CloudFormation Sample Template S3_Bucket: Sample template showing how to create a publicly accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the AWS resources used if you create a stack from this template.", "Parameters": [], "Capabilities": [] }

問題がなければ、エラーメッセージが返されず、指定されたすべてのパラメーターについての情報が返されます。

以下の例は、ローカルテンプレートファイルでのエラーを示します。

Copy
PROMPT> aws cloudformation validate-template --template-body file:///home/local/test/sampletemplate.json { "ResponseMetadata": { "RequestId": "4ae33ec0-1988-11e3-818b-e15a6df955cd" }, "Errors": [ { "Message": "Template format error: JSON not well-formed. (line 11, column 8)", "Code": "ValidationError", "Type": "Sender" } ], "Capabilities": [], "Parameters": [] } A client error (ValidationError) occurred: Template format error: JSON not well-formed. (line 11, column 8)