この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。
今回は、CloudFormationを利用し、VPCのスタックの更新をしようとした際、構文エラーがでたため対処と対策についてまとめました。
前提条件
筆者はCloudFormationを利用し、VsCodeでVPCのスタックを作成をした際に今回のエラーで躓きました。
エラー文
- エラー内容
エラー文: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>スタック>ファイル名>スタックの更新
無事にスタックの更新ができました。
対処と対策について
-
公式ドキュメントを再度参照
-
再度、コードの参照を見返す
-
エラー文を検索エンジンで検索
-
質問をする
-
デバッグツールの活用
1.VsCodeの拡張機能から検索でCloudFormationと検索し上記の拡張機能をインストールし、再起動します。
2.上記の画像のように、これから記載したい構文の一部を入力すると候補が出てくるのでEnterキーを押します。
3.上記の画像のように記述したい内容の構文が自動生成できます。
問題に対するQ&Aについて
- 解決したい内容の詳細を簡潔に述べる。
- エラーが起こった際は不明確な事が多いが、推測の文言をなるべく使わずに問題点、実行した物事の詳細を伝える。
最後に
人的ミスを減らすためにも上手く利用し効率的にツール等を利用し、簡単なミスを減らしていきたいと思います。
ご清聴ありがとうございます。