🚀

オススメのCloudFormation開発環境(2024/09版)

2024/09/11に公開

オススメの CloudFormation 開発環境

はじめに

みなさん、CloudFormation を使っていますか?
CloudFormation は AWS のリソースをコードで定義するためのサービスですが、スピーディに開発するためには、適切な開発環境が必要です。
今回は、CloudFormation の開発環境について、オススメのツールや設定を紹介します。

IDE

Visual Studio Code(VS Code)がオススメです。
https://azure.microsoft.com/ja-jp/products/visual-studio-code

プログラミング言語

Python をまず使えるようにしましょう。
理由としては、このあとに紹介するツールが Python で書かれていることが多いからです。

https://www.python.org/downloads/

VS Code の設定

以下の設定を済ませておくと、CloudFormation の開発が捗ります。

日本語化

Japanese Language Packをインストールしておくと、日本語でエラーメッセージが表示されるようになります。

https://marketplace.visualstudio.com/items?itemName=MS-CEINTL.vscode-language-pack-ja

自動インデント設定の変更

CloudFormation は YAML 形式で書くことが多く、この形式はインデント(文字の右寄せ)が重要です。
ところが VS Code はデフォルトで、改行を入れると自動でインデントを再調整するため、予定していたインデントが崩れてしまうことがあります。

これを防ぐには「設定」画面からeditor.autoIndentと検索し、出てきたEditor: Auto Indentという項目の値をkeepに変更してください。

インデントの可視化

Indent Rainbow という拡張機能を入れておくと、インデントの深さが色でわかりやすくなります。

https://marketplace.visualstudio.com/items?itemName=oderwat.indent-rainbow

警告/エラーの自動表示

Error Lensをインストールしておくと、エラーや警告が行に表示されるようになります。

https://marketplace.visualstudio.com/items?itemName=usernamehw.errorlens

静的解析

Lint とも呼ばれる静的解析の仕組みを導入しておくと、構文エラー(書き間違い)を教えてくれます。

まずはこれをインストールしておいてください。

https://github.com/aws-cloudformation/cfn-lint

Windows の方はこの記事が参考になります。

https://blog.serverworks.co.jp/Win11_VSCode_Cfnlint

自動 Lint

CloudFormation Linterをインストールしておくと、保存時に自動で Lint を実行してくれます。

https://marketplace.visualstudio.com/items?itemName=kddejong.vscode-cfn-lint

(OPTION)UIアイコンの変更

vscode-icons という拡張機能を入れておくと、ファイルの種類によってアイコンが変わり、見やすくなります。

https://marketplace.visualstudio.com/items?itemName=vscode-icons-team.vscode-icons

(OPTION)テキスト校正支援

テキスト校正くん という拡張機能を入れておくと、日本語の文章の校正支援ができます。

https://marketplace.visualstudio.com/items?itemName=ICS.japanese-proofreading

(OPTION)無料のAI支援機能

Amazon Q という拡張機能を入れておくと、AWS のリソースをコードで定義する際に、AI がサジェストしてくれます。

(OPTION)WSL

Windowsの方は、WSLを使ってLinux環境を構築しておくと、Linuxで動くツールが容易に使えるようになります。

https://learn.microsoft.com/ja-jp/windows/wsl/install

おまけ・Devcontainer設定

VS Code には、Docker コンテナーを使って開発環境をすばやく準備する機能があります。
以下に、今回の環境を満たす(と思われる).devcontainer/devcontainer.jsonを乗せておきます。

ファイルを見る
.devcontainer/devcontainer.json
{
  "name": "CloudFormation Dev Environment",
  "image": "mcr.microsoft.com/devcontainers/python:1-3.12-bullseye",
  "features": {
    "ghcr.io/devcontainers/features/aws-cli:1": {},
    "ghcr.io/devcontainers/features/python:1": {}
  },
  "customizations": {
    "vscode": {
      "extensions": [
        "ms-python.python",
        "ms-azuretools.vscode-docker",
        "oderwat.indent-rainbow",
        "usernamehw.errorlens",
        "kddejong.vscode-cfn-lint",
        "vscode-icons-team.vscode-icons",
        "ICS.japanese-proofreading",
        "AmazonWebServices.amazon-q-vscode",
        "MS-CEINTL.vscode-language-pack-ja"
      ],
      "settings": {
        "editor.autoIndent": "keep"
      }
    }
  },
  "postCreateCommand": "pip install cfn-lint"
}

さいごに

以上、CloudFormation の開発環境について、オススメのツールや設定を紹介しました。
これらを使って、皆さんの開発が効率的に進めば幸いです。

Discussion