広告スペース(バナー)
🟪Terraform レッスン
Terraformの基本を知ろう5▾
リソースの定義と検証5▾
状態(state)を理解しよう4▾
変数と出力値4▾
モジュールとワークスペース5▾
プランの保存と高度な状態管理5▾
レッスン 27 / 37
state lock(ロック)とは?
「チームの複数人が同時にapplyしたらどうなる?」という人向けです。state lockは、複数の人が同時に同じstateへ変更を加えてしまい、内容が壊れることを防ぐための排他制御の仕組みです。
誰かがapplyを実行している間、そのstateは「ロック」され、他の人が同時にapplyしようとしてもロックが解除されるまで待たされる(またはエラーになる)ようになっています。
リモートバックエンド(S3+DynamoDBなど)を使っている場合、このロック機構が自動的に働き、チームでの安全な共同作業を支えています。
よくあるつまずきは、apply中にターミナルを強制終了するなどして、ロックが解除されないまま残ってしまうことです。この場合はterraform force-unlockという緊急用コマンドで手動解除できますが、慎重な対応が必要です。
実務ではチームで同じインフラを管理する以上、ロック機構は欠かせない安全装置です。
Terraform
試してみよう(疑似ターミナルへの入力例)
❯ terraform state list
🧑💻 このコマンドは Terraformの疑似ターミナル に実際に入力して試せます(このページ自体には操作可能なターミナルはありません)。
🎯
ここまでできればゴール達成!
複数人が同時に操作して壊れないようにする、ステートロックの仕組みが理解できるようになります。
複数人が同時に操作して壊れないようにする、ステートロックの仕組みが理解できるようになります。
広告スペース(バナー)
広告スペース(記事内)