CloudFormation 構文エラー対処と対策


この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。

今回は、CloudFormationを利用し、VPCのスタックの更新をしようとした際、構文エラーがでたため対処と対策についてまとめました。

前提条件

筆者はCloudFormationを利用し、VsCodeでVPCのスタックを作成をした際に今回のエラーで躓きました。

エラー文

file

  • エラー内容
    エラー文:Template format error: Resource name hebiishi-VPC is non alphanumeric.
    和訳:テンプレート形式エラー:リソース名hebiishi-VPCが英数字ではありません。

問題点

下記のコードについての問題定義になります。

Resources:
  hebiishi-VPC:  ←指摘内容
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.0.0.0/16
      EnableDnsHostnames: true
      EnableDnsSupport: true
      Tags:
        - Key: Name
          Value: hebiishiVPC ←指摘内容
  • 記載したコードの参照するコードと参照されるコードの記載ミスにより整合性がとれず今回のエラーが発生しました。

コードの修正

Resources:
  hebiishiVPC: ←修正箇所
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.0.0.0/16
      EnableDnsHostnames: true
      EnableDnsSupport: true
      Tags:
        - Key: Name
          Value: hebiishiVPC

スタックの更新

CloudFormation>スタック>ファイル名>スタックの更新
file
無事にスタックの更新ができました。

file

対処と対策について

  • 公式ドキュメントを再度参照

  • 再度、コードの参照を見返す

  • エラー文を検索エンジンで検索

  • 質問をする

  • デバッグツールの活用
    file
    1.VsCodeの拡張機能から検索でCloudFormationと検索し上記の拡張機能をインストールし、再起動します。
    file
    2.上記の画像のように、これから記載したい構文の一部を入力すると候補が出てくるのでEnterキーを押します。
    file
    3.上記の画像のように記述したい内容の構文が自動生成できます。

問題に対するQ&Aについて

  • 解決したい内容の詳細を簡潔に述べる。
  • エラーが起こった際は不明確な事が多いが、推測の文言をなるべく使わずに問題点、実行した物事の詳細を伝える。

最後に

人的ミスを減らすためにも上手く利用し効率的にツール等を利用し、簡単なミスを減らしていきたいと思います。
ご清聴ありがとうございます。

Last modified: 2022-06-09

Author