cfn-lintを使うことでCloudFormationのテンプレートの構文チェックを行う事ができます。
これまでプロジェクトには基本的にCIの中で自動実行していました。
ただ、それだとPushしないとcfn-lintの結果が分からないため効率が悪いです。
そこでコードを書いたタイミングで自動的にcfn-lintで構文チェックを行うため、開発PC側で利用しているPyCharmにcfn-lintプラグインを導入してみました。
cfn-lint自体はPytonのpip経由でインストールすることができますが、対象プロジェクト外への影響を考慮してvirtualenv環境内にインストールするようにします。
1. 想定している環境
- Windows10の環境でPychramを使っている事
- Pythonはインストール済みとする
2. Pycharamにcfn-lintプラグインの導入
Pycharmを開いてCtl+Alt+s
でSettingを開いてPluginsからcfn-lint
を検索してインストールします。

3. pipでcfn-lintを導入
プラグインを入れただけではcfn-lintは機能しません。 cfn-lint自体をインストールする必要があります。
例として以下の記事で使ったaws-modern-application-workshop
というフォルダで設定していきます。
AWSハンズオン「モダンウェブアプリケーションを構築する」をやってみた
https://syachiku.net/aws-handson1/
3.1. venvを作成する
まずはPycharmでプロジェクト(orフォルダ)を開いて、右下のAdd Interpreter
からvenv環境を作成していきます。PyCharmはこれがマジで便利ですね。


しばらくするvenv環境が作成が完了します。右下の部分から確認できます。
3.2. pipでcfn-lintをインストールする
では早速pipでインストールします。

cfn-lintインストールが完了すると、cfn-lintコマンドが使えるようになります。
4. cfn-lintプラグインを有効化する
最後にPyCharmのcfn-lintプラグイン側で有効にします。 Settings->Other Settings->CFNLintを開いて有効化します。
cfn-lintの実行パスが必要なのでwhereコマンドで確認して設定します。


5. 確認してみる
CloudFormationテンプレートを開くとLinterが自動的に検出してくれるようになります。
6. まとめ
今回はPyCharmにcfn-lintプラグインを導入してみました。
PyCharmコードを書きながら自動的に構文チェックするため非常に効率が上がりますね。
プロジェクト全体用としてのCI側と併用で使うのがいいと思います。
Pythonのオススメ勉強方法
私がオススメするPython初心者向けの最初に購入すべき書籍は「シリコンバレー一流プログラマーが教える Pythonプロフェッショナル大全」です。
シリコンバレー一流プログラマーが教える Pythonプロフェッショナル大全

この書籍は実際にシリコンバレーの一流エンジニアとして活躍している酒井潤さんが書いた本です。
内容も初心者から上級者までまとめられており、各Lessonも長すぎずに分かりやすくまとめられているので、初心者の方にもおすすめです。
シリコンバレー一流プログラマーが教える Pythonプロフェッショナル大全
今回は以上となります。
コメント