オススメのCloudFormation開発環境(2024/09版)
オススメの CloudFormation 開発環境
はじめに
みなさん、CloudFormation を使っていますか?
CloudFormation は AWS のリソースをコードで定義するためのサービスですが、スピーディに開発するためには、適切な開発環境が必要です。
今回は、CloudFormation の開発環境について、オススメのツールや設定を紹介します。
IDE
Visual Studio Code(VS Code)がオススメです。
プログラミング言語
Python をまず使えるようにしましょう。
理由としては、このあとに紹介するツールが Python で書かれていることが多いからです。
VS Code の設定
以下の設定を済ませておくと、CloudFormation の開発が捗ります。
日本語化
Japanese Language Packをインストールしておくと、日本語でエラーメッセージが表示されるようになります。
自動インデント設定の変更
CloudFormation は YAML 形式で書くことが多く、この形式はインデント(文字の右寄せ)が重要です。
ところが VS Code はデフォルトで、改行を入れると自動でインデントを再調整するため、予定していたインデントが崩れてしまうことがあります。
これを防ぐには「設定」画面からeditor.autoIndent
と検索し、出てきたEditor: Auto Indent
という項目の値をkeep
に変更してください。
インデントの可視化
Indent Rainbow という拡張機能を入れておくと、インデントの深さが色でわかりやすくなります。
警告/エラーの自動表示
Error Lensをインストールしておくと、エラーや警告が行に表示されるようになります。
静的解析
自動 Lint
CloudFormation Linterをインストールしておくと、保存時に自動で Lint を実行してくれます。
(OPTION)UIアイコンの変更
vscode-icons という拡張機能を入れておくと、ファイルの種類によってアイコンが変わり、見やすくなります。
(OPTION)テキスト校正支援
テキスト校正くん という拡張機能を入れておくと、日本語の文章の校正支援ができます。
(OPTION)無料のAI支援機能
Amazon Q という拡張機能を入れておくと、AWS のリソースをコードで定義する際に、AI がサジェストしてくれます。
(OPTION)WSL
Windowsの方は、WSLを使ってLinux環境を構築しておくと、Linuxで動くツールが容易に使えるようになります。
おまけ・Devcontainer設定
VS Code には、Docker コンテナーを使って開発環境をすばやく準備する機能があります。
以下に、今回の環境を満たす(と思われる).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