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の効果的な学習方法は「Udemy(ユーデミー)」によるビデオ学習です。
「Udemy」は、オンライン学習の提供サイトです。学びたい人は多くある講座の中から受講したいコースを選択することができ、動画で学べるのが特徴です。
多くあるPythonのコースの中でもオススメするPythonのコースは以下となります!!
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
このコースでは合計で28.5時間のビデオ講座があって、それらを受講するだけで、Pythonの基礎から応用まで学ぶことができます。
私も購入して受講していますが、内容としては初心者の方から上級者まで対応する幅広い内容になっています。
下手な書籍を何冊か購入するより、この動画コースを最初からじっくりと受けることで総合的なスキルを習得することができるできます。おそらくこれ以上の教材はないと思いますので、絶対おすすめです。
今回は以上となります。
コメント