AWSIaCPython

PyCharmにCloudFormation構文チェックのためcfn-lintプラグインを導入(Windows)

AWS

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プロフェッショナル大全

今回は以上となります。

コメント

タイトルとURLをコピーしました