CloudFormation のための VSCode 環境作成

クラウド

VSCode で CloudFormation を書くための、vscode のプラグインについてです。

入れてみると、これは必須だなと感じたので、その環境構築方法を備忘録しておきます。

前提

  • OS:Windows 10
  • VSCode はインストール済み
  • python3 と pip が使える環境

プラグイン

2つのプラグインを入れました。

  1. CloudFormation
  2. CloudFormation Linter

それぞれ簡単に説明します。

CloudFormation

そのまんまな名前ですが、以下のようなプラグインです。

このプラグインは、スニペットとして使います。
リソースごとに、「何を記述するんだっけ?」ってなったときにテンプレートを作ってくれるので助かります。

使い方は英語で書いてあるのですが、概要を下記に書きます。(ここでは *.yml で作成することを前提で進めます)

事前準備

CloudFormation は yaml 記法と若干違うところがあるので、vscodeの設定を変えます。
(デフォルトだと、Unresolved tag: !Ref というエラーになる)

  1. 設定を開く
  2. 検索窓で yaml.customTags と入力し、下記の通りヒットした項目で「settings.json で編集」を選択
  3. yaml.customTags 内に、以下の通り追記する
      "yaml.customTags": [
        "!Base64 scalar",
        "!Cidr scalar",
        "!And sequence",
        "!Equals sequence",
        "!If sequence",
        "!Not sequence",
        "!Or sequence",
        "!Condition scalar",
        "!FindInMap sequence",
        "!GetAtt scalar",
        "!GetAtt sequence",
        "!GetAZs scalar",
        "!ImportValue scalar",
        "!Join sequence",
        "!Select sequence",
        "!Split sequence",
        "!Sub scalar",
        "!Transform mapping",
        "!Ref scalar",
      ],

こちら、以下を参考にしました。

Unresolved tag: !Ref in CloudFormation Template · Issue #669 · redhat-developer/vscode-yaml
##Description When the extension is running and I am creating a CloudFormation template, the valid syntax of !Ref EnvironmentName, for example, where Environmen...
  1. settings.json を保存する
  2. vscode にて CloudFormation をインストールする

使い方

  1. 空のファイル(*.yml)を作成する
  2. ファイルの行頭で start と入力する。入力し始めると、スニペットが作動するので、タブボタンを押す
  3. すると、以下のようにスニペットでテンプレートが自動挿入されます(赤波線は後述でインストールしてるlinterの機能なので、このプラグインとは別物です)
  4. 各項目配下で、上述のようにスニペットが使えるようになる
    • 例えば、Resources 配下で ec2 と入力すると、以下のようにスニペットが作動する
    • ここでタブを押すと、以下のようにEC2インスタンスに関するテンプレートが自動挿入される

これはかなり便利だと思います。

CloudFormation Linter

こちらは、コード入力時に誤りがあった場合、エディタ上で指摘をしてくれる linter のプラグインです。

以下の記事を参考にさせてもらいました。

VSCodeにCloudFormation Linterをインストールする手順 - Qiita
CloudFormation Linterとは?CFnテンプレートをチェック、プロパティ保管も用意されており、入れない理由がないと言っても過言ではないVSCodeのプラグインです!環境❯ c…

事前準備

  1. cfn-lint をインストールする(cfn-lint は、python で cloudformation の記述をチェックしてくれるツール)
$ pip install cfn-lint
  1. vscode にて CloudFormation Linter をインストールする
  2. 設定を開く(設定の開き方は上述と同じ)
  3. 検索窓で Cfn Lint: Path と入力し、下記のように /usr/local/bin/cfn-lint と入力して設定する

使い方

CloudFormation で記述をしていると、以下のように誤りの箇所を赤波線で教えてくれます。

補足

ここでは話がそれますが、インストールした cfn-lint を使用することで、他にも以下のように CloudFormation の記述を事前チェックすることができます。

$ cfn-lint hoge.yml

以下のように、問題があるところを行数と一緒に教えてくれます。

コメント

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