CloudFormationのテンプレート構文チェック

AWSのCloudFormationにおいて表題の通り。最近、AWS環境の各種設定をCloudFormationのテンプレートファイルに落としているのだが、自身で書いたJSONファイルが正しい構文であるかのチェックを行いたい。テンプレートを元に起動して問題ないのであれば良いが、ちょっとした間違いでわざわざ各種リソースを起動するのはもったいないので、開発マシン上でチェックができないかを調べた。

■ 環境

  • Mac OSX El Capitan
  • awscli 1.10.8

■ validate-template

`aws cloudformation`のサブコマンドに`validate-template`というのがあるらしい。これでローカルにあるJSONファイルが正しいものであるかチェックできるようである。試しに極簡単なテンプレートファイルを用意して実行してみた。

$ aws cloudformation validate-template --template-file file://`pwd`/test.template
{
    "Description": "test cloudformation template.",
    "Parameters": []
}
$

S3に上げてあるファイルも`–template-url`で指定できるようだ。今はローカルのファイルをチェックしたいので`–template-file`を使用している。

チェック内容はそれほどしっかりしたものではないようである。JSONの書式上の間違いであったり、多少の綴り間違い程度。綴り間違いも全てをチェックしてくれているようではないようだ。この`validate-template`では正常であるようだが、実際にStackを実行してみたところ”ERROR“となるケースもある。

以上。