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

state lock(ロック)とは?

「チームの複数人が同時にapplyしたらどうなる?」という人向けです。state lockは、複数の人が同時に同じstateへ変更を加えてしまい、内容が壊れることを防ぐための排他制御の仕組みです。

誰かがapplyを実行している間、そのstateは「ロック」され、他の人が同時にapplyしようとしてもロックが解除されるまで待たされる(またはエラーになる)ようになっています。

リモートバックエンド(S3+DynamoDBなど)を使っている場合、このロック機構が自動的に働き、チームでの安全な共同作業を支えています。

よくあるつまずきは、apply中にターミナルを強制終了するなどして、ロックが解除されないまま残ってしまうことです。この場合はterraform force-unlockという緊急用コマンドで手動解除できますが、慎重な対応が必要です。

実務ではチームで同じインフラを管理する以上、ロック機構は欠かせない安全装置です。

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

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

🎯
ここまでできればゴール達成!
複数人が同時に操作して壊れないようにする、ステートロックの仕組みが理解できるようになります。
広告スペース(バナー)
広告スペース(記事内)