DevcontainerでTerraformの実行環境構築

Devcontainer

概要

Terraformについて勉強するために、Devcontainerで実行環境を構築しました。
Terraformを利用してAWS環境を構築できるようにしています。

実際にTerraformの公式チュートリアルを実施してみましたが、問題なく実施できました。
チュートリアル:Get Started – AWS

環境

Windows 11 Pro
Docker Desktop on Windows
VSCode

フォルダ構成

Terraform/ 
 └ .devcontainer/
    └ devcontainer.json

devcontainer.json

{
	"name": "Terraform",
	
	"image": "mcr.microsoft.com/devcontainers/base:debian",

	"features": {
    	"ghcr.io/devcontainers/features/terraform:1": {},
		"ghcr.io/devcontainers/features/aws-cli:1": {},
		"ghcr.io/devcontainers/features/docker-in-docker:2": {}
	},

	"mounts": [
		{
			"source": "${localEnv:USERPROFILE}/.aws",
			"target": "/home/vscode/.aws",
			"type": "bind"
		}
	]
}

name :UIに表示されるdevcontainerの名前
image :コンテナ環境を構築するためのベースイメージ
「mcr.microsoft.com/devcontainers/base:debian」はdebianの公式ベースイメージです。
features:言語/ツール/CLIをdevcontainerに追加できる
利用可能なものは公式featuresリポジトリから確認できます。
mounts :ローカル環境のフォルダをコンテナ内に共有できる
「${localEnv:USERPROFILE}」はWindows環境におけるユーザーのホームディレクトリを指す環境変数です。Linuxだと「${localEnv:HOME}」のようになります。

まとめ

今回はシンプルなTerraformの実行環境構築をDevcontainerを利用して構築してみました。
公式チュートリアルを行う分には十分でしたので、Terraformを少し触ってみたいという方にはおすすめの環境です!