広告スペース(バナー)
🟪Terraform レッスン
Terraformの基本を知ろう5
リソースの定義と検証5
状態(state)を理解しよう4
変数と出力値4
モジュールとワークスペース5
プランの保存と高度な状態管理5
応用的なTerraformの機能8
レッスン 21 / 37

terraform workspaceとは?

「開発環境と本番環境を、同じ設定ファイルで別々に管理したい」というときに使うのがワークスペースです。ワークスペースは、同じ設定ファイルを使いながら、複数の独立したstate(状態)を切り替えて管理できる仕組みです。

デフォルトではdefaultという1つのワークスペースがありますが、stagingproductionといった名前のワークスペースを追加で作ることで、同じコードのまま環境ごとに別々のリソース・stateを管理できます。

ワークスペースを切り替えると、それぞれ独立したtfstateが使われるため、開発環境の変更が本番環境に影響することはありません。

よくあるつまずきは、ワークスペースだけで環境を完全に分離できると過信することです。設定ファイル自体は共通のため、環境固有の設定は変数などで別途工夫する必要があります。

実務では小規模なチームでの環境分離に使われる一方、大規模な組織ではディレクトリやリポジトリ自体を分ける方式が好まれることも多くあります。

Terraform
試してみよう(疑似ターミナルへの入力例)
terraform workspace list

🧑‍💻 このコマンドは Terraformの疑似ターミナル に実際に入力して試せます(このページ自体には操作可能なターミナルはありません)。

🎯
ここまでできればゴール達成!
環境ごとに状態を分離できる、ワークスペースの考え方が理解できるようになります。
広告スペース(バナー)
広告スペース(記事内)